如何在构建后触发任务
How to trigger a task after build
我有以下代码:
import org.openapitools.generator.gradle.plugin.tasks.GenerateTask
plugins {
id 'org.openapi.generator' version '5.3.1'
}
apply plugin: 'java'
sourceSets {
main {
java.srcDirs += "${buildDir}/api/src/main/java/"
}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'javax.validation:validation-api'
implementation 'com.fasterxml.jackson.core:jackson-annotations'
implementation "io.swagger:swagger-annotations"
}
task generateJavaApi(type: GenerateTask) {
generatorName = "spring"
inputSpec = "$buildDir/resources/main/static/api.yaml"
outputDir = "$buildDir/api"
apiPackage = "org.myApi.api"
modelPackage = "org.myApi.model"
configOptions = [
interfaceOnly : "true",
openApiNullable: "false"
]
}
configure(generateJavaApi) {
group = 'openapi tools'
description = 'Generate Java API'
}
generateJavaApi.dependsOn(build)
如果我写 build.doLast(generateJavaApi)
,IntelliJ 会告诉我以下内容:没有找到方法调用的候选项 build.dolast。
为什么会这样?构建后如何触发 generateJavaApi?
(这样 运行 gradle build
也会自动触发 java api 的生成)
你要的是这个:
build.configure { finalizedBy generateJavaApi }
我有以下代码:
import org.openapitools.generator.gradle.plugin.tasks.GenerateTask
plugins {
id 'org.openapi.generator' version '5.3.1'
}
apply plugin: 'java'
sourceSets {
main {
java.srcDirs += "${buildDir}/api/src/main/java/"
}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'javax.validation:validation-api'
implementation 'com.fasterxml.jackson.core:jackson-annotations'
implementation "io.swagger:swagger-annotations"
}
task generateJavaApi(type: GenerateTask) {
generatorName = "spring"
inputSpec = "$buildDir/resources/main/static/api.yaml"
outputDir = "$buildDir/api"
apiPackage = "org.myApi.api"
modelPackage = "org.myApi.model"
configOptions = [
interfaceOnly : "true",
openApiNullable: "false"
]
}
configure(generateJavaApi) {
group = 'openapi tools'
description = 'Generate Java API'
}
generateJavaApi.dependsOn(build)
如果我写 build.doLast(generateJavaApi)
,IntelliJ 会告诉我以下内容:没有找到方法调用的候选项 build.dolast。
为什么会这样?构建后如何触发 generateJavaApi?
(这样 运行 gradle build
也会自动触发 java api 的生成)
你要的是这个:
build.configure { finalizedBy generateJavaApi }