0

在 sbt 中,您可以从 sbt 提示符而不是从构建定义文件中注入编译器插件吗?

动机:

能够将您自己开发的编译器插件注入到作为您的测试套件一部分的项目中,而无需编辑它们的构建定义。我发现自动编辑构建定义以连接插件是相当不确定的......

额外的动机:

使用和不使用特定编译器插件进行灵活编译,无需编辑文件,也无需使用只需要在特定时间使用的编译器插件污染团队 git。例如考虑https://github.com/sksamuel/scalac-scapegoat-plugin

如果所有其他方法都失败了,您可以通过全局安装sbt plugin来引入新的 sbt 命令吗?

4

1 回答 1

1

从本地位置运行插件可以像以下示例一样工作:

set scalacOptions in ThisBuild += "-Xplugin:/home/USERNAME/.ivy2/local/......./jars/plugin_2.11.jar"

但是,此方法不会从存储库中获取插件,而只会从本地路径中获取。寻找一种全局加载插件并仅从 sbt 提示符激活它的方法,天真地将插件添加为全局插件定义中的托管依赖项,~/.sbt/0.13/plugins/plugins.sbt然后在编译项目时不会激活插件。

于 2015-08-29T16:25:00.140 回答