Как выполнить неудачную компиляцию, если есть какой-либо мертвый код или неиспользуемый импорт, переменные и т.д.

#scala #scalastyle

#scala #scalastyle

Вопрос:

Я пытаюсь выполнить неудачную компиляцию, если есть какой-либо неиспользуемый импорт, локальные или частные переменные или мертвый код в кодовой базе. Итак, я добавил следующие scalacoptions.

 scalacOptions   = Seq(
        "-encoding", "UTF-8",
        "-Xfatal-warnings",
        "-Xlint:-unused,_",
        "-Ywarn-dead-code",
        "-Ywarn-unused:imports",             // Warn if an import selector is not referenced
        "-Ywarn-unused:locals",              // Warn if a local definition is unused
        "-Ywarn-unused:patvars",             // Warn if a variable bound in a pattern is unused
        "-Ywarn-unused:privates",            // Warn if a private member is unused
        "-deprecation"
      )
  

Но всякий раз, когда я компилирую свой проект, он завершает компиляцию с ошибкой и выдает следующую ошибку.

 [error] 'imports' is not a valid choice for '-Ywarn-unused'
[error] bad option: '-Ywarn-unused:imports'
  

версия scala: 2.11.11

Я не уверен, какую ошибку я делаю.

Комментарии:

1. Вы пробовали -Ywarn-unused-import вместо этого?

2. @AndreyTyukin да, это выдало ту же ошибку

3. Вы, вероятно, имеете в виду аналогичную ошибку, что-то вроде bad option: '-Ywarn-unused-import' ?

4. @andrey tyukin да.

5. Если у вас есть scalac версия 2.11.11, вы могли бы позволить ей перечислить соответствующие параметры с scalac -Y | grep import помощью консоли (при условии, что среда bash / * nix).

Ответ №1:

Приведенные ниже настройки должны работать —

     lazy val project_name = project.in(file(".")).settings(commonSettings)

    lazy val commonSettings = reformatOnCompileSettings    Seq(
    scalacOptions   = Seq(
        "-Ywarn-unused-import",
        "-language:postfixOps",
        "-Ypartial-unification"
    )
    )
  

Надеюсь, это поможет.