はじめに
個人開発をしていく中で、Mintを使ってSwiftLintを導入することがあったので、学習のアウトプットとして残していこうと思います!!
Mintとは
今回のメインテーマではないので一言で簡単に説明すると、Swiftのコマンドラインツールを簡単に管理してくれるものです!
ex. Swiftのコマンドラインツール
- SwiftLint
- SwiftFormat
- SwiftGen
などなど...
上記の3つが、自分が学習したことがあるものなので、今回はSwiftLintに注目してアウトプットして行きたいと思います!
他の二つも後程挙げて行きたいと思います!
※Mintのセットアップは以下の記事を参考に学習させていただきました🙇
https://qiita.com/uhooi/items/6a41a623b13f6ef4ddf0
https://blog.mothule.com/ios/mint/ios-mint-basic-usage
SwiftLintって何?
概要
コードの可読性や保守性、一貫性を高めるために、開発者があらかじめ設定したコーディング規約に従って、自動でチェックしてくれるものです!また、コードを自動で修正してくれたりもします!
Mintを使ったインストール方法
以下のコマンドを打つことで、インストールしてくれます!
$ mint install realm/SwiftLint
ただチーム開発の現場では、複数のコマンドラインツールやバージョンを管理したいことから導入することがほとんどだと思うので、Mintfile
を作成してそこに記述していきます!
realm/SwiftLint@0.50.3 // ☜ 今回はこれです!!
nicklockwood/SwiftFormat@0.51.1
SwiftGen/SwiftGen@6.6.2
次に以下のコマンドを打つことでまとめてインストールしてくれます!
$ mint bootstrap
以上でインストールは完了になります
基本的なコマンド
以下のコマンドでコーディングルールに従って、チェックしてくれます!
$ mint run swiftlint
次のコマンドはコーディングルールに従って自動修正してくれます!
$ mint run swiftlint --fix
スクリプトへの記載方法
ただ、いちいちコマンドを入力するのは少しめんどくさい...
そういった時にはXcodeのビルド設定を開き、Run Scriptを追加してあげましょう!
export PATH=/opt/homebrew/bin:$PATH
if which mint >/dev/null; then
xcrun --sdk macosx mint run swiftlint swiftlint --fix
xcrun --sdk macosx mint run swiftlint swiftlint
else
echo "warning: Mint not installed, download from https://github.com/yonaskolb/Mint"
fi
上記を記述してあげることにより、ビルド実行前に自動実行してくれます!
※上記の記述内容について
- pathをとおすことが重要! -> Mintのインストール場所を指します!
-
xcrun --sdk macosx
-> どうやら必要らしい!笑
コーディングルールの設定方法について
SwiftLintがデフォルトで設定されているものでコードチェックこのままできますが、コーディングルールを自分で作成することもできます!
そのためには.swiftlint.yml
ファイルを作成してあげましょう!
そこのファイル内にオリジナルのルールを書いてあげればOKです!
ルールの詳細について下記を参考にしました!
https://realm.github.io/SwiftLint/rule-directory.html
最後に
以上でMintを使ってSwiftLintを導入することができました!
間違えてる部分等ありましたら、ご指摘いただければ幸いです🙇
これからもiOSエンジニアを目指して日々の学習をアウトプットしていきます!
参考
下記サイトを参考にさせていただきました!
大変勉強になりました✨