我有两个项目:
(由于某种原因,我必须将测试代码保留在单独的项目中一段时间)
现在在项目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")
可以,但是不能。
任何帮助将不胜感激。
最佳答案
在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
}
项目或源集都可以在依赖项{}块中输入到配置中
关于gradle - 了解Gradle中的项目依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37603601/