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
Yuren Ju
September 17, 2014
Technology
2
200
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
140
Code For America 見聞錄 - 社會安全網
yurenju
0
210
Impossible Election for recall in Taiwan
yurenju
1
470
物資管理系統與災民證
yurenju
0
990
JavaScript 開發流程自動化懶人包
yurenju
38
6.1k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
8k
Loopback + Angular.js
yurenju
3
580
bifrost 物資管理系統
yurenju
4
290
Open Data Initiatives for Taiwan
yurenju
0
320
Other Decks in Technology
See All in Technology
PythonとLLMで挑む、 4コマ漫画の構造化データ化
esuji5
0
120
about #74462 go/token#FileSet
tomtwinkle
1
260
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
310
#普通の文系サラリーマンチャレンジ 自分でアプリ開発と電子工作を続けたら人生が変わった
tatsuya1970
0
840
pprof vs runtime/trace (FlightRecorder)
task4233
0
140
実装で解き明かす並行処理の歴史
zozotech
PRO
1
120
GopherCon Tour 概略
logica0419
2
160
あなたのWebサービスはAIに自動テストしてもらえる?アクセシビリティツリーで読み解く、AIの『視点』
yusukeiwaki
1
3.4k
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
550
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
120
Findy Team+のSOC2取得までの道のり
rvirus0817
0
240
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
170
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Documentation Writing (for coders)
carmenintech
75
5k
Git: the NoSQL Database
bkeepers
PRO
431
66k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Why Our Code Smells
bkeepers
PRO
339
57k
Done Done
chrislema
185
16k
GraphQLとの向き合い方2022年版
quramy
49
14k
Unsuck your backbone
ammeep
671
58k
Balancing Empowerment & Direction
lara
4
670
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
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