问题标签 [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 - inetelliJ 想法 - sbt 插件与独立 sbt 冲突
我想在 Ubuntu 上设置 Spark-Scala-Sbt 开发环境
所以我在安装 IntelliJ 之前分别安装了 SBT、Scala。
但是在安装了 intelliJ 之后,我也为 intelliJ 安装了sbt插件。
现在如何避免 2 个 sbt 之间的冲突使用哪一个以及如何正确设置以避免冲突。
还想知道 HOW .. 安装的 Scala & SBT 与 itelliJ IDEA 附带的 scala & sbt 插件不同
scalatest - 未知工件 sbtplugin 带有 scala 2.12 的超级安全编译器
在 Scala 2.12 的 sbt 项目中,我使用 IntelliJ IDEA 并希望导入 scalatest。为了安装推荐的 SuperSafe 社区版 Scala 编译器插件。我按照这里的说明进行操作。
我的plugin.sbt:
addSbtPlugin("com.artima.supersafe" % "sbtplugin" % "1.1.2")
Intellij 导入显示的错误是:
也许与新的 Scala 版本不兼容?
sbt - SBT 插件:是否可以为单个测试运行脚本而不是运行所有测试?
我有 5 个脚本测试来测试我的 sbt 插件。所有这些都需要很长时间才能运行。我有时只想运行其中一项测试。
是否可以指定脚本运行哪个测试?
java - 如何在 sbt 项目中使用 sbt 插件作为库依赖项?
我有一个使用多项目构建的 sbt 插件项目。我想将此插件用作其他 sbt 项目的依赖项。我已经创建了一个插件,但是当我将此插件添加到项目时,我似乎无法正确链接依赖项。
sbt 插件
构建.sbt
sbt-plugin\plugin\src\main\scala\com\example\Hello.scala
插件测试
plugin-test 是一个 sbt 项目,我用来测试 sbt-plugin
插件测试\build.sbt
插件测试\项目\plugins.sbt
插件测试\src\main\scala\com\exam\Test.scala
但是当我编译插件测试项目时,它显示以下错误:
我在两个项目上都执行了发布本地和插件/发布本地,并且工件正确解析。我将 sbt-plugin 添加到plugins.sbt
并编译了项目,但Test.scala
由于上述错误无法编译,就好像依赖项不存在一样。
我在这里想念什么?
scala - 如何通过将 sbt-plugin 用作多项目构建中的依赖项来访问它的子项目?
我有一个使用多项目构建的 sbt 插件项目。我想将此插件用作其他 sbt 项目的依赖项并访问此 sbt 插件的子项目。我创建了一个插件并将插件添加到一个 sbt 项目中,但我无法访问那里的插件子项目。
sbt 插件
构建.sbt
sbt-plugin\plugin\src\main\scala\com\example\Main.scala
sbt-plugin\plugin\src\main\scala\com\example\Hello.scala
插件测试
plugin-test 是一个 sbt 项目,我用来测试 sbt-plugin
插件测试\build.sbt
插件测试\src\main\scala\com\exam\Test.scala
当我从 root 运行 plugin-test 项目时,它正在运行,但有下面提到的日志,我不确定它为什么会显示这个,因为根据我的输出只会Hello, world!
当我尝试通过运行 sbt-plugin 的子项目时 pluginpro/run
,它找不到主类。
我在 sbt-plugin/plugin 项目中创建了主类。我在两个项目上都执行了本地发布和插件/本地发布,并且正确解析了工件。
我在这里想念什么?
scala - 如何在 sbt 项目中重用 Ammonite REPL 的 sc 文件?
我有一些sc
在一些 Jupyter Scala 笔记本中使用的可重复使用的 Ammonite REPL 文件。
现在我正在创建一个由 sbt 构建的独立应用程序。我希望我可以sc
在 sbt 项目中重用这些现有文件。
sc
是否可以为 Jupyter Scala/Ammonite REPL 和 sbt 项目共享这些文件?如何使scala
源和sc
文件一起编译?
sbt - 在 sbt 插件掩码运行任务中覆盖集成测试配置
考虑以下 sbt 插件定义,它“覆盖”默认的“it”配置以扩展测试配置(原因在如何使“测试”类在“it”(集成测试)配置中可用?)
虽然这似乎通常有效,但它“掩盖”了运行任务。请参阅使用上述插件的项目的以下 sbt 输出:
请注意:run而不是compile:run。不知何故,“it”配置的重新定义似乎重新定义/屏蔽了运行任务。如果我选择“有趣”而不是“它”,则不会发生这种情况。我正在使用 sbt 0.13.15。
知道这里发生了什么以及如何防止运行任务被屏蔽吗?
sbt - SBT:发现任务的先前版本
目标是一个主插件,它可以根据使用主插件的项目中的设置来决定运行哪些其他插件。在这一点上它已经成为学术,我学到了很多东西。
当前正在编译的实现具有打包步骤依赖于 taskDyn,它要么进行插件的关键调用(手动从插件源中挖出并复制到 taskDyn 中),要么调用在主插件之前存在的打包任务的版本参与其中。逻辑和接线都在那里,当谓词有效时,会进行插件调用,但对前一个任务的调用被证明是难以捉摸的。
我目前必须找到旧打包程序的代码引入了循环依赖,因为作用域工件依赖于 taskDyn,并且当任务突然想知道作用域工件时(至少我现在这样做的方式),繁荣。
val original : TaskKey[(Artifact, File)] = packagedArtifact in(Compile, packageBin)
val osgiTask: Def.Initialize[Task[File]] = Def.taskDyn[File] {
if (featureFile.value.exists) {
addArtifact(Def.setting(Artifact(moduleName.value, "xml", "xml", "feature")), featureFile.toTask)
OsgiKeys.bundle
} else {
Def.task(original.toTask.value._2)
}
}
如果这是一个简单的问题,我只需要弄清楚如何将原始/默认任务分配给依赖项。这个问题可能无法解决——可能无法发现和缓存分配给创建作用域工件的任务的原始版本,或者如果不创建循环依赖项,它的使用可能是不可能的。如果是这样,你能想象另一种方法来做到这一点吗?
当前来源位于https://gist.github.com/briantopping/274204cc527669baa19b80536ce8bd11。
谢谢!
scala - SBT 插件:如何将编译器插件添加为不向下游传播的依赖项?
我正在写一个 SBT 插件。我想使用 Circe JSON 库,但它需要 Scala 2.10 上的 Macro Paradise 编译器插件。
通常你添加编译器插件build.sbt
和 SBT 插件到project/plugins.sbt
.
现在,当您构建 SBT 插件时,其他插件成为依赖项,因此您将它们放入并将build.sbt
它们传播到您使用 SBT 插件的项目。
当我将以下片段放入build.sbt
我的 SBT 插件时:
Paradise 编译器插件是否会传播到下游项目?
dependencies - 访问 sbt 插件中的依赖(非子)项目
请在下面找到使用我们插件的示例 build.sbt 文件。在这个示例 BasePlugin 中,我们想要 a/project、b/project 目录的完整路径:-
另外,在下面找到简化的 sbt 插件 BasePlugin.scala :-
如何访问 sbt 插件中的依赖项目。