2016-10-26 6 views
0

ビルドに失敗したりエラーを無視したりする2つのチェックスタイルタスクを設定するのに手伝ってください。残念ながら、私はそれを自分で行うには十分な知識がありません。 checkstyleMain、checkstyleTest:別の動作を変更するグラードタスク

私は

apply plugin: 'checkstyle' 
checkstyle { 
    toolVersion = "7.1.1" 
    sourceSets = [sourceSets.main] 
    ignoreFailures = true 
    showViolations = true 
    reportsDir = file("$project.buildDir/checkstyleReports") 
    configFile = file("$rootDir/gradle/checkstyle.xml") 
    configProperties = ['baseDir': "$project.projectDir"] 
} 

のCheckstyleプラグインのCheckstyle構成を有しているが、別のタスクを追加します。

checkstyleMain { 
    ignoreFailures = true 
} 

task forceCheckstyleMain(type: Checkstyle) { 
    ignoreFailures = false 
} 
+0

を働くあなただけのタスクを拡張したり、それを上書きしますか? –

+0

私は、オーバーライドが拡張後にのみ可能だと思った。 主なアイデア:checkstyleMainをignoreFailures = falseで実行する新しいタスクが必要です。 checkstyleには2つのタスクがあります。まず、checkstyle違反で失敗を無視し、2回目の失敗をビルドします。 – Geniy

+0

あなたが示したコードで動作するはずです。表示されるエラーは何か、結果は何ですか? –

答えて

0

することができます:私は、次の方法(しかし、それは動作しません)でそれを見るcheckstyleMainを拡張する新しいタスクを作成しますが、プロパティにignoreFailures

をオーバーライドする必要が

https://discuss.gradle.org/t/gradle-task-that-changes-behavior-of-another-one/20295/7

答えは私の質問では次の方法で解決することができます

checkstyleMain { 
    gradle.taskGraph.whenReady { graph -> 
     ignoreFailures = !graph.hasTask(":" + project.name + ":forceCheckstyleMain") 
    } 
} 

task forceCheckstyleMain(dependsOn: 'checkstyleMain') { 
} 

は多分それが最善の解決策ではありませんが、それは短いですし、それが

関連する問題