问题标签 [sbt-crossproject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
220 浏览

scala - Scala 跨项目中的资源

我尝试在共享模块(https://github.com/portable-scala/sbt-crossproject)中使用文件进行单元测试

我试过src/test/resourcessrc/main/resources

资源未复制到.jvm/target/classesnor.jvm/target/test-classes

根本不可能在共享模块中使用资源,还是需要特殊配置sbt

0 投票
1 回答
226 浏览

scala - sbt: 在某些子模块中禁用测试

我的项目有几个模块,比如

  • 服务器(JVM)
  • 共享JVM
  • 共享JS
  • 客户端(JS)

目前测试仅适用于 JVM 模块。

我能做的是:

sbt sharedJVM/test server/test

我想做的是:

sbt test

我找不到执行此操作的设置。

0 投票
1 回答
66 浏览

scala - sbt-crossproject 插件能否支持两个具有两个独立主类的 Scala.js 构建,两者的输出都由 scalajs-bundler 插件管理?

假设您有一个 Scala.js 项目,它可以有意义地编译为浏览器 JavaScript、Node.js 和 JVM。

现在想象在浏览器中,应用程序的一部分在窗口中运行,而另一部分在 Web Worker 中运行。

SBT 可以捆绑两个版本的源代码吗?一个版本有一个用于浏览器窗口的主类,而另一个版本有一个运行 Web Worker 代码的不同主类?

如果是这样,您将如何配置它?

请注意,该项目依赖于 JavaScript 原生库和 webpack。

0 投票
1 回答
303 浏览

scala - 如何在 sbt 交叉编译平台中运行特定的 scala-test?

我有带有许多模块(Android、Scalajs、Native、JVM 和共享)的 sbt 交叉编译平台我想通过 build.sbt 文件通过向每个测试写入标志来控制每个模块的测试,例如:我想测试 Android 模块和 Jvm,所以我将标志设置为 true,将其他标志设置为 false:

然后我应该对这些标志添加一些控制和检查,并从 sbt shell 调用测试命令。

我的 build.sbt文件:

0 投票
0 回答
135 浏览

scala - 在 sbt-scalajs-crossproject 插件中,您如何为 JS 和 JVM 编译目标指定一个主类?

我在共享目录中有一个主类,fastOptJS::webpack 设法使用配置向浏览器公开:

但是,即使我将 (Compile, run) 语句中的 mainClass 移动到共享设置中或将其复制到 jvm 设置中,我似乎也无法在 JVM 上下文中公开这个可执行类。

JVM 可执行文件是否必须存在于 jvm 目录结构中,或者它们可以占据共享文件夹中的位置?

有什么建议么?

这是一个重现问题的简单项目:https ://github.com/dragonfly-ai/mainclassbug

0 投票
1 回答
65 浏览

scala.js - 如何使 scala.scalajs.js.typedarray 类可用于 scala.js 交叉项目的 JVM 构建?

当我尝试Uint8ClampedArray从 JVM 上运行的代码访问时,我收到错误消息:java.lang.Error: A method defined in a JavaScript raw type of a Scala.js library has been called. This is most likely because you tried to run Scala.js binaries on the JVM. Make sure you are using the JVM version of the libraries.

哪个 JVM 库可以解决此运行时错误?

我们是否有其他方法可以在 sbt-crossprojects 的 JS 和 JVM 构建中共享此数据结构?

0 投票
0 回答
97 浏览

scala - 有没有办法让自定义 sbt 插件发现 Scala 项目的目标平台?

我想开发一个可以为 Scala 项目自动生成源代码的 sbt 插件。问题是我想为每个目标平台(JVM、Native、Scala.js)生成略有不同的源代码。

因此,我的插件需要检测项目平台。我想知道是否有一种优雅的方式来做到这一点?

0 投票
1 回答
39 浏览

c# - 寻找一些用于研发的术语

我在这里是因为我有一个程序和一些功能。

但我不确定这些功能在编程术语中的名称。所以我什至无法对此进行适当的谷歌搜索。我很想知道这叫什么,这样我就可以推进我的分析和研究。

我用 C# 和 Windows 窗体开发了一个程序。目前它与 YouTube API 接口并监控聊天。当聊天消息到达以及消息遵循某种格式/语法时,我还提出了一些事件。到目前为止一切正常。

我想做的是:

如果有人使用我的软件,他只能访问二进制文件。但想编写自己的逻辑,处理我提出的一些事件。他们是怎么做到的?

我希望用户编写自己的程序/类,将其放在特定的文件夹中。我希望它有一个 Start() 和 End() 方法。在方法内部,他们可以编写代码来订阅他们选择的任何事件并做他们需要做的事情。

我已经在我的主循环中编写了代码,它将遍历应该包含用户程序的文件夹,并尝试调用他们的程序/类的 Start/End 方法。

对我来说,作为项目的原始作者,我可以继续在文件夹中编写代码。一旦我构建并执行。一切正常。主程序在我添加的程序/类中触发开始/结束。事件也处理得很好。

但是如果有人使用我的软件,想要处理它的事件,而不需要重新编译我的代码,那又如何呢?他们是怎么做到的?