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
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
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
1
570
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
140
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
130
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
780
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
2
2.2k
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
190
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
260
Webとヘルスデータ
yukukotani
0
180
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
120
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
820
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
150
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
130
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Amusing Abliteration
ianozsvald
1
290
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
890
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