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
CLI apps. For fun and profit
Search
Marin Usalj
May 29, 2014
Programming
4
16k
CLI apps. For fun and profit
Talk given at Cocoa Kucha on #inspect conference, May 2014
Marin Usalj
May 29, 2014
Tweet
Share
More Decks by Marin Usalj
See All by Marin Usalj
Code signing on iOS/OSX
supermarin
2
450
Launch Arguments - the mysteries
supermarin
1
190
Swift for CLI tools
supermarin
16
25k
CocoaPods intro
supermarin
2
210
Private pods - best practices
supermarin
1
150
Alcatraz internals
supermarin
2
260
ObjectiveSugar & ObjectiveRecord
supermarin
5
520
Alcatraz - Xcode package manager
supermarin
3
290
BubbleWrap
supermarin
3
310
Other Decks in Programming
See All in Programming
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
120
SideKiqでジョブが二重起動した事象を深堀りしました
t_hatachi
0
270
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
670
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
personabb
0
160
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
750
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
120
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
2.2k
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
170
CTFのWebにおける⾼難易度問題について
hamayanhamayan
1
1k
SQL Server ベクトル検索
odashinsuke
0
140
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
230
なぜselectはselectではないのか
taiyow
2
320
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
BBQ
matthewcrist
88
9.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Typedesign – Prime Four
hannesfritz
41
2.6k
Producing Creativity
orderedlist
PRO
344
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
4 Signs Your Business is Dying
shpigford
183
22k
Building an army of robots
kneath
304
45k
Unsuck your backbone
ammeep
670
57k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Making Projects Easy
brettharned
116
6.1k
Transcript
CLI APPS. FOR FUN AND PROFIT @SUPERMARIN
WHEN FUNCTIONALITY NOT SUPPORTED BY GUI IT'S HARD TO AUTOMATE
TASKS ENDLESS POSSIBILITIES
HOW DO I RUBY, GO, PYTHON, EVEN OBJECTIVE-C
PIPELINE CAT BUILD.LOG | GREP ERROR | WC -L
STATUS CODES $ XCODEBUILD | TEE XCODEBUILD.LOG | XCPRETTY
XCODEBUILD FAILS, STATUS 0
PIPESTATUS [] $ xcodebuild | tee output.log | xcpretty $?
=> 0 ${PIPESTATUS[0]} => 65 ${PIPESTATUS[2]} => 0 $ xcodebuild | tee output.log | xcpretty; exit ${PIPESTATUS[0]}
SET -O PIPEFAIL $ xcodebuild | tee output.log | xcpretty
$ echo $? => 65
BEWARE OF YOUR $SHELL | $SHELL | Exit status |
Pipe status | Set a var | |--------|-------------|---------------|-------------| | bash | $? | $PIPESTATUS | export VAR= | |--------|-------------|---------------|-------------| | zsh | $status | $pipestatus | export VAR= | |--------|-------------|---------------|-------------| | fish | $status | / | set -x VAR |
#! #!/USR/BIN/ENV RUBY
POSIX FLAGS $ COMMAND --VERBOSE --COLOR = $ COMMAND -VC
(ONLY IN SILICON VALLEY)
CLI FRAMEWORKS DON'T DIY
XCPRETTY GITHUB.COM/SUPERMARIN/XCPRETTY
SUCH HTML
WHY IN THE WORLD? THERE'S XCTOOL
XCTOOL(XCODEBUILD) -FLAG -FLAG WRAPPING XCODEBUILD, RECREATING FLAGS
XCODEBUILD -FLAG -FLAG | XCPRETTY USING VANILLA XCODEBUILD
XCTOOL - TESTS maintaining separate settings XCODEBUILD - BETA XCODEBUILD
- APPSTORE maintaining separate settings
USED BY RUBYMOTION FACEBOOK (POP) AFNETWORKING KIWI YAMMER THOUGHTBOT MANY
OTHERS
<3 HIPBYTE YAMMER @KATTRALI