过去,我在核心或通用项目中提供测试助手方面取得了巨大成功,并使用以下方法将这些类提供给其他子项目:
Common Project A
task testJar(type: Jar) {
classifier = "tests"
from sourceSets.test.output
}
artifacts { testRuntime testJar }
依赖项目B
testCompile(project(path: ":project-a", configuration: "testRuntime"))
但是,我在两个不共享Gradle多项目层次结构的项目之间有相同的要求。澄清一下,这些是完全独立的项目。它们位于不同的存储库中,使用不同的构建脚本。它们不是父项目中的子模块。
对于更复杂的问题,我正在使用Java Library插件和Maven插件在本地安装库。换句话说,我喜欢第二个项目包含依赖关系:
testImplementation 'com.mycompany:common-test:1.0.0'
第一个“常见”项目应该是什么样的?a)生成测试jar并且b)允许它安装到Maven?
非常感谢所有人的帮助。