使用build.sbt文件,例如:
ThisBuild / organization := "com.company"
ThisBuild / version := "1.0.0-SNAPSHOT"
ThisBuild / scalaVersion := "2.11.12"
Global / concurrentRestrictions += Tags.limit(Tags.Test, 1)
Global / scalacOptions ++= Seq("-Ypartial-unification",
"-unchecked",
"-Xfatal-warnings",
"-Ywarn-dead-code",
"-Ywarn-inaccessible",
"-Ywarn-unused",
"-Ywarn-unused-import",
"-Ywarn-macros:after")
运行[error] bad option: '-Ywarn-macros:none'
后我得到sbt clean compile
如果没有-Ywarn-macros:after
,则未使用的导入警告会使用Circe宏在文件中引发虚假警告,例如:import io.circe.{ Decoder, Encoder }
。
答案 0 :(得分:5)
-Ywarn-macros
直到Scala 2.12才添加,因此可能会出现错误。
您可以升级到Scala 2.12吗?如果您坚持使用2.11,也许您将需要没有-Ywarn-unused-import
生活。 (由于Som Snytt的不懈努力,总体上,未使用的警告随着2.12.x系列的发展而大大改善。)
您也许可以将使用Circe的代码限制在一个子项目中,然后仅在该子项目中禁用未使用的警告,以便在其余代码库中将其保持启用状态。
另一种可能性是尝试https://github.com/ghik/silencer。