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
120
Code For America 見聞錄 - 社會安全網
yurenju
0
200
Impossible Election for recall in Taiwan
yurenju
1
460
物資管理系統與災民證
yurenju
0
960
JavaScript 開發流程自動化懶人包
yurenju
38
6k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
8k
Loopback + Angular.js
yurenju
3
550
bifrost 物資管理系統
yurenju
4
290
Open Data Initiatives for Taiwan
yurenju
0
300
Other Decks in Technology
See All in Technology
いまさら聞けない Git 超入門 〜Gitって結局なに?から始める第一歩〜
devops_vtj
0
170
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
技術書典18結果報告
mutsumix
2
180
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
ローカル環境でAIを動かそう!
falken
PRO
1
170
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
740
ソフトウェアは捨てやすく作ろう/Let's make software easy to discard
sanogemaru
10
5.8k
テストを実施する前に考えるべきテストの話 / Thinking About Testing Before You Test
nihonbuson
PRO
14
2.1k
What's Next in OpenShift Q2 CY2025
redhatlivestreaming
1
830
SmartHRの複数のチームにおけるMCPサーバーの活用事例と課題
yukisnow1823
2
1.2k
アプリケーションの中身が見える!Mackerel APMの全貌と展望 / Mackerel APMリリースパーティ
mackerelio
0
450
Contract One Dev Group 紹介資料
sansan33
PRO
0
6k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
850
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Music & Morning Musume
bryan
47
6.6k
Art, The Web, and Tiny UX
lynnandtonic
298
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
750
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Side Projects
sachag
454
42k
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