我有时会使用apply from: 'some/common/config.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
}
}
}