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
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
120
[OAWTT26][THR1028] Oracle AI Database 26ai へのアップグレード:ベストプラクティスと最新情報
oracle4engineer
PRO
1
110
Do Ruby::Box dream of Modular Monolith?
joker1007
1
340
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
11
32k
Hacobu Tech Deck
hacobu
PRO
0
110
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
230
Bill One 開発エンジニア 紹介資料
sansan33
PRO
6
18k
マルチエージェント × ハーネスエンジニアリング × GitLab Duo Agent Platformで実現する「AIエージェントに仕事をさせる時代へ。」 / 20260421 GitLab Duo Agent Platform
n11sh1
0
160
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
910
昔はシンプルだった_AmazonS3
kawaji_scratch
0
330
AndroidアプリとCopilot Studioの統合
nakasho
0
100
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
330
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
260
ラッコキーワード サービス紹介資料
rakko
1
3.1M
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
130
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
Embracing the Ebb and Flow
colly
88
5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
Agile that works and the tools we love
rasmusluckow
331
21k
The browser strikes back
jonoalderson
0
970
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
190
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