得到一个属性的任务? Gradle 科特林

Get a property of task? in Gradle kotlin

我正在尝试将我的 build.gradle 文件转换为 build.gradle.kts。 我几乎做到了,但只剩下一个问题。 我不知道如何转换下面的代码。

科特林

import org.asciidoctor.gradle.AsciidoctorTask

...

apply(plugin = "org.asciidoctor.convert")

val snippetsDir = file("build/generated-snippets")

tasks.named<AsciidoctorTask>("asciidoctor") {
    attributes(
        mapOf(
            "snippets" to snippetsDir
        )
    )
    inputs.dir(snippetsDir)
    dependsOn("test")
}

tasks.withType<BootJar> {
    dependsOn("asciidoctor")

    // This is the problem!
    //  from("${asciidoctor.outputDir}/html5") {
    //      into("static/docs")
    //  }
}

请帮帮我!谢谢:)

参见 Tasks documentation:您可以使用 Kotlin 委托属性 访问 asciidoctor 任务,然后访问其属性,如 outputDir

tasks.withType<org.springframework.boot.gradle.tasks.bundling.BootJar> {
    dependsOn("asciidoctor")

    // This was the problem!
    val asciidoctor by tasks.getting(AsciidoctorTask::class)
    from("${asciidoctor.outputDir}/html5") {
          into("static/docs")
    }
}