您可以从 sbt 提示符注入编译器插件吗?
Posted
技术标签:
【中文标题】您可以从 sbt 提示符注入编译器插件吗?【英文标题】:can you inject a compiler plugin from the sbt prompt? 【发布时间】:2015-11-24 01:30:59 【问题描述】:在 sbt 中,您可以从 sbt 提示符而不是从构建定义文件中注入编译器插件吗?
动机:
能够将您自己开发的编译器插件注入到属于您的测试套件的项目中,而无需编辑其构建定义。我发现自动编辑构建定义以连接插件是相当不确定的......
其他动机:
使用或不使用特定编译器插件进行灵活编译,无需编辑文件,也无需使用只需要在特定时间使用的编译器插件污染团队 git。例如。考虑https://github.com/sksamuel/scalac-scapegoat-plugin。
如果所有其他方法都失败了,您能否使用全局安装的 sbt plugin
来执行此操作,这会引入新的 sbt 命令?
【问题讨论】:
【参考方案1】:从本地位置运行插件可以像以下示例一样工作:
set scalacOptions in ThisBuild += "-Xplugin:/home/USERNAME/.ivy2/local/......./jars/plugin_2.11.jar"
但是,此方法不会从存储库中获取插件,而只会从本地路径中获取。寻找一种全局加载插件并仅从 sbt 提示符激活它的方法,天真地将插件添加为全局插件定义中的托管依赖项 ~/.sbt/0.13/plugins/plugins.sbt
单独,在之后编译项目时不会激活插件。
【讨论】:
以上是关于您可以从 sbt 提示符注入编译器插件吗?的主要内容,如果未能解决你的问题,请参考以下文章