Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gaia Build System introduction
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuren Ju
September 17, 2014
Technology
2
210
Gaia Build System introduction
Yuren Ju
September 17, 2014
Tweet
Share
More Decks by Yuren Ju
See All by Yuren Ju
Taste Cucumber.js - JavaScript BDD Framework
yurenju
0
170
Code For America 見聞錄 - 社會安全網
yurenju
0
230
Impossible Election for recall in Taiwan
yurenju
1
490
物資管理系統與災民證
yurenju
0
1k
JavaScript 開發流程自動化懶人包
yurenju
38
6.1k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
8k
Loopback + Angular.js
yurenju
3
580
bifrost 物資管理系統
yurenju
4
300
Open Data Initiatives for Taiwan
yurenju
0
350
Other Decks in Technology
See All in Technology
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
350
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
250
AWS Network Firewall Proxyを触ってみた
nagisa53
1
240
Agile Leadership Summit Keynote 2026
m_seki
1
650
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
1
2.8k
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
450
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
650
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.8k
Leo the Paperboy
mayatellez
4
1.4k
The Cult of Friendly URLs
andyhume
79
6.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Faster Mobile Websites
deanohume
310
31k
The SEO Collaboration Effect
kristinabergwall1
0
350
Marketing to machines
jonoalderson
1
4.6k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Embracing the Ebb and Flow
colly
88
5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
Yuren Gaia Build System
• generate profile directory • run tests (integration, unit, build,
lint) make
$ make
Make xpcshell ! Download xpcshell runtime
None
Xpcshell
:-(
Using CommonJs Just like ! var fs = require(‘fs’); fs.readFileSync(FILE,
{encoding: ‘UTF-8’});
xpcshell -f xpcshell-commonjs.js -e “run(BUILD_SCRIPT);” initial script build script
• Initial require() function • Binding work directory for first
argument of require() ! • utils => GAIA_DIR/build/utils.js • submodule => GAIA_DIR/apps/keyboard/build/submodule.js xpcshell-commonjs.js
pre-app.js
options Makefile - declare - export xpcshell-commonjs - get from
env variable
utils utils-node utils-xpc
• getFile(); • ls(nsIFile) • getFileContent(nsIFile) • writeContent(nsIFile) • ensureFolderExists(nsIFile)
utils • copyFileTo() • log() • Commander • scriptLoader.load()
build modules
src dirs stage dir profile dir
build modules
• make build-test-integration • make build-test-unit test