我有一個腳本插件,我想:如果應用Gradle插件,我該如何有條件地運行代碼?
- 檢查應用
ivy-publish
(通過apply plugin: ivy-publish
): - 如果適用,申報
publishing { repositories { ivy { } } }
- 如果它不適用,運行一些其他代碼
不過,我不確定如何如果應用ivy-publish
插件實際運行的代碼,我找不到任何有關,在documentation什麼。有沒有辦法做到這一點?
我有一個腳本插件,我想:如果應用Gradle插件,我該如何有條件地運行代碼?
ivy-publish
(通過apply plugin: ivy-publish
):publishing { repositories { ivy { } } }
不過,我不確定如何如果應用ivy-publish
插件實際運行的代碼,我找不到任何有關,在documentation什麼。有沒有辦法做到這一點?
您可以使用PluginManager.withPlugin(String id, Action<? super AppliedPlugin> action
)方法。來自Javadoc:
如果已經應用了具有指定ID的插件,則提供的操作將立即執行。否則,在應用具有指定ID的插件後立即執行該操作。
在構建腳本,你可以這樣做:
pluginManager.withPlugin('ivy-publish') {
// Do configuration
}
您可以隨時使用findPlugin
:
println project.plugins.findPlugin('ivy-publish')
雖然兩者的答案是有幫助的,這一次居然結束,目前更多的有用我們在做什麼,所以我選擇接受這個。 – Thunderforge