如何在构建后触发任务

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 }