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
150
Code For America 見聞錄 - 社會安全網
yurenju
0
210
Impossible Election for recall in Taiwan
yurenju
1
480
物資管理系統與災民證
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
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
500
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
200
社内お問い合わせBotの仕組みと学び
nish01
1
530
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
500
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
110
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
240
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
120
実装で解き明かす並行処理の歴史
zozotech
PRO
1
660
The Cake Is a Lie... And So Is Your Login’s Accessibility
leichteckig
0
100
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
250
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
5
770
許しとアジャイル
jnuank
1
140
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.8k
Practical Orchestrator
shlominoach
190
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Speed Design
sergeychernyshev
32
1.2k
How to Ace a Technical Interview
jacobian
280
24k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Automating Front-end Workflow
addyosmani
1371
200k
Facilitating Awesome Meetings
lara
56
6.6k
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