Заставить сборку sbt терпеть неудачу на предупреждениях скалярного стиля

Я использую проверку скалярного стиля в своем кодовом пространстве, ссылаясь на 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скалярный стиль генерирует [warning] ***./utils/ConfigManager.scala: File must end with newline character, но скомпилировать все же удалось.

Есть ли способ сделать sbt compile потерпеть неудачу в предупреждениях скалярного стиля?

Я просто поменяю все <check level="warning" ...> быть <check level="error" ...> в scalastyleGenerateConfigЯ не уверен, что это правильный способ сделать это.

большое спасибо

2 ответа

Решение

На самом деле я могу придумать только два простых варианта.

Очевидным является изменение конфигурации скалярного стиля, чтобы предупреждения, которые вы хотите вызвать, приводили к ошибкам сборки. Это действительно то, для чего нужен скалярный конфиг. Если вы хотите, чтобы что-то считалось ошибкой, называйте это! <check level="error" ...> даст вам наименьшее количество головной боли.

В противном случае единственным простым способом предупреждения об ошибке в sbt является использование -Xfatal-warnings флаг:

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

Но это преобразует все предупреждения в вашем проекте в ошибки, скалярный стиль или нет.

Плагин sbt также имеет две соответствующие конфигурации, упомянутые в документах :

  1. scalastyleFailOnWarning со значением по умолчанию false
  2. scalastyleFailOnError, который по умолчанию имеет значение true (документы говорят false, но код говорит true)
Другие вопросы по тегам