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
210
2
Share
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
180
Code For America 見聞錄 - 社會安全網
yurenju
0
240
Impossible Election for recall in Taiwan
yurenju
1
510
物資管理系統與災民證
yurenju
0
1k
JavaScript 開發流程自動化懶人包
yurenju
38
6.1k
Code Coverage -- Javascript Frontend + Backend
yurenju
14
8.1k
Loopback + Angular.js
yurenju
3
590
bifrost 物資管理系統
yurenju
4
310
Open Data Initiatives for Taiwan
yurenju
0
360
Other Decks in Technology
See All in Technology
Network Firewall Proxyで 自前プロキシを消し去ることができるのか
gusandayo
0
150
不確実性と戦いながら見積もりを作成するプロセス/mitsumori-process
hirodragon112
1
170
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
170
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
300
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
脳が溶けた話 / Melted Brain
keisuke69
1
1.2k
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
120
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
230
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
400
JEDAI認定プログラム JEDAI Order 2026 受賞者一覧 / JEDAI Order 2026 Winners
databricksjapan
0
420
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
250
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
600
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
Ruling the World: When Life Gets Gamed
codingconduct
0
190
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
110
Music & Morning Musume
bryan
47
7.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
A designer walks into a library…
pauljervisheath
210
24k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
エンジニアに許された特別な時間の終わり
watany
106
240k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
320
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