Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
170
Code For America 見聞錄 - 社會安全網
yurenju
0
220
Impossible Election for recall in Taiwan
yurenju
1
490
物資管理系統與災民證
yurenju
0
1k
JavaScript 開發流程自動化懶人包
yurenju
38
6.1k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
8k
Loopback + Angular.js
yurenju
3
580
bifrost 物資管理系統
yurenju
4
300
Open Data Initiatives for Taiwan
yurenju
0
340
Other Decks in Technology
See All in Technology
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
250
シニアソフトウェアエンジニアになるためには
kworkdev
PRO
3
200
Identity Management for Agentic AI 解説
fujie
0
140
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
180
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
230
Agent Skillsがハーネスの垣根を超える日
gotalab555
1
530
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
0
150
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
300
ActiveJobUpdates
igaiga
1
240
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
330
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
460
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
sagara
0
180
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
39k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Visualization
eitanlees
150
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
87
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How to Talk to Developers About Accessibility
jct
1
81
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
170
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
240
Mobile First: as difficult as doing things right
swwweet
225
10k
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