运行 在所有子项目的所有测试之前检查子项目中的样式
run checkstyles in subprojects before all tests in all subprojects
我有 gradle 个项目和 4 个子项目。我有当前根 gradle.build 与 checkstyle:
allprojects {
apply plugin: "checkstyle"
checkstyle {
...
}
}
所以当我 运行 ./gradlew 在主文件夹中构建时,我得到下一个:
检查第一个子项目的样式,然后进行测试。然后它 运行 对第二个子项目进行检查样式,然后对第二个子项目进行测试,依此类推。
问题是:如果我在 1st 子项目中有很长的测试,我可以等待很多时间,然后发现我在 4th 项目中有 2 个空格,所以 checkstyle 失败了,但我等了很多时间为了它。
我真正想要的是:
运行 所有子项目的所有检查(checkstyle,我也有 pmd),然后 运行 所有子项目中的所有测试。这将为团队中的每个人节省大量时间。
除了制作 2 个不同的管道,然后 运行 分开,我可以这样做吗?喜欢:./gradlew allMyCheckstyles && ./gradlew 构建。
我只想使用 ./gradlew build
谢谢!
我试了很多dependsOn,运行之后,还是不行。
抱歉,这个答案的前一个版本误解了这个问题的要求。
这里有一个解决方案可以满足您的需求:
// Create a lifecycle task in the root project.
// We'll make this depend on all checkstyle tasks from subprojects (see below)
def checkstyleAllTask = task("checkstyleAll")
// Make 'check' task depend on our new lifecycle task
check.dependsOn(checkstyleAllTask)
allProjects {
// Ensure all checkstyle tasks are a dependency of the "checkstyleAll" task
checkstyleAllTask.dependsOn(tasks.withType(Checkstyle))
tasks.withType(Test) {
// Indicate that testing tasks should run after the "checkstyleAll" task
shouldRunAfter(checkstyleAllTask)
// Indicate that testing tasks should run after any checksytle tasks.
// This is useful for when you only want to run an individual
// subproject's checks (e.g. ./gradlew ::subprojA::check)
shouldRunAfter(tasks.withType(Checkstyle))
}
}
我有 gradle 个项目和 4 个子项目。我有当前根 gradle.build 与 checkstyle:
allprojects {
apply plugin: "checkstyle"
checkstyle {
...
}
}
所以当我 运行 ./gradlew 在主文件夹中构建时,我得到下一个: 检查第一个子项目的样式,然后进行测试。然后它 运行 对第二个子项目进行检查样式,然后对第二个子项目进行测试,依此类推。
问题是:如果我在 1st 子项目中有很长的测试,我可以等待很多时间,然后发现我在 4th 项目中有 2 个空格,所以 checkstyle 失败了,但我等了很多时间为了它。
我真正想要的是: 运行 所有子项目的所有检查(checkstyle,我也有 pmd),然后 运行 所有子项目中的所有测试。这将为团队中的每个人节省大量时间。
除了制作 2 个不同的管道,然后 运行 分开,我可以这样做吗?喜欢:./gradlew allMyCheckstyles && ./gradlew 构建。 我只想使用 ./gradlew build 谢谢!
我试了很多dependsOn,运行之后,还是不行。
抱歉,这个答案的前一个版本误解了这个问题的要求。
这里有一个解决方案可以满足您的需求:
// Create a lifecycle task in the root project.
// We'll make this depend on all checkstyle tasks from subprojects (see below)
def checkstyleAllTask = task("checkstyleAll")
// Make 'check' task depend on our new lifecycle task
check.dependsOn(checkstyleAllTask)
allProjects {
// Ensure all checkstyle tasks are a dependency of the "checkstyleAll" task
checkstyleAllTask.dependsOn(tasks.withType(Checkstyle))
tasks.withType(Test) {
// Indicate that testing tasks should run after the "checkstyleAll" task
shouldRunAfter(checkstyleAllTask)
// Indicate that testing tasks should run after any checksytle tasks.
// This is useful for when you only want to run an individual
// subproject's checks (e.g. ./gradlew ::subprojA::check)
shouldRunAfter(tasks.withType(Checkstyle))
}
}