diff --git a/build.sbt b/build.sbt index 9a07324dd..2d5976cea 100644 --- a/build.sbt +++ b/build.sbt @@ -14,15 +14,6 @@ def commonSettings: Seq[Setting[_]] = Seq( testOptions += Tests.Argument(TestFrameworks.ScalaCheck, "-w", "1"), javacOptions in compile ++= Seq("-Xlint", "-Xlint:-serial"), crossScalaVersions := Seq(scala211, scala212), - scalacOptions := { - val old = scalacOptions.value - scalaVersion.value match { - case sv if sv.startsWith("2.10") => - old diff List("-Xfuture", "-Ywarn-unused", "-Ywarn-unused-import") - case sv if sv.startsWith("2.11") => old ++ List("-Ywarn-unused", "-Ywarn-unused-import") - case _ => old ++ List("-Ywarn-unused", "-Ywarn-unused-import", "-YdisableFlatCpCaching") - } - }, scalacOptions in console in Compile -= "-Ywarn-unused-import", scalacOptions in console in Test -= "-Ywarn-unused-import", publishArtifact in Compile := true, @@ -110,8 +101,13 @@ lazy val utilLogging = (project in internalPath / "util-logging") crossScalaVersions := Seq(scala210, scala211, scala212), name := "Util Logging", libraryDependencies ++= - Seq(jline, log4jApi, log4jCore, disruptor, sjsonnewScalaJson.value, scalaReflect.value), + Seq(jline, log4jApi, log4jCore, disruptor, sjsonnewScalaJson.value, scalaReflect.value, + compilerPlugin(silencerPlugin), silencerLib), libraryDependencies ++= Seq(scalaCheck, scalaTest), + Compile / scalacOptions ++= (scalaVersion.value match { + case v if v.startsWith("2.12.") => List("-Ywarn-unused:-locals,-explicits,-privates") + case _ => List() + }), sourceManaged in (Compile, generateContrabands) := baseDirectory.value / "src" / "main" / "contraband-scala", contrabandFormatsForType in generateContrabands in Compile := { tpe => val old = (contrabandFormatsForType in generateContrabands in Compile).value diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/FilterLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/FilterLogger.scala index d52901c7b..03bc1e862 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/FilterLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/FilterLogger.scala @@ -4,13 +4,14 @@ package sbt.internal.util import sbt.util._ +import com.github.ghik.silencer.silent /** * A filter logger is used to delegate messages but not the logging level to another logger. This means * that messages are logged at the higher of the two levels set by this logger and its delegate. */ class FilterLogger(delegate: AbstractLogger) extends BasicLogger { - override lazy val ansiCodesSupported = delegate.ansiCodesSupported + @silent override lazy val ansiCodesSupported = delegate.ansiCodesSupported def trace(t: => Throwable): Unit = { if (traceEnabled) delegate.trace(t) diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/FullLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/FullLogger.scala index c3ad40442..60478d3b9 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/FullLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/FullLogger.scala @@ -4,11 +4,12 @@ package sbt.internal.util import sbt.util._ +import com.github.ghik.silencer.silent /** Promotes the simple Logger interface to the full AbstractLogger interface. */ class FullLogger(delegate: Logger) extends BasicLogger { @deprecated("No longer used.", "1.0.0") - override val ansiCodesSupported: Boolean = delegate.ansiCodesSupported + @silent override val ansiCodesSupported: Boolean = delegate.ansiCodesSupported def trace(t: => Throwable): Unit = { if (traceEnabled) diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/MultiLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/MultiLogger.scala index 2d12a1b2f..a3eb9948e 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/MultiLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/MultiLogger.scala @@ -4,13 +4,14 @@ package sbt.internal.util import sbt.util._ +import com.github.ghik.silencer.silent // note that setting the logging level on this logger has no effect on its behavior, only // on the behavior of the delegates. class MultiLogger(delegates: List[AbstractLogger]) extends BasicLogger { @deprecated("No longer used.", "1.0.0") override lazy val ansiCodesSupported = delegates exists supported - private[this] def supported = (_: AbstractLogger).ansiCodesSupported + @silent private[this] def supported = (_: AbstractLogger).ansiCodesSupported override def setLevel(newLevel: Level.Value): Unit = { super.setLevel(newLevel) diff --git a/internal/util-position/src/main/scala/sbt/internal/util/Positions.scala b/internal/util-position/src/main/scala/sbt/internal/util/Positions.scala index ca3626db1..47c5bc16b 100644 --- a/internal/util-position/src/main/scala/sbt/internal/util/Positions.scala +++ b/internal/util-position/src/main/scala/sbt/internal/util/Positions.scala @@ -1,5 +1,7 @@ package sbt.internal.util +import scala.language.experimental.macros + sealed trait SourcePosition sealed trait FilePosition extends SourcePosition { @@ -22,7 +24,6 @@ final case class RangePosition(path: String, range: LineRange) extends FilePosit object SourcePosition { /** Creates a SourcePosition by using the enclosing position of the invocation of this method. - * @see [[scala.reflect.macros.Enclosures#enclosingPosition]] * @return SourcePosition */ def fromEnclosing(): SourcePosition = macro SourcePositionMacro.fromEnclosingImpl diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 806cbe65b..6d51c107f 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -7,7 +7,7 @@ object Dependencies { val scala211 = "2.11.12" val scala212 = "2.12.6" - private val ioVersion = "1.2.0" + private val ioVersion = "1.2.1" private val sbtIO = "org.scala-sbt" %% "io" % ioVersion @@ -58,4 +58,6 @@ object Dependencies { val log4jApi = "org.apache.logging.log4j" % "log4j-api" % log4jVersion val log4jCore = "org.apache.logging.log4j" % "log4j-core" % log4jVersion val disruptor = "com.lmax" % "disruptor" % "3.3.6" + val silencerPlugin = "com.github.ghik" %% "silencer-plugin" % "1.2" + val silencerLib = "com.github.ghik" %% "silencer-lib" % "1.2" % Provided } diff --git a/project/build.properties b/project/build.properties index 5620cc502..0cd8b0798 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.2.1 +sbt.version=1.2.3 diff --git a/project/plugins.sbt b/project/plugins.sbt index e1c769a77..c064ea157 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,3 +1,3 @@ -addSbtPlugin("org.scala-sbt" % "sbt-houserules" % "0.3.7") -addSbtPlugin("org.scala-sbt" % "sbt-contraband" % "0.4.0") +addSbtPlugin("org.scala-sbt" % "sbt-houserules" % "0.3.8") +addSbtPlugin("org.scala-sbt" % "sbt-contraband" % "0.4.1") addSbtPlugin("com.lightbend" % "sbt-whitesource" % "0.1.9") diff --git a/util-cache/src/main/scala/sbt/util/FileInfo.scala b/util-cache/src/main/scala/sbt/util/FileInfo.scala index bef3d6bfd..1fc605a3d 100644 --- a/util-cache/src/main/scala/sbt/util/FileInfo.scala +++ b/util-cache/src/main/scala/sbt/util/FileInfo.scala @@ -4,7 +4,6 @@ package sbt.util import java.io.File -import java.io.FileNotFoundException import scala.util.control.NonFatal import sbt.io.{ Hash, IO } import sjsonnew.{ Builder, JsonFormat, Unbuilder, deserializationError } diff --git a/util-cache/src/test/scala/CacheSpec.scala b/util-cache/src/test/scala/CacheSpec.scala index ad51d7ff5..138e6218b 100644 --- a/util-cache/src/test/scala/CacheSpec.scala +++ b/util-cache/src/test/scala/CacheSpec.scala @@ -46,7 +46,7 @@ class CacheSpec extends FlatSpec { } cache(store)("someKey") match { - case Hit(read) => assert(read === value) + case Hit(read) => assert(read === value); () case Miss(_) => fail } } @@ -63,7 +63,7 @@ class CacheSpec extends FlatSpec { } cache(store)(key) match { - case Hit(read) => assert(read === value) + case Hit(read) => assert(read === value); () case Miss(_) => fail } } diff --git a/util-cache/src/test/scala/SingletonCacheSpec.scala b/util-cache/src/test/scala/SingletonCacheSpec.scala index d22e10f2d..5c812f8d1 100644 --- a/util-cache/src/test/scala/SingletonCacheSpec.scala +++ b/util-cache/src/test/scala/SingletonCacheSpec.scala @@ -69,7 +69,7 @@ class SingletonCacheSpec extends FlatSpec { cache.write(store, value) val read = cache.read(store) - assert(read === value) + assert(read === value); () } } @@ -80,7 +80,7 @@ class SingletonCacheSpec extends FlatSpec { cache.write(store, value) val read = cache.read(store) - assert(read === value) + assert(read === value); () } }