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
190
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
110
Code For America 見聞錄 - 社會安全網
yurenju
0
170
Impossible Election for recall in Taiwan
yurenju
1
430
物資管理系統與災民證
yurenju
0
920
JavaScript 開發流程自動化懶人包
yurenju
38
6k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
8k
Loopback + Angular.js
yurenju
3
530
bifrost 物資管理系統
yurenju
4
280
Open Data Initiatives for Taiwan
yurenju
0
270
Other Decks in Technology
See All in Technology
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
500
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
120
生成AI × 旅行 LLMを活用した旅行プラン生成・チャットボット
kominet_ava
0
160
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
140
Azureの開発で辛いところ
re3turn
0
240
生成AIのビジネス活用
seosoft
0
110
AWS re:Invent 2024 recap in 20min / JAWSUG 千葉 2025.1.14
shimy
1
100
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
170
自社 200 記事を元に整理した読みやすいテックブログを書くための Tips 集
masakihirose
2
330
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
13
2.3k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
1
16k
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
7
6.5k
Featured
See All Featured
The Language of Interfaces
destraynor
155
24k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Building Your Own Lightsaber
phodgson
104
6.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Pragmatic Product Professional
lauravandoore
32
6.4k
GitHub's CSS Performance
jonrohan
1030
460k
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