gpt4 book ai didi

scala - Wartremover 仍会在排除的 Play 路线文件中报告疣

转载 作者:行者123 更新时间:2023-12-04 23:41:57 26 4
gpt4 key购买 nike

我正在尝试将 Wartremover 添加到我的 Play 项目中,但它不断报告路由文件中的疣,即使我排除了它。我正在使用 Wartremover 0.14 和 Play Framework 2.4.6。

我的 build.sbt 中的相关部分:

wartremoverErrors ++= Warts.all
wartremoverExcluded += crossTarget.value / "routes" / "main" / "router" / "Routes.scala"

(请注意,我的做法必须与 this question 中的建议不同。)

没有 wartremoverExcluded行,Wartremover 在我的路由文件中报告了 13 个错误。有了它,它仍然报告两个:一个关于 Wart.Var还有一个关于 Wart.ExplicitImplicitTypes .我也可以排除这些疣,但使用 Warts.allBut(Wart.Var, Wart.ExplicitImplicitTypes) ,但我不想这样做,因为这将这些疣从我的整个代码库中排除,而不仅仅是路由文件。

有没有办法让 Wartremover 停止在路由文件上报告这些疣,而不排除每个文件的这些疣?

最佳答案

尝试添加这些:

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 1.4+:
wartremoverExcluded ++= (Compile / routes).value
或者你可以试试这个 sbt plugin I wrote to do it for you .

关于scala - Wartremover 仍会在排除的 Play 路线文件中报告疣,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34788530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com