你能从 sbt 提示符中注入一个编译器插件吗?
can you inject a compiler plugin from the sbt prompt?
在 sbt 中,你能从 sbt 提示符而不是从构建定义文件中注入编译器插件吗?
动机:
能够将您自己开发的编译器插件注入到属于您的测试套件的项目中,而无需编辑它们的构建定义。我发现自动编辑构建定义以连接插件是相当不确定的...
额外的动机:
使用和不使用某个编译器插件灵活编译,无需编辑文件,也不会污染团队 git 使用您只需要在特定时间使用的编译器插件。例如。考虑 https://github.com/sksamuel/scalac-scapegoat-plugin.
如果一切都失败了,你能用全局安装的 sbt plugin
来引入新的 sbt 命令吗?
运行 来自本地位置的插件可以像以下示例一样工作:
set scalacOptions in ThisBuild += "-Xplugin:/home/USERNAME/.ivy2/local/......./jars/plugin_2.11.jar"
但是,此方法不会从存储库中获取插件,只能从本地路径中获取。寻找一种全局加载插件并仅从 sbt 提示符激活它的方法,天真地将插件作为托管依赖项添加到 ~/.sbt/0.13/plugins/plugins.sbt
的全局插件定义中,此后编译项目时不会激活插件.
在 sbt 中,你能从 sbt 提示符而不是从构建定义文件中注入编译器插件吗?
动机:
能够将您自己开发的编译器插件注入到属于您的测试套件的项目中,而无需编辑它们的构建定义。我发现自动编辑构建定义以连接插件是相当不确定的...
额外的动机:
使用和不使用某个编译器插件灵活编译,无需编辑文件,也不会污染团队 git 使用您只需要在特定时间使用的编译器插件。例如。考虑 https://github.com/sksamuel/scalac-scapegoat-plugin.
如果一切都失败了,你能用全局安装的 sbt plugin
来引入新的 sbt 命令吗?
运行 来自本地位置的插件可以像以下示例一样工作:
set scalacOptions in ThisBuild += "-Xplugin:/home/USERNAME/.ivy2/local/......./jars/plugin_2.11.jar"
但是,此方法不会从存储库中获取插件,只能从本地路径中获取。寻找一种全局加载插件并仅从 sbt 提示符激活它的方法,天真地将插件作为托管依赖项添加到 ~/.sbt/0.13/plugins/plugins.sbt
的全局插件定义中,此后编译项目时不会激活插件.