为了账号安全,请及时绑定邮箱和手机立即绑定

gradle的多项目测试依赖

gradle的多项目测试依赖

繁花如伊 2019-10-16 13:46:57
我有一个多项目配置,我想使用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测试。


查看完整回答
反对 回复 2019-10-16
?
白猪掌柜的

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')

}


查看完整回答
反对 回复 2019-10-16
  • 3 回答
  • 0 关注
  • 860 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信