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
180
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
100
Code For America 見聞錄 - 社會安全網
yurenju
0
140
Impossible Election for recall in Taiwan
yurenju
1
400
物資管理系統與災民證
yurenju
0
870
JavaScript 開發流程自動化懶人包
yurenju
38
6k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
7.9k
Loopback + Angular.js
yurenju
3
510
bifrost 物資管理系統
yurenju
4
270
Open Data Initiatives for Taiwan
yurenju
0
240
Other Decks in Technology
See All in Technology
OR学会2024秋_短期収益と将来のオフ方策評価性能を考慮したクーポン割当方策混合比の決定
recruitengineers
PRO
4
470
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
190
Next.js のページ遷移を全力で止める
ypresto
8
3.4k
タイミーのレコメンドにおける ABテストの運用
ozeshun
1
190
突撃! 隣のAmazon Bedrockユーザー 〜YouはどうしてAWSで?〜
minorun365
PRO
3
390
watsonx.ai Dojo 環境準備について
oniak3ibm
PRO
0
340
とあるOSSを継続可能にするための取り組みについて / OSS Refactoring Process
bun913
1
210
「家族アルバム みてね」における運用管理・ オブザーバビリティの全貌 / Overview of Operation Management and Observability in FamilyAlbum
isaoshimizu
4
160
20240912 JJUGナイトセミナー
mii1004
0
140
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
140
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
0
110
「自動テストのプラクティスを効果的に学ぶためのカードゲーム」 ( #sqip2024 )
teyamagu
PRO
2
180
Featured
See All Featured
Designing with Data
zakiwarfel
98
5k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Side Projects
sachag
451
42k
[RailsConf 2023] Rails as a piece of cake
palkan
48
4.6k
Infographics Made Easy
chrislema
239
18k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
24
610
Clear Off the Table
cherdarchuk
91
320k
GitHub's CSS Performance
jonrohan
1030
450k
Unsuck your backbone
ammeep
667
57k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
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