我正在设计一个自定义的gradle插件,以帮助用户在多项目构建中发布项目,其中项目可能依赖于同一构建中的其他项目。
在插件中,我定义了一个名为“发布”的任务。在应用插件的项目中,我定义了一个名为“ release”的配置,该配置依赖于另一个项目,如下所示:
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()为空。
如何设置插件中发布配置的依赖性,以设置要定义的任务的依赖性?