Зависит от мультиплатформенного модуля Kotlin от JS от JVM
У меня есть проект Kotlin Multiplatform с общим модулем JS и JVM. Модуль JVM использует JavaFX WebView для отображения графического интерфейса. Этот 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
}
}
Есть ли способ добиться этого?
1 ответ
Вот что должно работать:
Создайте конфигурацию для
myproject-js
зависимость:configurations { js }
Добавьте зависимость проекта к этой конфигурации:
dependencies { js project(":myproject-js") }
Добавьте файлы конфигурации в
processResources
задача с.from(...)
и соответствующая зависимость сборки:processResources { dependsOn configurations.js from(configurations.js.collect { zipTree(it) }) }
Затем, всякий раз, когда вы создаете проект JVM, файлы модуля JS распаковываются в каталог вывода ресурсов, а затем упаковываются в JAR.