Получите свойство задачи? в Gradle kotlin - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь преобразовать свой build.gradle файл в build.gradle.kts. Я почти делаю это, но осталась только одна проблема. Я не знаю, как преобразовать приведенный ниже код.

Kotlin

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")
    //  }
}

Пожалуйста, помогите мне! Спасибо :)

1 Ответ

1 голос
/ 07 августа 2020

См. документацию по задачам : вы можете получить доступ к asciidoctor задачам, используя Kotlin делегированные свойства , а затем получить доступ к его свойствам, например 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")
    }
}
...