diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2016-05-10 15:07:45 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2016-05-16 16:18:15 +1000 |
commit | 83864872d7b642520fdf522fd300151d8bc22da4 (patch) | |
tree | 152dcbd19d16d798bb9da8204a49bc90f38fa09e /project/Quiet.scala | |
parent | cf3850626a62ce7aefad129b3af5c8184c7226a6 (diff) | |
download | scala-83864872d7b642520fdf522fd300151d8bc22da4.tar.gz scala-83864872d7b642520fdf522fd300151d8bc22da4.tar.bz2 scala-83864872d7b642520fdf522fd300151d8bc22da4.zip |
Eliminate major sources of daily noise in SBT build.
- Intercept incorrect "binary conflict" warning issued by SBT.
Fixes https://github.com/scala/scala-dev/issues/100
- Bump to a new version of pantsbuild/jarjar to fix an
incompatibility with Java 8 parameter names in class
files, which we run into on the 2.12.x branch. See:
https://github.com/pantsbuild/jarjar/pull/19
- Disable info level logging for dependency resolve/download.
Diffstat (limited to 'project/Quiet.scala')
-rw-r--r-- | project/Quiet.scala | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/project/Quiet.scala b/project/Quiet.scala new file mode 100644 index 0000000000..de30ebe6ab --- /dev/null +++ b/project/Quiet.scala @@ -0,0 +1,33 @@ +import sbt._ +import Keys._ + +object Quiet { + // Workaround SBT issue described: + // + // https://github.com/scala/scala-dev/issues/100 + def silenceScalaBinaryVersionWarning = ivyConfiguration := { + ivyConfiguration.value match { + case c: InlineIvyConfiguration => + val delegate = c.log + val logger = new Logger { + override def trace(t: => Throwable): Unit = delegate.trace(t) + override def log(level: sbt.Level.Value, message: => String): Unit = { + level match { + case sbt.Level.Warn => + val message0 = message + val newLevel = if (message.contains("differs from Scala binary version in project")) + delegate.log(sbt.Level.Debug, message) + else + delegate.log(level, message) + case _ => delegate.log(level, message) + } + } + override def success(message: => String): Unit = delegate.success(message) + } + new InlineIvyConfiguration(c.paths, c.resolvers, c.otherResolvers, c.moduleConfigurations, c.localOnly, c.lock, c.checksums, c.resolutionCacheDir, c.updateOptions, logger) + case x => x + } + } + + def silenceIvyUpdateInfoLogging = logLevel in update := Level.Warn +} |