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
210
2
Share
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
180
Code For America 見聞錄 - 社會安全網
yurenju
0
240
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
600
bifrost 物資管理系統
yurenju
4
320
Open Data Initiatives for Taiwan
yurenju
0
370
Other Decks in Technology
See All in Technology
AI とサービス・デザイン / AI and Service Design
ks91
PRO
0
170
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
4
270
Oracle Cloud Infrastructure:2026年5月度サービス・アップデート
oracle4engineer
PRO
1
110
AIコーディングエージェントの活用で、コードは静かに肥大化した
yosukeshinoda
1
370
Javaで学ぶSOLID原則
negima
1
130
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
110
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.1k
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
280
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
3
620
freee-mcpを Local→Remote で出してわかった MCP認可実装のリアル
terara
3
640
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
140
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
15
14k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
190
How to train your dragon (web standard)
notwaldorf
97
6.6k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
360
We Have a Design System, Now What?
morganepeng
55
8.1k
Typedesign – Prime Four
hannesfritz
42
3k
Designing for Timeless Needs
cassininazir
1
230
Accessibility Awareness
sabderemane
1
130
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
540
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
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