使用Gradle 2.13
和包含多个模块的项目
我可以拥有以下内容:
project(':module-main') {
description 'Main'
dependencies {
compile project(':module-config')
['spring-context'].each { compile "org.springframework:$it:$springFrameworkVersion" }
}
}
我可以确认引用了传递依赖,根据我的研究,我可以避免使用transitive = false
例如:
project(':module-main') {
description 'Main'
dependencies {
compile (project(':module-config')){
transitive = false
}
['spring-context'].each { compile "org.springframework:$it:$springFrameworkVersion" }
}
}
直到这里我对此感到满意,但是如果一个模块依赖于许多其他模块,我想避免以下(详细)
project(':module-main') {
description 'Main'
dependencies {
compile (project(':module-config')){
transitive = false
}
compile (project(':module-abc')){
transitive = false
}
compile (project(':module-xyz')){
transitive = false
}
['spring-context'].each { compile "org.springframework:$it:$springFrameworkVersion" }
}
}
如何看待我多次使用transitive = false
compile project(':module-xyz')
。它只是一个模块,我可以有其他模块具有相同的情况。
是否有全局特殊配置我可以使用compile project(':module-xyz')
并自动默认为transitive = false
? (它来自全局特殊配置)
我做了一项研究,我应该使用
configurations {
compile {
transitive false
}
testCompile {
transitive false
}
}
我已尝试过:
all projects{}
部分subprojects{}
部分一无所获,我的独特方式是为模块中的每个transitive = false
设置compile project(':module-something')