当我运行“dependencies”任务时,有几个部分:compile,runtime,testCompile ......
其中一个部分是“默认 - 默认工件的配置” . 这部分是什么以及它用于什么?
如何更改“默认配置”中的内容?
Details: Gradle 1.7
除非您的构建是发布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
dependencies { compile project(":B") }
compile
dependencies { compile project(path: ":B", configuration: "default") }
default 配置从 runtime 配置扩展,这意味着它包含 runtime 配置的所有依赖项和工件,可能还有更多 . 您可以通常的方式添加依赖项和工件(在B的构建脚本中使用 dependencies / artifacts 块) . 或者,B可以声明自定义配置,A可以通过显式命名该配置来依赖于该配置(例如 dependencies { compile project(path: ":B", configuration: "myCustomConfig") } .
runtime
dependencies
artifacts
dependencies { compile project(path: ":B", configuration: "myCustomConfig") }
使用gradle java插件时,'default'配置extendsFrom'runtime','runtimeOnly','implementation'
如果您不使用java插件,那么您可以像这样自己定义它
configurations { "default" }
2 回答
除非您的构建是发布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
/artifacts
块) . 或者,B可以声明自定义配置,A可以通过显式命名该配置来依赖于该配置(例如dependencies { compile project(path: ":B", configuration: "myCustomConfig") }
.使用gradle java插件时,'default'配置extendsFrom'runtime','runtimeOnly','implementation'
如果您不使用java插件,那么您可以像这样自己定义它