理解Gradle中的项目依赖关系
我有两个项目:理解Gradle中的项目依赖关系,gradle,Gradle,我有两个项目: 项目A——这一个有主代码 项目B——这个项目有测试代码 (由于某些原因,我不得不在一个单独的项目中保留测试代码一段时间) 现在在项目B中,我在项目a上添加了testCompile依赖项配置。我想了解这些依赖项配置语句之间的区别: dependencies { testCompile project(":ProjectA") testCompile project(":projectA").sourceSets.main.output testCompi
- 项目A——这一个有主代码
- 项目B——这个项目有测试代码
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
}
任务打印在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
}
任务打印