多项目构建:为每个子项目执行函数
Multi project build: execute function for every subproject
我有这个文件夹结构:
- project/subproject1
- project/subproject2
- project/subproject3
- project/build.gradle(根配置)
每个子项目都有自己的 build.gradle 配置。
我在子项目 1 和 3 中进行了一些测试(子项目 2 不包含任何测试,我不确定我的问题是否需要此信息)。
我在测试中使用 JUnit5。为了在构建项目时执行它们,我在我的子项目的每个 build.gradle 中添加了它。
tasks.test {
useJUnitPlatform()
}
一切正常,所有测试都在执行,但我不想为这个小片段触及每个配置文件。我想要一些共同点。
我一直在尝试完成 gradle-docs 的文档,但没有成功。
这就是我要添加到根目录中的内容 build.gradle:
subprojects {
tasks.test(){
doLast {
useJUnitPlatform()
}
}
}
但它要么说,'test' 已经定义,要么类似“无法在类型为 org.gradle.api.internal.tasks.DefaultTaskContainer 的任务集上找到参数 [buildClosure] 的方法 test()。
感谢任何帮助!
你想得太复杂了。这更容易。只需添加
subprojects {
test {
useJUnitPlatform()
}
}
到项目的顶级 build.gradle
文件。您可以将(大部分)任何应该在每个子项目中完成的内容添加到此块。
在project/build中设置如下内容。gradle
subprojects {
apply plugin : 'java'
test.useJUnitPlatform()
}
现在,测试任务已在根项目中配置为对其所有子项目使用 junit5。注意,'java' 插件也适用于子项目。现在,任何子项目都在根项目级别本身进行了预配置。
我有这个文件夹结构:
- project/subproject1
- project/subproject2
- project/subproject3
- project/build.gradle(根配置)
每个子项目都有自己的 build.gradle 配置。 我在子项目 1 和 3 中进行了一些测试(子项目 2 不包含任何测试,我不确定我的问题是否需要此信息)。
我在测试中使用 JUnit5。为了在构建项目时执行它们,我在我的子项目的每个 build.gradle 中添加了它。
tasks.test {
useJUnitPlatform()
}
一切正常,所有测试都在执行,但我不想为这个小片段触及每个配置文件。我想要一些共同点。
我一直在尝试完成 gradle-docs 的文档,但没有成功。
这就是我要添加到根目录中的内容 build.gradle:
subprojects {
tasks.test(){
doLast {
useJUnitPlatform()
}
}
}
但它要么说,'test' 已经定义,要么类似“无法在类型为 org.gradle.api.internal.tasks.DefaultTaskContainer 的任务集上找到参数 [buildClosure] 的方法 test()。
感谢任何帮助!
你想得太复杂了。这更容易。只需添加
subprojects {
test {
useJUnitPlatform()
}
}
到项目的顶级 build.gradle
文件。您可以将(大部分)任何应该在每个子项目中完成的内容添加到此块。
在project/build中设置如下内容。gradle
subprojects {
apply plugin : 'java'
test.useJUnitPlatform()
}
现在,测试任务已在根项目中配置为对其所有子项目使用 junit5。注意,'java' 插件也适用于子项目。现在,任何子项目都在根项目级别本身进行了预配置。