我有一个多项目配置,我想使用gradle。我的项目是这样的:项目A-> src/main/java-> src/test/java项目B- > src/main/java(取决于src/main/java在项目A)- > src/test/java(取决于src/test/java在项目A)我的Project B build.gradle文件是这样的:apply plugin: 'java'dependencies { compile project(':ProjectA')}任务compileJava工作正常,但compileTestJava不会编译Project A的测试文件。
3 回答
莫回无
TA贡献1865条经验 获得超7个赞
不推荐使用
在Project B中,您只需要添加一个testCompile依赖项:
dependencies {
...
testCompile project(':A').sourceSets.test.output
}
经过Gradle 1.7测试。
白猪掌柜的
TA贡献1893条经验 获得超10个赞
简单的方法是在ProjectB中添加显式任务依赖项:
compileTestJava.dependsOn tasks.getByPath(':ProjectA:testClasses')
困难(但更清晰)的方法是为ProjectA创建其他工件配置:
task myTestsJar(type: Jar) {
// pack whatever you need...
}
configurations {
testArtifacts
}
artifacts {
testArtifacts myTestsJar
}
并添加testCompile对ProjectB 的依赖
apply plugin: 'java'
dependencies {
compile project(':ProjectA')
testCompile project(path: ':ProjectA', configuration: 'testArtifacts')
}
添加回答
举报
0/150
提交
取消