在scalastyle警告上使sbt构建失败

时间:2016-09-12 20:41:56

标签: scala sbt scalastyle

我执行scalastyle检查到我的代码空间,引用http://www.scalastyle.org/sbt.html

build.sbt中的

// scalastyle check
lazy val compileScalastyle = taskKey[Unit]("compileScalastyle")
compileScalastyle := org.scalastyle.sbt.ScalastylePlugin.scalastyle.in(Compile).toTask("").value
(compile in Compile) <<= (compile in Compile) dependsOn compileScalastyle
项目/ plugins.sbt中的

addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.8.0")

当我运行sbt compile时,scalastyle正在生成[warning] ***./utils/ConfigManager.scala: File must end with newline character,但编译仍然成功

有没有办法让scalastyle警告sbt compile 失败

我只是将所有<check level="warning" ...>更改为<check level="error" ...>中的scalastyleGenerateConfig,我不确定这是否是正确的做法。

非常感谢

2 个答案:

答案 0 :(得分:10)

我真的只能想到两个简单的选项。

显而易见的是更改scalastyle配置,以便您希望导致构建失败的警告是错误。这就是scalastyle配置的真正含义。如果您希望将某些内容视为错误,请将其命名为一个! <check level="error" ...>会给你最少的头痛。

否则,在sbt中提升警告警告的唯一简单方法是使用-Xfatal-warnings标志:

scalacOptions ++= Seq("-Xfatal-warnings")

但是,这会将项目中的所有警告转换为错误,scalastyle与否。

答案 1 :(得分:0)

sbt 插件还有 docs 中提到的 2 个相关配置:

  1. scalastyleFailOnWarning,默认值为 false
  2. scalastyleFailOnError 其默认为 true(文档说 false,但代码说 true)