在多项目构建中,我想通过自定义插件在特定项目上添加功能。我想通过等效于以下插件的插件添加
:dependencies {
compile project(':shared:model')
}
在我的gradle插件中,我有这样的代码:
Map<String, String> sharedModel = new HashMap<>();
sharedModel.put("path", ":shared:model");
sharedModel.put("configuration", "compile");
target.getDependencies().project(sharedModel);
Gradle成功运行,但是相关性未添加到项目中。但是,如果我使用build.gradle添加了以上依赖关系,则可以正常运行。摇篮信息:
Gradle 4.10.2
------------------------------------------------------------
Build time: 2018-09-19 18:10:15 UTC
Revision: b4d8d5d170bb4ba516e88d7fe5647e2323d791dd
Kotlin DSL: 1.0-rc-6
Kotlin: 1.2.61
Groovy: 2.4.15
Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM: 10.0.1 ("Oracle Corporation" 10.0.1+10)
OS: Mac OS X 10.13.5 x86_64
谢谢您的建议。
答案 0 :(得分:1)
要从您的自定义插件添加项目依赖项,您需要使用apply
方法:
@Override
void apply(Project project) {
Map<String, String> sharedModel = new HashMap<>()
sharedModel.put("path", ":shared:model")
project.dependencies.add("compile", project.dependencies.project(sharedModel))
}