你可以从sbt提示符注入一个编译器插件吗?

时间:2015-08-29 14:26:09

标签: sbt scalac

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

动机:

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

额外动机:

在没有编辑文件的情况下使用和不使用某个编译器插件进行灵活编译,也不会使用您需要在特定时间使用的编译器插件来污染团队git。例如。考虑https://github.com/sksamuel/scalac-scapegoat-plugin

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

1 个答案:

答案 0 :(得分:0)

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

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

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