gradle не может добавить зависимость проекта в плагин - PullRequest
0 голосов
/ 15 ноября 2018

В мультипроектной сборке я хочу добавить зависимость от конкретного проекта через пользовательский плагин.Я хочу добавить через плагин эквивалент:

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:

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 

Спасибо за любые предложения.

1 Ответ

0 голосов
/ 15 ноября 2018

Для добавления зависимости проекта от вашего пользовательского плагина, вы должны сделать это с помощью 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))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...