如何为包含所有子项目的项目设置依赖项?
How to set a dependency for a project with all subprojects?
我不喜欢我重复主项目和子项目的每个存储库依赖项(比方说,junit
)。是否有可能使子项目使用主项目的依赖项。还是有其他方法可以避免这种重复?
root/build.gradle
allprojects {
if (plugins.hasPlugin('java')) {
dependencies {
testCompile 'junit:junit:4.12'
}
}
}
与接受的答案不同,最好使用以下内容:
allprojects {
plugins.withType(JavaPlugin) {
dependencies {
testCompile 'junit:junit:4.12'
}
}
}
如果 java
插件已经存在,更改将立即应用,或者将等待添加并稍后应用。
已更新
目前我使用更好的方法来控制插件的配置 - pluginManager
。效果与 plugins.withType
相同,但您不必知道插件的 class 名称:
org.springframework.boot
插件示例:
apply plugin: 'org.springframework.boot'
allprojects {
pluginManager.withPlugin('org.springframework.boot') {
springBoot {
buildInfo()
layout 'DIR'
}
}
}
我不喜欢我重复主项目和子项目的每个存储库依赖项(比方说,junit
)。是否有可能使子项目使用主项目的依赖项。还是有其他方法可以避免这种重复?
root/build.gradle
allprojects {
if (plugins.hasPlugin('java')) {
dependencies {
testCompile 'junit:junit:4.12'
}
}
}
与接受的答案不同,最好使用以下内容:
allprojects {
plugins.withType(JavaPlugin) {
dependencies {
testCompile 'junit:junit:4.12'
}
}
}
如果 java
插件已经存在,更改将立即应用,或者将等待添加并稍后应用。
已更新
目前我使用更好的方法来控制插件的配置 - pluginManager
。效果与 plugins.withType
相同,但您不必知道插件的 class 名称:
org.springframework.boot
插件示例:
apply plugin: 'org.springframework.boot'
allprojects {
pluginManager.withPlugin('org.springframework.boot') {
springBoot {
buildInfo()
layout 'DIR'
}
}
}