7

Spotless プラグインの readme に従い、build.gradle に以下を含めました。

apply plugin: 'java'

spotless {
    java {
        eclipseFormatFile 'my-eclipse-format.xml' 
    }
}

「gradlew build」を実行すると、Spotless が a) 上記の形式を使用してコードを自動的にフォーマットすることを期待します。b) チェック (つまり、spotlessJavaCheck) を実行して、それが発生したことを確認します。

代わりに、b) の部分だけが機能します。ビルドステップを実行するときに a) (フォーマット) が自動的に行われるようにするにはどうすればよいですか? 「gradlew spotlessApply build」を明示的に呼び出したくはありませんが、「gradlew build」のみを呼び出します。

「build { dependsOn spotlessApply } を追加しようとしましたが、「プロパティ spotlessApply が見つかりません」と表示されます。

4

1 に答える 1

6

今後の参考のために、Spotless の GitHub の問題は、Spotless について質問するのに最適な場所です。すべてを 1 か所にまとめます。

Spotless の意図した動作は、 に問題があることを知らせることですspotlessCheckspotlessApply次に、手動で実行します。

他の方法で行うことの問題は、悪いコミットについて決してわからないことです。不適切な形式のコードをコミットすると、CI サーバーは で形式を修正し、形式spotlessApplyが で修正されていることを確認して、spotlessCheck「このコードは適切です!」と言います。実際に誰かが間違ったフォーマットで何かをコミットしたとき。

それでも必要なものが必要な場合は、次のように実行できます。

afterEvaluate {
    tasks.getByName('spotlessCheck').dependsOn(tasks.getByName('spotlessApply'))
}
于 2016-11-04T23:48:28.327 に答える