2015-08-29 109 views

回答

4

实现此目的的一种方法是通过环境变量。请注意,在我的示例代码下面我使用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添加到需要禁用的插件序列中。最后,在我们的项目定义中,我们确实禁用了这些。

如果与詹金斯属性集(sbt -DJENKINS=true)的ReleasePlugin被禁用

+0

+1一个有效的解决方案,但SBT开始,如果我有我的CI服务器之间决定不必要格式化我的消息来源与塞满我的构建定义像这样,我宁愿让CI做格式化:( – Taig

+1

你可以创建一个自定义的项目函数来完成这个工作,并把它放到一个辅助对象中,至少你的build.sbt仍然是干净的 – matthias