概要
この記事ではSwiftの静的コード解析を行えるTailorの使い方を紹介しています。
いわゆるチェックスタイルをしてくれるツールです。
実行環境がJavaのためMac/Linux/Windowsのクロスプラットフォームで使えるのが特徴です。
前準備
Tailorを使う場合、JDK8以上が必要になります。
Java7以前を使っている場合は新しいバージョンをインストールする必要があります。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
インストール
Tailorの特徴としてクロスプラットフォームに対応しています。
どのプラットフォームでもコマンド一発で入るようになっているみたいです。
https://github.com/sleekbyte/tailor#getting-started
MacでHomebrewを使っている場合は
$ brew install tailor
使い方
インストールが完了している場合は、tailorコマンドが使えるようになっているはずです。
基本
単一ファイルに実行する場合
tailor {対象のSwiftファイル}
ディレクトリ配下のすべてのファイルに実行する場合
tailor .
実行オプション
Tailorには実行時に使えるいくつかのオプションも用意されています。
よく使いそうなものを抜粋して紹介します。
--show-rules
適応できる静的コード解析のルールを表示します。
tailor --show-rules
-c {path/to/.tailor.yml}
Tailorでは実行時のルールやチェックツールをyaml形式で記述できます。
それをコマンドで指定するためのオプションになります。
以下のような記述でルールを指摘できます。
include: # チェック対象とするファイル/ディレクトリ
- Source # Source配下おすべてのファイルを対象とする
exclude: # チェック対象から除外するファイル
- '**Tests.swift'
- Source/Pods
except: # チェックから除外する項目
- lower-camel-case
- trailing-whitespace
※ eceptに記述できる条件と説明はさきほどのshow-rulesオプションで確認できます。
-f
出力結果のフォーマットを指定できます。
jsonやhtmlなどが用意されています。
--xcode={path/to/project.xcodeproj}
XCodeのビルドスクリプトにTailorを追加します。
さいごに
使い方もシンプルで簡単に導入できるツールでした。
クロスプラットフォームで実行できるため、CIツールとも相性が良さそうですね。
参考
-
GitHub - sleekbyte/tailor
https://github.com/sleekbyte/tailor -
[Swift] TailorでSwiftのコードを静的解析!
http://dev.classmethod.jp/smartphone/swift-tailor/