问题标签 [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.
scala - sbt 0.13 多项目构建,跨项目导入包
我有一个游戏项目,我想用一个common
处理客户端、服务、实用程序等内容的库来构建它......
我的目录结构是这样的:
我的 build.sbt 配置如下:
虽然我能够成功运行 play 项目sbt myapp/run
,但当我尝试导入在myapp-common
.
例如,如果我有myapp-common/src/main/TesterObject.scala
:
如果我尝试import tester._
然后使用TesterObject.testMe
in myapp/app/controllers/HomeController.scala
,则项目在编译过程中会失败,因为它找不到包。
谁能在这里指出我正确的方向?多项目的 sbt 指南对我来说有点难以解析这个特殊问题。似乎我的依赖项已正确设置。
scala - Sbt 项目依赖
我对 Scala 和 sbt 很陌生。根据更新的 build.sbt 在命令行中用于刷新依赖项的命令是什么?
我已经尝试在 Intellij 中构建我的项目,但它没有帮助。附带说明一下, mvn build 的 sbt 替代命令是什么?
scala - 如何将设置附加到 sbt 项目?
我有这样的build.sbt
文件:
./build.sbt
和第二个文件(在同一文件夹中),如下所示:
./release.sbt
但是该命令releaseStuff
无法识别,我得到:
难道我做错了什么?
请注意,这releaseStuff
取决于插件,因此如果放在project
文件夹中,它不会编译。
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 插件 BasePlugin.scala:
如何让它与 scalaVersion := "2.11.7" 一起工作?我希望这个插件与使用 scal 版本 11 的项目一起使用。
java - IntelliJ Idea 无法解析 Scala 托管源中的符号 (sbt-buildinfo)
我认为这可能是新版本中出现的问题,并且无法像旧版本一样解决,我有一个带有sbt-buildinfo
插件的 Play Java 项目问题很常见是 IntelliJ 一直说它无法解析该符号
这是文件:
可以在IntelliJ Idea sbt 托管源文件中找到一些解决方案,此处无法引用 sbt-buildinfo 生成的对象,但所提供的解决方案均对我没有帮助:
真正奇怪的是,如果我“取消将目录标记为生成的源”,然后将该BuildInfo.scala
文件手动移动到包文件夹buildpkg
(我的自定义包)而不是sbt-buildinfo
包,IntelliJ 会看到该文件,但这种更改是无用的,因为该文件将再次生成,所有更改都将被丢弃:
这是我的build.sbt:
和我的plugins.sbt:
所以我错过了什么,解决方案是什么
sbt - 如何在项目中自动运行 scalafmt?
我在我的项目中使用scalafmt插件,我也使用Intellj 的 scalafmt 插件来格式化我的 Scala 代码。通常我使用热键或运行sbt scalafmt
格式化。
问题: 任何建议如何在编译时自动使用 scalafmt 格式化代码?
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 的项目中,这是我在这里特别想避免的。
sbt - 查找 sbt 插件版本
我在一个项目中使用了一些 sbt 插件,我想知道它们来自 sbt 控制台的版本。
我可以键入plugins
哪些插件列表但不显示它们的版本。
我想从 sbt 控制台执行此操作,我不想在某处检查某些 plugins.sbt 文件或类似文件。
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
文件的补充:
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
,我不想改变它