gpt4 book ai didi

gradle - 如何将javascript依赖项打包到Kotlin JS项目JAR中?

转载 作者:行者123 更新时间:2023-12-02 12:53:46 27 4
gpt4 key购买 nike

我正在为Firebase Javascript SDK制作一些kotlin JS包装器。因此,我使用外部关键字和@file:JsModule批注创建了项目,如下所示:

@file:JsModule("@firebase/messaging-types")
package my.package.firebase.messaging

import kotlin.js.Promise

external class FirebaseMessaging {
fun getToken(): Promise<String?>
...
}

我可以在gradle中将其发布到本地Maven存储库中:
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId = project.group
artifactId = 'firebase-wrappers'
version = project.version
from components.java
artifact sourcesJar
}
}
}

如何添加NPM依赖关系并确保它在生成的JAR文件中可用?

最佳答案

好吧,实际上您有很多选择,但是最简单的选择是复制processResources任务中所需的全部内容,例如:

processResources {
from ('/some/js/resources') {
include '**/*.js'
}
}

这样,任何文件都将最终保存在jar中。但是,请记住,到目前为止,这不会影响IntelliJ IDEA中的运行配置。就是说,即使您运行的配置即使是基于gradle构建的,也仍然会丢失该文件,并且此问题应该以其他方式解决。

另一个有用的技术是将此依赖项存储在单独的jar中(甚至可能在其他子项目中),并将此jar作为运行时依赖项。

关于gradle - 如何将javascript依赖项打包到Kotlin JS项目JAR中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53715402/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com