Wartremover по-прежнему сообщает о бородавках в файле исключенных маршрутов воспроизведения.
Я пытаюсь добавить Wartremover в свой проект Play, но он продолжает сообщать о бородавках в файле маршрутов, даже если я его исключаю. Я использую Wartremover 0.14 и Play Framework 2.4.6.
Соответствующая часть из моего build.sbt:
wartremoverErrors ++= Warts.all
wartremoverExcluded += crossTarget.value / "routes" / "main" / "router" / "Routes.scala"
(Обратите внимание, что я должен сделать это не так, как предлагают ответы в этом вопросе.)
Без wartremoverExcluded
строка, Wartremover сообщает о 13 ошибках в моем файле маршрутов. С этим, это все еще сообщает два: один о Wart.Var
и один о Wart.ExplicitImplicitTypes
, Я тоже могу исключить эти бородавки, но используя Warts.allBut(Wart.Var, Wart.ExplicitImplicitTypes)
, но я бы предпочел этого не делать, потому что это исключает эти бородавки из всей моей кодовой базы, а не только из файла маршрутов.
Есть ли способ заставить Wartremover перестать сообщать об этих бородавках в файле маршрута, не исключая эти бородавки для каждого файла?
2 ответа
Попробуйте добавить это:
wartremoverExcluded += crossTarget.value / "routes" / "main" / "router" / "Routes.scala"
wartremoverExcluded += crossTarget.value / "routes" / "main" / "router" / "RoutesPrefix.scala"
wartremoverExcluded += crossTarget.value / "routes" / "main" / "controllers" / "ReverseRoutes.scala"
wartremoverExcluded += crossTarget.value / "routes" / "main" / "controllers" / "javascript" / "JavaScriptReverseRoutes.scala"
Изменить: Прошло более года с тех пор, как я впервые написал этот ответ. wartremoverExcluded
был изменен с SettingKey
к TaskKey
, так что вы можете упростить вышесказанное до:
wartremoverExcluded ++= routes.in(Compile).value
Или вы можете попробовать этот плагин sbt, который я написал, чтобы сделать это для вас.
Это работает для меня:
wartremoverExcluded ++= Seq(
baseDirectory.value / "target" / "scala-2.11" / "src_managed" / "main" / "routes_routing.scala",
baseDirectory.value / "target" / "scala-2.11" / "src_managed" / "main" / "routes_reverseRouting.scala"
)
(на самом деле я играю 2.3, не уверен, что на 2.4.6 то же самое)