Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
CLI APPS. FOR FUN AND PROFIT @SUPERMARIN
Slide 2
Slide 2 text
WHEN FUNCTIONALITY NOT SUPPORTED BY GUI IT'S HARD TO AUTOMATE TASKS ENDLESS POSSIBILITIES
Slide 3
Slide 3 text
HOW DO I RUBY, GO, PYTHON, EVEN OBJECTIVE-C
Slide 4
Slide 4 text
PIPELINE CAT BUILD.LOG | GREP ERROR | WC -L
Slide 5
Slide 5 text
STATUS CODES $ XCODEBUILD | TEE XCODEBUILD.LOG | XCPRETTY
Slide 6
Slide 6 text
XCODEBUILD FAILS, STATUS 0
Slide 7
Slide 7 text
PIPESTATUS [] $ xcodebuild | tee output.log | xcpretty $? => 0 ${PIPESTATUS[0]} => 65 ${PIPESTATUS[2]} => 0 $ xcodebuild | tee output.log | xcpretty; exit ${PIPESTATUS[0]}
Slide 8
Slide 8 text
SET -O PIPEFAIL $ xcodebuild | tee output.log | xcpretty $ echo $? => 65
Slide 9
Slide 9 text
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 |
Slide 10
Slide 10 text
#! #!/USR/BIN/ENV RUBY
Slide 11
Slide 11 text
POSIX FLAGS $ COMMAND --VERBOSE --COLOR = $ COMMAND -VC (ONLY IN SILICON VALLEY)
Slide 12
Slide 12 text
CLI FRAMEWORKS DON'T DIY
Slide 13
Slide 13 text
XCPRETTY GITHUB.COM/SUPERMARIN/XCPRETTY
Slide 14
Slide 14 text
SUCH HTML
Slide 15
Slide 15 text
WHY IN THE WORLD? THERE'S XCTOOL
Slide 16
Slide 16 text
XCTOOL(XCODEBUILD) -FLAG -FLAG WRAPPING XCODEBUILD, RECREATING FLAGS
Slide 17
Slide 17 text
XCODEBUILD -FLAG -FLAG | XCPRETTY USING VANILLA XCODEBUILD
Slide 18
Slide 18 text
XCTOOL - TESTS maintaining separate settings XCODEBUILD - BETA XCODEBUILD - APPSTORE maintaining separate settings
Slide 19
Slide 19 text
USED BY RUBYMOTION FACEBOOK (POP) AFNETWORKING KIWI YAMMER THOUGHTBOT MANY OTHERS
Slide 20
Slide 20 text
<3 HIPBYTE YAMMER @KATTRALI