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
1.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
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
540
Chasing Real-Time Observability for CRuby
whitegreen
0
120
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
Digitization部 紹介資料
sansan33
PRO
1
7.3k
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
10
32k
インターネットの技術 / Internet technology
ks91
PRO
0
210
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
Amazon S3 Filesについて
yama3133
2
210
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
210
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
EarthCopilotに学ぶマルチエージェントオーケストレーション
nakasho
0
300
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
0
700
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
190
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
エンジニアに許された特別な時間の終わり
watany
106
240k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Designing for Timeless Needs
cassininazir
0
190
Navigating Weather and Climate Data
rabernat
0
170
From π to Pie charts
rasagy
0
160
The Cult of Friendly URLs
andyhume
79
6.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
110
Facilitating Awesome Meetings
lara
57
6.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
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