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
220
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gaia Build System introduction
Yuren Ju
September 17, 2014
More Decks by Yuren Ju
See All by Yuren Ju
Taste Cucumber.js - JavaScript BDD Framework
yurenju
0
190
Code For America 見聞錄 - 社會安全網
yurenju
0
250
Impossible Election for recall in Taiwan
yurenju
1
520
物資管理系統與災民證
yurenju
0
1.1k
JavaScript 開發流程自動化懶人包
yurenju
38
6.1k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
8.1k
Loopback + Angular.js
yurenju
3
620
bifrost 物資管理系統
yurenju
4
330
Open Data Initiatives for Taiwan
yurenju
0
380
Other Decks in Technology
See All in Technology
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
2.1k
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
820
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
13
1.9k
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
1
260
cccccc
moznion
0
1.9k
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
180
Claude Codeとハーネスについて考えてみる
oikon48
18
9.1k
SRE Next 2026 何でも屋からの脱却
bto
0
460
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
2
3.4k
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
4
1.9k
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
660
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
270
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.6k
A Modern Web Designer's Workflow
chriscoyier
698
190k
So, you think you're a good person
axbom
PRO
2
2.1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
330
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
KATA
mclloyd
PRO
35
15k
Being A Developer After 40
akosma
91
590k
Statistics for Hackers
jakevdp
799
230k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
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