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
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
340
Other Decks in Technology
See All in Technology
Claude Codeを使った情報整理術
knishioka
18
11k
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
5
1.9k
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
590
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
170
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
59k
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
小さく、早く、可能性を多産する。生成AIプロジェクト / prAIrie-dog
visional_engineering_and_design
0
320
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
0
750
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
290
I tried making a solo advent calendar!
zzzzico
0
130
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
120
Qiita Bash アドカレ LT #1
okaru
0
150
Featured
See All Featured
Side Projects
sachag
455
43k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
130
Believing is Seeing
oripsolob
0
19
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building AI with AI
inesmontani
PRO
1
610
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
New Earth Scene 8
popppiees
0
1.3k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Designing Experiences People Love
moore
143
24k
So, you think you're a good person
axbom
PRO
0
1.9k
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