xccache-sweeperというgolang製CLIを作ってる

github.com

f:id:yutailang0119:20180727175550p:plain

Swiftで作ってるxcopenよりも前に作っていた。 yutailang0119.hatenablog.com

DeviceSupportが溜まってきてて、不便を感じてきたので、アップデートした。

READMEから引用

READMEに書いてるけど、一応説明

Instllation

$ go get github.com/yutailang0119/xccache-sweeper

こっちはgolang製なので、go get だけで使い始めることができて、golangの恩恵という感じ *1

Usage

NAME:
   xccache-sweeper - Sweep Xcode caches

USAGE:
   xccache-sweeper [global options] command [command options] [arguments...]

VERSION:
   0.1.0

COMMANDS:
     archives       Sweep Archives. Defaults is /Users/user/Library/Developer/Xcode/Archives
     deriveddata    Sweep DerivedData. Defaults is /Users/user/Library/Developer/Xcode/DerivedData
     caches         Sweep Archives and DerivedData.
     devicesupport  Sweep Device Support. ~/Library/Developer/Xcode/*DeviceSupport
     help, h        Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

Xcodeのデフォルトの設定だと ~/Library/Developer/Xcode/ に追加されていくデータ郡の掃除用のCLIだと思ってもらうとよい。 *2

所感

前に xccache-sweeper というCLIも作ったが、これはgolangで作った。 この時はSwift PM Package.swiftでかなり疲弊して、Swiftで作るのを断念したので、今回はSwiftで作るぞ!とやった。 ツール自体のロジックは、普段使い慣れているSwiftなので、非常に書きやすかった。

xcopenというSwift製CLIを作った - がんばってなんか書く

環境構築やMakefileの書き方、CLIのarguments perserは圧倒的にgolangの方が楽。
golang製のCLIツールはいっぱいあるので、参考にできるものが多いし、SwiftPM Utilityは癖が強い。

一方で、やはりgolangは書き慣れてなくて、お作法がわかってないことも多いし、やっぱりSwift好きだなと思った。
でも、golangももうちょっとマシに書けるようになりたい。
APIサーバーくらいは書いて、もっと手になじませたい。

xccache-sweeperもアップデート続けます。

*1:xcopenはMintで簡単に入れれるので、ぜひ使ってほしい (コントリビュート続けてる)

*2:今気づいたけど、pathの部分の書き方がバラバラだし、バージョン番号もミスってるので直したい...