2

我有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. 错误消失,但此类任务不会产生任何构建。

4

1 回答 1

0

我还没有测试过它,但我相信像下面这样的东西应该可以解决问题:

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"
}
于 2019-05-31T08:39:36.790 回答