我有以下场景我希望禁用 JOOQ架构生成,除非明确要求:
gradle.taskGraph.beforeTask {
task ->
if (!rootProject.hasProperty("generate") && task.name.equals("generateSampleJooqSchemaSource")) {
task.enabled = false
}
}
现在我可以在传递"生成"时始终手动生成模式。作为参数如下:
$ gradle build -Pgenerate
而正常
$ gradle build
不重新生成我的所有架构类。
但是,我不太喜欢这种方法。您必须记住参数名称,并在-P
前面添加一个看起来不干净的参数名称。
我希望能够按如下方式制作自定义任务:
task generate {
tasks[build].executeWithParameter("generate")
}
这样它也会显示为一项实际任务。
我该如何做到这一点?
答案 0 :(得分:0)
您可以创建dependsOn
构建任务并从中禁用jooq任务的任务。这需要在jooq任务声明之后放置任务声明。
task generate (dependsOn: build) {
tasks['generateSampleJooqSchemaSource'].enabled = false
}
从任务
设置项目属性task generate (dependsOn: build) {
project.ext.generate = "true"
}