问题标签 [sbt-plugin]

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 投票
0 回答
63 浏览

scala - sbt 0.13 多项目构建,跨项目导入包

我有一个游戏项目,我想用一个common处理客户端、服务、实用程序等内容的库来构建它......

我的目录结构是这样的:

我的 build.sbt 配置如下:

虽然我能够成功运行 play 项目sbt myapp/run,但当我尝试导入在myapp-common.

例如,如果我有myapp-common/src/main/TesterObject.scala

如果我尝试import tester._然后使用TesterObject.testMein myapp/app/controllers/HomeController.scala,则项目在编译过程中会失败,因为它找不到包。

谁能在这里指出我正确的方向?多项目的 sbt 指南对我来说有点难以解析这个特殊问题。似乎我的依赖项已正确设置。

0 投票
1 回答
71 浏览

scala - Sbt 项目依赖

我对 Scala 和 sbt 很陌生。根据更新的 build.sbt 在命令行中用于刷新依赖项的命令是什么?

我已经尝试在 Intellij 中构建我的项目,但它没有帮助。附带说明一下, mvn build 的 sbt 替代命令是什么?

0 投票
1 回答
509 浏览

scala - 如何将设置附加到 sbt 项目?

我有这样的build.sbt文件:

./build.sbt

和第二个文件(在同一文件夹中),如下所示:

./release.sbt

但是该命令releaseStuff无法识别,我得到:

难道我做错了什么?

请注意,这releaseStuff取决于插件,因此如果放在project文件夹中,它不会编译。

0 投票
2 回答
42 浏览

dependencies - 使用 scala 版本 2.11.7 访问 sbt 插件中的依赖(非子)项目

我的示例 sbt 插件使用 scala 版本 2.10.6 可以正常编译。我正在尝试升级 sbt 插件 build.sbt 中的 scalaVersion := "2.11.7"。

它与以下 CTE 中断:-

/Users/mogli/gitrepos/study/SbtPlugins/ScalaPlugin/src/main/scala/base/BasePlugin.scala:21:无法扩展以前版本的Scala编译的宏[错误]
val projects = thisProject.value.dependencies

正如 Micro Dotta 在下面的问题中所建议的那样,这与 scalaVersion := "2.10.6" 一起工作得很好:-

访问 sbt 插件中的依赖(非子)项目

简化的 sbt 插件 BasePlugin.scala:

如何让它与 scalaVersion := "2.11.7" 一起工作?我希望这个插件与使用 scal 版本 11 的项目一起使用。

0 投票
2 回答
8076 浏览

java - IntelliJ Idea 无法解析 Scala 托管源中的符号 (sbt-buildinfo)

我认为这可能是新版本中出现的问题,并且无法像旧版本一样解决,我有一个带有sbt-buildinfo插件的 Play Java 项目问题很常见是 IntelliJ 一直说它无法解析该符号

InjettiJ 无法解析符号

这是文件:

生成的文件

可以在IntelliJ Idea sbt 托管源文件中找到一些解决方案,此处无法引用 sbt-buildinfo 生成的对象,但所提供的解决方案均对我没有帮助:

InjelliJ 设置

真正奇怪的是,如果我“取消将目录标记为生成的源”,然后将该BuildInfo.scala文件手动移动到包文件夹buildpkg(我的自定义包)而不是sbt-buildinfo包,IntelliJ 会看到该文件,但这种更改是无用的,因为该文件将再次生成,所有更改都将被丢弃:

哇!

这是我的build.sbt

和我的plugins.sbt

所以我错过了什么,解决方案是什么

0 投票
1 回答
5535 浏览

sbt - 如何在项目中自动运行 scalafmt?

我在我的项目中使用scalafmt插件,我也使用Intellj 的 scalafmt 插件来格式化我的 Scala 代码。通常我使用热键或运行sbt scalafmt格式化。

问题: 任何建议如何在编译时自动使用 scalafmt 格式化代码?

0 投票
2 回答
427 浏览

scala - 如何使 SBT 任务依赖于同一个 SBT 项目中定义的模块?

我在多模块 SBT 项目中有模块 A 和模块 B。我想为模块 B 编写一个资源生成器任务,该任务从模块 A 调用代码。一种方法是从模块 A 中提取所有代码,project/但这是不可行的,因为模块 A 很大,我想把它放在哪里它是(见https://stackoverflow.com/a/47323703/471136)。我如何在 SBT 中做到这一点?

其次,是否有可能完全摆脱模块 B,即我希望模块 A 的资源生成器任务实际上从模块 A 调用代码,但模块 A 是根模块并且不存在于 SBT 中project

注意:这个问题不是这个问题的重复:Defining sbt task that invokes method from project code?因为那个决定将代码移动到 SBT 的项目中,这是我在这里特别想避免的。

0 投票
1 回答
860 浏览

sbt - 查找 sbt 插件版本

我在一个项目中使用了一些 sbt 插件,我想知道它们来自 sbt 控制台的版本。
我可以键入plugins哪些插件列表但不显示它们的版本。
我想从 sbt 控制台执行此操作,我不想在某处检查某些 plugins.sbt 文件或类似文件。

0 投票
1 回答
550 浏览

scala - 为 Scala 2.12 (Play Framework) 添加 flyway-sbt 插件时出错

TLDR:flyway-sbt Scala2.12和 SBT是否有公开可用的 jar 包1.0


有没有其他人flyway-sbt在使用 Scala 时遇到依赖解析问题2.12?查看下面的 URL,它们确实不存在

这些是我的plugins.sbt文件的补充:

0 投票
1 回答
90 浏览

scala - sbt key 在迁移到 sbt 1 后自动大写

我正在将 sbt 插件从 0.13 迁移到 1.0.4
该插件InputKey以下列方式定义:

要使用此密钥,我将运行(从 sbt 控制台):

但升级到 sbt 1.0.4 后,我收到错误:

无效键:foo-bar(类似:fooBar)

这种行为的原因是什么?
有没有办法让它foo-bar像以前一样使用命令?

运行fooBar有效,但用户已经习惯了foo-bar,我不想改变它