当我运行"dependencies"任务时,有几个部分:compile,runtime,testCompile ......
其中一个部分是"默认 - 默认工件的配置".这部分是什么以及它用于什么?
如何更改"默认配置"中的内容?
细节: Gradle 1.7
Pet*_*ser 24
除非您的构建是发布Ivy模块,否则default在处理多项目构建中的项目依赖性时,配置主要是相关的.给定项目A和B的多项目构建,如果A在没有明确命名配置的情况下声明项目依赖于B(例如dependencies { compile project(":B") },A(更准确地说是A的compile配置)将取决于项目B的default配置.换句话说,dependencies { compile project(":B") }是一个快捷方式dependencies { compile project(path: ":B", configuration: "default") }.
该default配置从延伸runtime配置,这意味着它包含所有的依赖和的工件runtime配置,而且可能更.您可以通常的方式添加依赖项和工件(在B的构建脚本中使用dependencies/ artifactsblock).或者,B可以声明自定义配置,A可以通过显式命名该配置来依赖于该配置(例如dependencies { compile project(path: ":B", configuration: "myCustomConfig") },
使用 gradle java 插件时,“默认”配置 extendsFrom 'runtime', 'runtimeOnly', 'implementation'
如果你不使用java插件,那么你可以像这样自己定义它
configurations {
"default"
}
Run Code Online (Sandbox Code Playgroud)
java插件在这里设置默认配置:https : //github.com/gradle/gradle/blob/85d30969f4672bb2739550b4de784910a6810b7a/subprojects/plugins/src/main/java/org/gradle/api/plugins/JavaPlugin.java#L437
这方面的文档不是很好。
从复合构建“提供”默认工件的示例。该示例创建了一个引用另一个项目中的依赖项的子项目。在使用复合构建时,这可能是必要的,因为只能依赖“默认”组。
我们使用它从单个项目中获取许多 jar,并在将项目作为复合构建引用时将其作为不同的依赖项。
apply plugin: 'base'
configurations {
depend
}
dependencies {
depend project(path: ':', configuration: 'ConfWithArtifact')
}
artifacts {
"default" (file: configurations.depend.singleFile) {
builtBy(configurations.depend)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10406 次 |
| 最近记录: |