1
私は単純なproject with subprojectsを持っており、gradle test
コマンドを実行するとすべてのテストの集計レポートを生成します。すべてのサブモジュールのテストフェーズの後にtestReportタスクを実行します
私はgradle documentationに続いて、次の追加しました:
task testReport(type: TestReport) {
// make sure this task is run after all subproject test tasks
mustRunAfter subprojects*.test
destinationDir = file("$buildDir/reports/allTests")
// Include the results from the `test` task in all subprojects
reportOn subprojects*.test
}
私はgradle test testReport
を実行したときにこれは動作しますが、私は、ルートプロジェクトにgradle test
またはgradle build
を実行したとき - タスクtestReport
が実行されません。
毎回それを指定せずにタスクを実行するにはどうすればよいですか?
こんにちは、あなたの答えに感謝します。あなたのソリューションは次のエラーメッセージを表示します: 'ルートプロジェクトで' test 'というプロパティを見つけることができませんでした' gradle-test-aggregation ' –
あなたのコードを見ました。タスク 'test'はjavaプラグインによって追加され、javaプラグインはサブプロジェクトにのみ適用されているので、gradleは' test'タスクを見つけることができません。あなたはルートプロジェクトにもプラグインを適用することもできますし、 'subprojects'セクションを' allprojects'にすることもできます。 – RaGe
私は今それを理解すると思います。私は、ルートプロジェクトでjavaプラグインを使用したくない(空のjarファイルを作成し、それを作成しない)。手動で '偽のテストを定義し、root build.gradleでタスクをビルドして私が望むものを達成するよりも良い方法はありますか? [更新されたbuild.gradle](https://github.com/frant-hartm/gradle-aggregate-test-report/blob/master/build.gradle#L24) –