sbt-plugin相关内容

SBT 插件 - 通过他们的 build.sbt 用户定义的命令配置

我正在编写一个添加命令的 SBT 插件,并希望用户能够通过在其 build.sbt 中设置变量来配置此命令.实现这一目标的最简单方法是什么? 这是插件外观的简化示例: 导入 sbt.Keys._导入 sbt._对象 MyPlugin 扩展插件 {覆盖惰性 val 设置 = Seq(commands += Command.args("mycommand", "myarg")(myComman ..
发布时间:2022-01-24 21:47:31 其他开发

SBT插件——编译前执行自定义任务

我刚刚编写了我的第一个 SBT Autoplugin,它有一个生成设置文件的自定义任务(如果该文件尚不存在).当显式调用任务时,一切都按预期工作,但我希望在使用插件编译项目之前自动调用它(无需项目修改它的 build.sbt 文件).有没有办法做到这一点,或者我是否需要覆盖 compile 命令?如果是这样,有人能指出我这样做的例子吗?任何帮助将不胜感激!(如果我遗漏了一些简单的东西,我很抱歉!) ..
发布时间:2021-07-15 19:05:29 其他开发

如何从 AutoPlugin 覆盖默认任务?

假设我想覆盖(替换)packageBin 任务的默认设置.于是我天真地写了一个这样的 AutoPlugin: object TestPlugin 扩展 AutoPlugin {覆盖定义触发器 = allRequirements覆盖 val projectSettings: Seq[Def.Setting[_]] = Seq(packageBin in Compile ..
发布时间:2021-07-15 19:04:08 其他开发

SBT 插件:如何将编译器插件添加为不向下游传播的依赖项?

我正在编写 SBT 插件.我想使用 Circe JSON 库,但它需要 Scala 2.10 上的 Macro Paradise 编译器插件. 通常您将编译器插件添加到 build.sbt 并将 SBT 插件添加到 project/plugins.sbt. 现在,当您构建 SBT 插件时,其他插件将成为依赖项,因此您将它们放在 build.sbt 中,然后它们会传播到您使用 SBT 插 ..
发布时间:2021-07-15 19:03:53 其他开发

无法从 AutoPlugin 的命令运行自定义 sbt 任务

我尝试了我能想到的所有方法,但运行 taskB 仍然以错误消息结束,即任务未在 */*:taskB 或 */cmd:taskB 如果我把它放在自定义配置中. Command.command("doStuff", Help.more("doStuff", "whatever")) {(状态:状态)=>val e = Project.extract(state)val taskA = taskKey ..
发布时间:2021-07-15 19:01:04 其他开发

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

我在一个多模块 SBT 项目中有模块 A 和模块 B.我想为模块 B 编写一个资源生成器任务,它调用模块 A 的代码.一种方法是从模块 A 中提取 project/ 下的所有代码,但这是不可行的,因为模块 A 是巨大的,我想把它保持在原处(见 https://stackoverflow.com/a/47323703/471136).我如何在 SBT 中执行此操作? 其次,是否有可能完全摆脱模 ..
发布时间:2021-07-15 19:00:35 其他开发

解决sbt中的jar加载冲突

在将两个特定的sbt插件一起添加到其构建定义中的项目时,在sbt启动时出现以下错误.这些sbt插件之一是 scalikejdbc ,另一个是scala.reflect.internal.Types$TypeError: package macros contains object and package with same name: blackbox 很显然,每个插件似乎都带来了不同版本的 ..
发布时间:2020-07-25 01:22:20 其他开发