Как расширить задачу, предоставляемую плагином? - PullRequest
1 голос
/ 31 мая 2019

У меня есть kotlin2js плагин с задачей compileKotlin2Js. Я настраиваю это так:

val compileKotlin2Js: Kotlin2JsCompile by tasks
compileKotlin2Js.kotlinOptions {
    main = "call"
    outputFile = "${projectDir}/build/app.js"
}

Теперь я хочу создать аналогичное задание, но с другим kotlinOptions. Например:

.kotlinOptions {
    main = "noCall"
    outputFile = "${projectDir}/build/lib.js"
}

Как это сделать?

ОБНОВЛЕНИЕ: Я также пытался сделать что-то вроде этого:

tasks.register<Kotlin2JsCompile>("myCompile2Js") {
    kotlinOptions {
        main = "noCall"
        outputFile = "${projectDir}/build/lib.js"
    }
}

Но выдает ошибку:

Execution failed for task ':myCompile2Js'.
> lateinit property destinationDirProvider has not been initialized

Я также пытался указать destinationDir. Ошибки исчезают, но такая задача не приводит к сборке.

1 Ответ

0 голосов
/ 31 мая 2019

Я не проверял это, но я верю, что что-то вроде следующего должно помочь:

tasks.register<Kotlin2JsCompile>("myCompile2Js") {
    kotlinOptions {
        main = "noCall"
        outputFile = "${projectDir}/build/lib.js"
    }
}

Или, если вам понадобится ссылка на задание позже:

val myCompile2Js by tasks.creating(Kotlin2JsCompile::class)
myCompile2Js.kotlinOptions {
    main = "noCall"
    outputFile = "${projectDir}/build/lib.js"
}
...