允许Gradle插件使用其配置有条件地应用其他插件

时间:2014-12-22 22:58:08

标签: gradle gradle-plugin gradle-custom-plugin

在插件中,我希望能够根据用户在配置闭包中放置的配置选择适用的其他插件(例如Nexus插件或Bintray插件,但不能同时使用两者) 我的插件。

在评估项目后,我通常会获得插件的配置。现在为时已晚,因为我希望允许用户覆盖自己的其他插件的默认配置(因此必须先应用它们)。

我可以将我的插件分成两个独立的插件(在同一个JAR中),并且需要应用第一个插件,提供配置关闭,应用第二个插件并使用为第一个插件提供的配置来决定第三方插件申请。

是否有更好的方法尽早获得插件的配置,以便能够有条件地应用其他插件(并允许他们使用配置闭包)?

1 个答案:

答案 0 :(得分:0)

您可以使用gradle 61.5. Init script plugins。这将允许您的插件在项目配置之前运行。

gradle文档中的示例从构建脚本中删除存储库。这意味着您可以在Init脚本插件中读取配置并确定要应用的插件。当然,您的配置名称应该是固定的,因此您的Init脚本插件应该能够读取它。