从sbt命令行禁用AutoPlugin

Tai*_*aig 1 scala sbt

我正在使用Scalariform AutoPlugin,并且想在CI服务器上运行测试时将其禁用。是否有sbt选项可以这样做?

小智 5

实现此目的的一种方法是通过环境变量。请注意,在下面的示例代码中,我使用sbt-release插件,但应易于采用标量形式。

lazy val isJenkins = sys.props.get("JENKINS").isDefined

lazy val disPlugins = if(isJenkins) Seq(ReleasePlugin) else Seq.empty

lazy val root = (project in file(".")).disablePlugins(disPlugins:_*)
Run Code Online (Sandbox Code Playgroud)

第一个val检查是否JENKINS设置了系统属性。根据此值,我们将ReleasePlugin添加到需要禁用的插件序列中。最后,在项目定义期间,我们实际上禁用了这些功能。

如果您使用jenkins属性集(sbt -DJENKINS=true)启动sbt,则ReleasePlugin将被禁用