2016-10-19 2 views
0

私は 'gradle build -x test'を実行できますが、自分のプロジェクトをすべてビルドしますが、テストを完全に無視するカスタムGradleタスク(buildNoTestsなど)を作成する方法はあります(コンパイル/実行しないでください)。それら)?テストなしですべてのプロジェクトをビルドするためのカスタムGradleタスク?

「アセンブル」タスクは、テストではなく「ビルド」タスクに含まれる他のタスクを見逃す可能性があるため、十分ではありません。

答えて

1

ルートにbuild.gradle

allprojects { 
    afterEvaluate { 
     def buildTask = tasks.findByPath('build') 
     if (buildTask) { 
      task buildNoTests { 
       dependsOn buildTask 
      } 
      gradle.taskGraph.whenReady { TaskExecutionGraph graph -> 
       if (graph.hasTask(buildNoTests)) { 
        def skipNames = ['test', 'compileTestJava', 'processTestResources', 'testClasses'] as Set 
        Collection<Task> testTasks = graph.allTasks.findAll { skipNames.contains(it.name) } 
        testTasks.each { it.enabled = false } 
       } 
      } 
     } 
    } 
} 
+0

これを入れて、私は私のルートgradle.buildファイルにこれを入れてみましたが、それは何もしません。 root gradle.buildファイルに入れば違うはずですか?ここでは、Gradle出力のスクリーンショット(前にクリーニング済み):http://i.imgur.com/w8WEwMX.png – Tsury

+0

それは私によく見えます!すべてがUP-DATEであり、テストはスキップされます。 –

+0

ビルドを実際に実行したい場合は 'gradle clean buildNoTests'を試してみてください。ちょうど試しました。私の特定のプロジェクトはクリーンアップしますが、後でビルドしません。 i.imgur.com/GP107KS.png – Tsury

関連する問題