2
我有時用apply from: 'some/common/config.gradle'
,想一個簡單的方法來立即配置相關的插件,如果它已經存在或觀看要添加並在以後對其進行配置。我可以做我想做的事情,但是由於我最終將配置複製/粘貼到兩個位置,似乎有點麻煩。下面是我想要的,但我想知道是否有更好的方法。有沒有一種簡單的方法來配置一個Gradle插件,如果它存在立即配置,或者如果它被添加了以後?
def configured = false;
if(plugins.hasPlugin(ApplicationPlugin)) {
run.classpath.add(configurations.jfxrt)
startScripts {
mainClassName = "com.javafx.main.Main"
doLast {
logger.warn(":${project.name}:startScripts:!! WARNING !!" +
" Replaced mainClassName with com.javafx.main.Main")
}
}
configured = true
}
else {
plugins.whenPluginAdded { plugin ->
if(plugins.hasPlugin(ApplicationPlugin) && !configured) {
run.classpath.add(configurations.jfxrt)
startScripts {
mainClassName = "com.javafx.main.Main"
doLast {
logger.warn(":${project.name}:startScripts:!! WARNING !!" +
" Replaced mainClassName with com.javafx.main.Main")
}
}
configured = true
}
}
}
是的,這正是我想要的。這就是我認爲我應該通過閱讀API來做的事情,但是當我嘗試它時,我一定在某個地方犯了一個愚蠢的錯字。感謝您爲我清理它。 – 2013-04-07 13:28:09