在插件中,我希望能够根据用户在“我的”插件的配置闭包中定义的配置,选择应用哪些其他插件(例如Nexus插件或Bintray插件,但不能同时应用)。通常在项目被评估后才会获取到“我的”插件的配置,这已经太晚了,因为我想允许用户覆盖那些其他插件的默认配置(所以它们必须更早地被应用)。我可以将我的插件拆分成两个独立的插件(位于同一个JAR文件中),并要求首先应用第一个插件,提供配置闭包,再应用第二个插件,并使用第一个插件提供的配置来决定应用哪些第三方插件。有没有更好的办法可以更早地获取到“我的”插件的配置,以便有条件地应用其他插件(并允许它们使用自己的配置闭包)?
all {}
闭包可以确保代码针对任何和所有存储库执行,而不管它们何时配置。除了OP提到的afterEvaluate()
之外,不幸的是没有很好的方法来确保项目扩展已被配置。 - Mark Vieira