gradle的多项目测试依赖

我有一个多项目配置,我想使用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的测试文件。


繁花如伊
浏览 861回答 3
3回答

莫回无

不推荐使用在Project B中,您只需要添加一个testCompile依赖项:dependencies {  ...  testCompile project(':A').sourceSets.test.output}经过Gradle 1.7测试。

白猪掌柜的

简单的方法是在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')}
打开App,查看更多内容
随时随地看视频慕课网APP