Я разрабатываю пользовательский подключаемый модуль Gradle, чтобы помочь пользователям выпускать проекты в многопроектной сборке, где проекты могут зависеть от других проектов в той же сборке.
В плагине я определил задачу под названием «релиз». В проекте, где я применяю плагин, я определил конфигурацию под названием «релиз» с зависимостью от другого проекта, как показано ниже:
configurations {
release
}
dependencies {
release project(":project1")
}
В моем собственном плагине я пытаюсь прочитать зависимости конфигурации выпуска, чтобы определить, какие исходящие проекты должны быть выпущены первыми.
@Override
public void apply(Project project) {
Task releaseTask = project.task("release")
.doLast(task -> System.out.println("Releasing " + project.getName()));
Configuration releaseConfiguration = project.getConfigurations.maybeCreate("release");
releaseConfiguration.getDependencies()
.forEach(dependency -> System.out.println(dependency));
}
Проблема в том, что releaseConfiguration, по-видимому, не может прочитать какие-либо зависимости, которые определены в файле build.gradle проекта, getDependencies () пусто.
Как я могу получить доступ к зависимостям конфигурации релиза в моем плагине, чтобы установить зависимости задачи, которую я определяю?