从sbt命令行禁用AutoPlugin

时间:2015-08-29 09:39:24

标签: scala sbt

我使用的是Scalariform AutoPlugin,并希望在CI服务器上运行测试时禁用它。有没有sbt选项呢?

1 个答案:

答案 0 :(得分:5)

实现这一目标的一种方法是通过环境变量。请注意我的示例代码在下面我使用sbt-release插件,但它应该很容易采用scalariform。

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:_*)

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

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