1

我有一个 Kotlin Multiplatform 项目,其中包含一个通用模块、一个 JS 和一个 JVM 模块。JVM 模块使用 JavaFX WebView 来显示 GUI。然而,这个 GUI 应该作为 JS 模块来实现。如何正确添加 JS 模块作为依赖项?我试过

dependencies {
    compile project(":myproject-js")
}

但是,这不包括类路径中任何位置的生成的 JS 文件。JS 模块确实创建了一个具有所需依赖项的 JAR 文件,但我找不到访问它们的方法。

我还尝试简单地将 JS 文件复制到我的构建输出中,但它们仍然被忽略:

configurations {
    js
}

dependencies {
    js project(":myproject-js")
}

project.afterEvaluate {
    build.dependsOn copyResources
}

task copyResources(type: Copy) {
    dependsOn configurations.js

    into file("${project.buildDir}/resources")

    from {
        configurations.js.asFileTree.each {
            from (zipTree(it))
        }
        null
    }
}

有没有办法做到这一点?

4

1 回答 1

1

这是应该工作的:

  1. myproject-js为依赖项创建配置:

    configurations {
        js
    }
    
  2. 将项目依赖项添加到该配置:

    dependencies {
        js project(":myproject-js")
    }
    
  3. 使用 将配置文件添加到processResources任务中.from(...),以及相应的构建依赖项:

    processResources {
        dependsOn configurations.js
        from(configurations.js.collect { zipTree(it) })
    }
    

然后,每当您构建 JVM 项目时,JS 模块的文件都会解压缩到资源输出目录中,然后打包到 JAR 中。

于 2018-08-14T12:56:00.330 回答