Gradle 不发出 kotlin.js
Gradle doesn't emit kotlin.js
我正在尝试将我的 Kotlin 应用程序和一组 Kotlin 库编译为 JavaScript。我已经很好用了,但是当我尝试 运行 它找不到 kotlin.js
.
这是怎么回事? 当我使用 IDEA 编译时(而不是 Gradle),它输出 kotlin.js
就好了。我试着让我的构建脚本更像我发现的例子,but that wouldn't compile...
这里是有问题的代码和项目的 link:https://github.com/BlueHuskyStudios/Decision-Cruncher/blob/SO/q/53582651/1/build.gradle
Here 您可以找到从 Kotlin/JS 库中提取所有 .js 文件的代码片段:
task assembleWeb(type: Sync) {
configurations.compile.each { File file ->
from(zipTree(file.absolutePath), {
includeEmptyDirs = false
include { fileTreeElement ->
def path = fileTreeElement.path
path.endsWith(".js") && (path.startsWith("META-INF/resources/") ||
!path.startsWith("META-INF/"))
}
})
}
from compileKotlin2Js.destinationDir
into "${projectDir}/web"
dependsOn classes
}
assemble.dependsOn assembleWeb
对于任何其他在未来挣扎的人,我遇到了以下问题:
IntelliJ Kotlin/JS 启动项目已在 gradle 文件中生成:
implementation "org.jetbrains.kotlin:kotlin-stdlib-js"
需要这样才能获取 kotlin.js
文件
compile "org.jetbrains.kotlin:kotlin-stdlib-js"
这只对我有用。 unzip
由于某种原因无法正常工作
task assembleWeb() {
configurations.implementation.setCanBeResolved(true)
configurations.implementation.each { File file ->
if (file.path.indexOf('kotlin-stdlib-js') >= 0) {
exec {
workingDir "$projectDir/web"
standardOutput = new ByteArrayOutputStream()
commandLine "7z", "e", file.absolutePath, "kotlin.js", "-aos", "-r"
}
}
}
dependsOn classes
}
assemble.dependsOn assembleWeb
注意 "-aos"
参数。此标志将防止覆盖现有文件
我正在尝试将我的 Kotlin 应用程序和一组 Kotlin 库编译为 JavaScript。我已经很好用了,但是当我尝试 运行 它找不到 kotlin.js
.
这是怎么回事? 当我使用 IDEA 编译时(而不是 Gradle),它输出 kotlin.js
就好了。我试着让我的构建脚本更像我发现的例子,but that wouldn't compile...
这里是有问题的代码和项目的 link:https://github.com/BlueHuskyStudios/Decision-Cruncher/blob/SO/q/53582651/1/build.gradle
Here 您可以找到从 Kotlin/JS 库中提取所有 .js 文件的代码片段:
task assembleWeb(type: Sync) {
configurations.compile.each { File file ->
from(zipTree(file.absolutePath), {
includeEmptyDirs = false
include { fileTreeElement ->
def path = fileTreeElement.path
path.endsWith(".js") && (path.startsWith("META-INF/resources/") ||
!path.startsWith("META-INF/"))
}
})
}
from compileKotlin2Js.destinationDir
into "${projectDir}/web"
dependsOn classes
}
assemble.dependsOn assembleWeb
对于任何其他在未来挣扎的人,我遇到了以下问题:
IntelliJ Kotlin/JS 启动项目已在 gradle 文件中生成:
implementation "org.jetbrains.kotlin:kotlin-stdlib-js"
需要这样才能获取 kotlin.js
文件
compile "org.jetbrains.kotlin:kotlin-stdlib-js"
这只对我有用。 unzip
由于某种原因无法正常工作
task assembleWeb() {
configurations.implementation.setCanBeResolved(true)
configurations.implementation.each { File file ->
if (file.path.indexOf('kotlin-stdlib-js') >= 0) {
exec {
workingDir "$projectDir/web"
standardOutput = new ByteArrayOutputStream()
commandLine "7z", "e", file.absolutePath, "kotlin.js", "-aos", "-r"
}
}
}
dependsOn classes
}
assemble.dependsOn assembleWeb
注意 "-aos"
参数。此标志将防止覆盖现有文件