我有两个项目:
(由于某种原因,我必须将测试代码保存在单独的项目中一段时间)
现在在项目B中,我在项目A上添加了一个testCompile依赖项配置。我想了解这些依赖项配置语句之间的区别:
dependencies {
testCompile project(":ProjectA")
testCompile project(":projectA").sourceSets.main.output
testCompile project(path: "projectA", configuration: "compile")
}
我问这个问题,因为我实际上想把项目A的所有编译时依赖项都引入到项目B的testCompile依赖项中,我无法弄清楚如何做到这一点。我假设
testCompile project(path: "projectA", configuration: "compile")
会起作用,但事实并非如此。
任何帮助将不胜感激。
答案 0 :(得分:0)
在projectB的build.gradle中,您可以添加:
dependencies{
compile project(':projectA')
testCompile 'junit:junit:4.12'
}
这告诉gradle在projectB中使用projectA的主代码。然后,您可以在projectB中针对projectA编写测试。
您可以执行此操作以获取有关依赖项的更多信息:
task print << {
println project(":projectA").getClass() //Output: org.gradle.api.internal.project.DefaultProject_Decorated
println project(":projectA").sourceSets.main.output.getClass() //Output: org.gradle.api.internal.tasks.DefaultSourceSetOutput_Decorated
println project(path: "projectA", configuration: "compile").getClass() //This doesn't work in gradle 3.0
}
项目或源集都可以输入到依赖项{}块
中的配置