gpt4 book ai didi

scala - 从 scalastyle sbt 插件中排除文件夹

转载 作者:行者123 更新时间:2023-12-02 20:53:03 25 4
gpt4 key购买 nike

我发现的有关该主题的所有其他问题都很古老。

我正在使用 sbtscala-style 插件构建一个 scala 项目,但我找不到排除其中包含一些生成代码的特定文件夹的方法.

有没有办法强制插件不检查该特定文件夹?

现在我正在手动编辑文件并添加:

//scalastyle:off

在文件顶部,但这很烦人。

在官网http://www.scalastyle.org/sbt.html我找不到任何文档,尽管似乎实际上可以从中排除路径/文件。

https://github.com/scalastyle/scalastyle/blob/e19b54eacb6502b47b1f84d7b2a6b5d33f3993bc/src/main/scala/org/scalastyle/Main.scala#L51

看来我们实际上可以通过:

println(" -x, --excludedFiles STRING      regular expressions to exclude file paths (delimited by semicolons)")

在我的build.sbt中我调用:

lazy val compileScalastyle = taskKey[Unit]("compileScalastyle")
compileScalastyle := org.scalastyle.sbt.ScalastylePlugin.scalastyle.in(Compile).toTask("").value
(compile in Compile) <<= (compile in Compile) dependsOn compileScalastyle

有没有办法通过sbt插件来实现这一点?

最佳答案

您可以获取“src/main/scala”下的所有文件/目录并过滤掉您的目录:

lazy val root = (project in file(".")).
settings(
(scalastyleSources in Compile) := {
// all .scala files in "src/main/scala"
val scalaSourceFiles = ((scalaSource in Compile).value ** "*.scala").get
val fSep = java.io.File.separator // "/" or "\"
val dirNameToExclude = "com" + fSep + "folder_to_exclude" // "com/folder_to_exclude"
scalaSourceFiles.filterNot(_.getAbsolutePath.contains(dirNameToExclude))
}
)

编辑:
我添加了一个更“通用”的解决方案,它检查要排除的每个文件的路径...

关于scala - 从 scalastyle sbt 插件中排除文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41508749/

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