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
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
230
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
Models vs Bounded Contexts for Domain Modularizati...
ewolff
0
160
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
330
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
220
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
180
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
330
ソフトとハード両方いけるデータ人材の育て方
waiwai2111
0
150
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
21k
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
450
Databricks Free Editionで始めるLakeflow SDP
taka_aki
0
100
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
220
Featured
See All Featured
KATA
mclloyd
PRO
33
15k
Google's AI Overviews - The New Search
badams
0
890
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Into the Great Unknown - MozCon
thekraken
40
2.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
46
The agentic SEO stack - context over prompts
schlessera
0
590
Agile that works and the tools we love
rasmusluckow
331
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
A Modern Web Designer's Workflow
chriscoyier
698
190k
The Limits of Empathy - UXLibs8
cassininazir
1
200
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
210
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