Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Gaia Build System introduction
Search
Yuren Ju
September 17, 2014
Technology
220
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
200
Code For America 見聞錄 - 社會安全網
yurenju
0
250
Impossible Election for recall in Taiwan
yurenju
1
530
物資管理系統與災民證
yurenju
0
1.1k
JavaScript 開發流程自動化懶人包
yurenju
38
6.1k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
8.2k
Loopback + Angular.js
yurenju
3
620
bifrost 物資管理系統
yurenju
4
340
Open Data Initiatives for Taiwan
yurenju
0
390
Other Decks in Technology
See All in Technology
enechainの内製セルフサービスプラットフォーム
hiyosi
0
160
NW運用でNWトポロジ可視化ツールに期待すること/shumoku-meetup1
corestate55
2
120
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
110
Code4Lib JAPANカンファレンス2026 開会挨拶 / Code4Lib JAPAN Conference 2026: Opening Remarks
ykiyota
0
340
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
140
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
340
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
620
Gitは怖い?共有ワークスペースから始めるSnowflakeチーム開発
coco_se
0
170
家のリアーキテクト・リファクタリング
suguruooki
0
120
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
940
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
470
AIオーケストレーションを活用した 開発ワークフローの設計と実践
bqnq
0
140
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Discover your Explorer Soul
emna__ayadi
2
1.3k
We Are The Robots
honzajavorek
0
360
The Limits of Empathy - UXLibs8
cassininazir
1
650
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
980
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
520
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Agile that works and the tools we love
rasmusluckow
331
22k
Designing for Performance
lara
611
70k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
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