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
190
Impossible Election for recall in Taiwan
yurenju
1
450
物資管理系統與災民證
yurenju
0
950
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
290
Other Decks in Technology
See All in Technology
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
0
130
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
150
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
2
460
Microsoft Fabric vs Databricks vs (Snowflake) -若手エンジニアがそれぞれの強みと違いを比較してみた- "A Young Engineer's Comparison of Their Strengths and Differences"
reireireijinjin6
1
130
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
7
63k
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
190
Global Azure2025(GitHub Copilot ハンズオン)
tomokusaba
0
240
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
4
640
品質文化を支える小さいクロスファンクショナルなチーム / Cross-functional teams fostering quality culture
toma_sm
0
180
ペアーズにおける評価ドリブンな AI Agent 開発のご紹介
fukubaka0825
8
2.2k
クラウドネイティブ環境の脅威モデリング
kyohmizu
1
310
AIエージェント開発手法と業務導入のプラクティス
ykosaka
9
2.7k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
690
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Being A Developer After 40
akosma
91
590k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Become a Pro
speakerdeck
PRO
28
5.3k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
830
Git: the NoSQL Database
bkeepers
PRO
430
65k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
410
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