迁移到 sbt 1:如何在编译时运行 Scalastyle

Posted

技术标签:

【中文标题】迁移到 sbt 1:如何在编译时运行 Scalastyle【英文标题】:Migration to sbt 1: how to run Scalastyle at compilation time 【发布时间】:2018-11-08 07:57:20 【问题描述】:

我的项目在编译时运行了 scalastyle。由于我从 sbt 0.13 更新到 sbt 1.0.1,我无法让它再次工作。

我遵循here 的文档并将其添加到我的 build.sbt:

lazy val compileScalaStyle: TaskKey[Unit] = taskKey[Unit]("scalastyle")

compileScalastyle := scalastyle.in(Compile).toTask("").value,
(compile in Compile) := ((compile in Compile) dependsOn compileScalastyle).value,

但我收到此错误: 未找到:值 scalastyle

我需要导入吗?如果是,我没找到。

【问题讨论】:

【参考方案1】:

您不需要特殊的导入。 compileScalaStyle 中似乎有错字。试试

lazy val compileScalastyle = taskKey[Unit]("compileScalastyle")

而不是

lazy val compileScalaStyle: TaskKey[Unit] = taskKey[Unit]("scalastyle")

Here 是一个使用 Scalastyle 1.0.0 和 SBT 1.0.4 的工作示例项目。

【讨论】:

以上是关于迁移到 sbt 1:如何在编译时运行 Scalastyle的主要内容,如果未能解决你的问题,请参考以下文章

如何在 sbt 中运行和编译准确的一项测试?

SBT安装与编译运行

SBT安装与编译运行

JOOQ sbt 0.3.16到1.2.8迁移

如何在scala中自动重新运行sbt项目

在构建 SBT 编译时,我需要运行一些可以从案例类创建模式 JSON 的类