diff --git a/.travis.yml b/.travis.yml index 834114411..ccad81d19 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,28 +2,45 @@ language: scala scala: - 2.12.8 + - 2.13.0 -script: sbt -Dfile.encoding=UTF8 -J-XX:ReservedCodeCacheSize=256M - ++$TRAVIS_SCALA_VERSION - mimaReportBinaryIssues - scalafmtCheckAll - whitesourceCheckPolicies - test +env: + global: ADOPTOPENJDK=11 matrix: include: - - jdk: openjdk8 - - jdk: openjdk11 + - scala: 2.12.8 + env: + - ADOPTOPENJDK=8 + - secure: JzxepvrNQIem+7MS8pBfBkcWDgt/oNKOreI3GJMJDN9P7lxCmrW0UVhpSftscjRzz9gXGQleqZ8t/I0hqysY9nO/DlxDQil6FKpsqrEKALdIsez8TjtbOlV69enDl6SBCXpg1B/rTQ/dL9mpV3WMvNkmDOhcNmbNyfO9Uk8wAAEvGQNKyE02s0gjZf6IgfOHXInBB2o3+uQFiWCABFHDWInN4t0QZVEhF/3P3iDKEfauWGwugf/YKLrwUUzNyN+J1i1goYEWZvviP+KCNbPlEsVN60In8F0t+jYuBJb0ePNcl3waT/4xBKQRidB4XRbhOXrZIATdpHLnzKzk2TPf3GxijNEscKYGdq3v6nWd128rfHGYz528pRSZ8bNOdQJotB/bJTmIEOnk5P9zU0z4z2cawMF6EyBJka7kXnC9Vz6TpifvyXDpzfmRzAkBrD6PC+diGPbyy5+4zvhpZuv31MRjMckohyNb76pR9qq70yDlomn+nVNoZ1fpp7dCqwjIxm9h2UjCWzXWY4xSByI8/CaPibq6Ma7RWHQE+4NGG2CCLQrqN4NB+BFsH3R0l5Js9khvDuEUYJkgSmJMFluXranWRV+pp/YMxk1IT4rOEPOc/hIqlQTrxasp/QxeyAfRk9OPzoz9L2kR0RH4ch3KuaARUv03WFNarfQ/ISz3P/s= + script: sbt -Dfile.encoding=UTF8 -J-XX:ReservedCodeCacheSize=256M + ++$TRAVIS_SCALA_VERSION! + mimaReportBinaryIssues + scalafmtCheckAll + whitesourceCheckPolicies + test -env: - global: - - secure: JzxepvrNQIem+7MS8pBfBkcWDgt/oNKOreI3GJMJDN9P7lxCmrW0UVhpSftscjRzz9gXGQleqZ8t/I0hqysY9nO/DlxDQil6FKpsqrEKALdIsez8TjtbOlV69enDl6SBCXpg1B/rTQ/dL9mpV3WMvNkmDOhcNmbNyfO9Uk8wAAEvGQNKyE02s0gjZf6IgfOHXInBB2o3+uQFiWCABFHDWInN4t0QZVEhF/3P3iDKEfauWGwugf/YKLrwUUzNyN+J1i1goYEWZvviP+KCNbPlEsVN60In8F0t+jYuBJb0ePNcl3waT/4xBKQRidB4XRbhOXrZIATdpHLnzKzk2TPf3GxijNEscKYGdq3v6nWd128rfHGYz528pRSZ8bNOdQJotB/bJTmIEOnk5P9zU0z4z2cawMF6EyBJka7kXnC9Vz6TpifvyXDpzfmRzAkBrD6PC+diGPbyy5+4zvhpZuv31MRjMckohyNb76pR9qq70yDlomn+nVNoZ1fpp7dCqwjIxm9h2UjCWzXWY4xSByI8/CaPibq6Ma7RWHQE+4NGG2CCLQrqN4NB+BFsH3R0l5Js9khvDuEUYJkgSmJMFluXranWRV+pp/YMxk1IT4rOEPOc/hIqlQTrxasp/QxeyAfRk9OPzoz9L2kR0RH4ch3KuaARUv03WFNarfQ/ISz3P/s= +before_install: + # adding $HOME/.sdkman to cache would create an empty directory, which interferes with the initial installation + - "[[ -d $HOME/.sdkman/bin ]] || rm -rf $HOME/.sdkman/" + - curl -sL https://get.sdkman.io | bash + - echo sdkman_auto_answer=true > "$HOME/.sdkman/etc/config" + - source "$HOME/.sdkman/bin/sdkman-init.sh" -cache: - directories: - - $HOME/.ivy2/cache - - $HOME/.sbt +install: + - sdk install java $(sdk list java | grep -o "$ADOPTOPENJDK\.[0-9\.]*hs-adpt" | head -1) + - unset JAVA_HOME + - java -Xmx32m -version + - javac -J-Xmx32m -version + +script: sbt -Dfile.encoding=UTF8 -J-XX:ReservedCodeCacheSize=256M ++$TRAVIS_SCALA_VERSION! test before_cache: - find $HOME/.ivy2/cache -name "ivydata-*.properties" -delete - find $HOME/.sbt -name "*.lock" -delete + +cache: + directories: + - $HOME/.coursier + - $HOME/.ivy2/cache + - $HOME/.sbt diff --git a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/LogOptionFormats.scala b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/LogOptionFormats.scala index e52700c19..f5e851f68 100644 --- a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/LogOptionFormats.scala +++ b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/LogOptionFormats.scala @@ -7,10 +7,10 @@ package sbt.internal.util.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } trait LogOptionFormats { self: sjsonnew.BasicJsonProtocol => implicit lazy val LogOptionFormat: JsonFormat[sbt.internal.util.LogOption] = new JsonFormat[sbt.internal.util.LogOption] { - override def read[J](jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.LogOption = { - jsOpt match { - case Some(js) => - unbuilder.readString(js) match { + override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.LogOption = { + __jsOpt match { + case Some(__js) => + unbuilder.readString(__js) match { case "Always" => sbt.internal.util.LogOption.Always case "Never" => sbt.internal.util.LogOption.Never case "Auto" => sbt.internal.util.LogOption.Auto diff --git a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/ProgressEventFormats.scala b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/ProgressEventFormats.scala index 4d836c02d..6478f743a 100644 --- a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/ProgressEventFormats.scala +++ b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/ProgressEventFormats.scala @@ -7,10 +7,10 @@ package sbt.internal.util.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } trait ProgressEventFormats { self: sbt.internal.util.codec.ProgressItemFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ProgressEventFormat: JsonFormat[sbt.internal.util.ProgressEvent] = new JsonFormat[sbt.internal.util.ProgressEvent] { - override def read[J](jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.ProgressEvent = { - jsOpt match { - case Some(js) => - unbuilder.beginObject(js) + override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.ProgressEvent = { + __jsOpt match { + case Some(__js) => + unbuilder.beginObject(__js) val level = unbuilder.readField[String]("level") val items = unbuilder.readField[Vector[sbt.internal.util.ProgressItem]]("items") val lastTaskCount = unbuilder.readField[Option[Int]]("lastTaskCount") diff --git a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/ProgressItemFormats.scala b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/ProgressItemFormats.scala index 3aac75e91..261ab93d4 100644 --- a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/ProgressItemFormats.scala +++ b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/ProgressItemFormats.scala @@ -7,10 +7,10 @@ package sbt.internal.util.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } trait ProgressItemFormats { self: sjsonnew.BasicJsonProtocol => implicit lazy val ProgressItemFormat: JsonFormat[sbt.internal.util.ProgressItem] = new JsonFormat[sbt.internal.util.ProgressItem] { - override def read[J](jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.ProgressItem = { - jsOpt match { - case Some(js) => - unbuilder.beginObject(js) + override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.ProgressItem = { + __jsOpt match { + case Some(__js) => + unbuilder.beginObject(__js) val name = unbuilder.readField[String]("name") val elapsedMicros = unbuilder.readField[Long]("elapsedMicros") unbuilder.endObject() diff --git a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/StringEventFormats.scala b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/StringEventFormats.scala index 2d142f6ec..8b8ef3fe6 100644 --- a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/StringEventFormats.scala +++ b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/StringEventFormats.scala @@ -7,10 +7,10 @@ package sbt.internal.util.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } trait StringEventFormats { self: sjsonnew.BasicJsonProtocol => implicit lazy val StringEventFormat: JsonFormat[sbt.internal.util.StringEvent] = new JsonFormat[sbt.internal.util.StringEvent] { - override def read[J](jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.StringEvent = { - jsOpt match { - case Some(js) => - unbuilder.beginObject(js) + override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.StringEvent = { + __jsOpt match { + case Some(__js) => + unbuilder.beginObject(__js) val level = unbuilder.readField[String]("level") val message = unbuilder.readField[String]("message") val channelName = unbuilder.readField[Option[String]]("channelName") diff --git a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/SuccessEventFormats.scala b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/SuccessEventFormats.scala index 19621d7c1..8c556ba4e 100644 --- a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/SuccessEventFormats.scala +++ b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/SuccessEventFormats.scala @@ -7,10 +7,10 @@ package sbt.internal.util.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } trait SuccessEventFormats { self: sjsonnew.BasicJsonProtocol => implicit lazy val SuccessEventFormat: JsonFormat[sbt.internal.util.SuccessEvent] = new JsonFormat[sbt.internal.util.SuccessEvent] { - override def read[J](jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.SuccessEvent = { - jsOpt match { - case Some(js) => - unbuilder.beginObject(js) + override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.SuccessEvent = { + __jsOpt match { + case Some(__js) => + unbuilder.beginObject(__js) val message = unbuilder.readField[String]("message") unbuilder.endObject() sbt.internal.util.SuccessEvent(message) diff --git a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/TraceEventFormats.scala b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/TraceEventFormats.scala index 379196a9b..babad8d58 100644 --- a/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/TraceEventFormats.scala +++ b/internal/util-logging/src/main/contraband-scala/sbt/internal/util/codec/TraceEventFormats.scala @@ -7,10 +7,10 @@ package sbt.internal.util.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } trait TraceEventFormats { self: sjsonnew.BasicJsonProtocol => implicit lazy val TraceEventFormat: JsonFormat[sbt.internal.util.TraceEvent] = new JsonFormat[sbt.internal.util.TraceEvent] { - override def read[J](jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.TraceEvent = { - jsOpt match { - case Some(js) => - unbuilder.beginObject(js) + override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.util.TraceEvent = { + __jsOpt match { + case Some(__js) => + unbuilder.beginObject(__js) val level = unbuilder.readField[String]("level") val message = unbuilder.readField[Throwable]("message") val channelName = unbuilder.readField[Option[String]]("channelName") diff --git a/internal/util-relation/src/main/scala/sbt/internal/util/Relation.scala b/internal/util-relation/src/main/scala/sbt/internal/util/Relation.scala index 6a1abd726..61d5acde2 100644 --- a/internal/util-relation/src/main/scala/sbt/internal/util/Relation.scala +++ b/internal/util-relation/src/main/scala/sbt/internal/util/Relation.scala @@ -183,7 +183,7 @@ private final class MRelation[A, B](fwd: Map[A, Set[B]], rev: Map[B, Set[A]]) } def groupBy[K](discriminator: ((A, B)) => K): Map[K, Relation[A, B]] = - all.groupBy(discriminator) mapValues { Relation.empty[A, B] ++ _ } + (all.groupBy(discriminator) mapValues { Relation.empty[A, B] ++ _ }).toMap def contains(a: A, b: B): Boolean = forward(a)(b) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 771e7e403..d8d241042 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -4,10 +4,11 @@ import sbt.contraband.ContrabandPlugin.autoImport._ object Dependencies { val scala212 = "2.12.8" + val scala213 = "2.13.0" def nightlyVersion: Option[String] = sys.props.get("sbt.build.version") - private val ioVersion = nightlyVersion.getOrElse("1.3.0-M11") + private val ioVersion = nightlyVersion.getOrElse("1.3.0-M12") private val sbtIO = "org.scala-sbt" %% "io" % ioVersion def getSbtModulePath(key: String, name: String) = { diff --git a/project/build.properties b/project/build.properties index c59667ce9..c9f29468d 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.3.0-M3 +sbt.version=1.3.0-RC2 diff --git a/project/plugins.sbt b/project/plugins.sbt index c6e8c962e..7c0f95696 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,5 +1,5 @@ addSbtPlugin("org.scala-sbt" % "sbt-houserules" % "0.3.9") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.0.0") -addSbtPlugin("org.scala-sbt" % "sbt-contraband" % "0.4.1") +addSbtPlugin("org.scala-sbt" % "sbt-contraband" % "0.4.4") addSbtPlugin("com.lightbend" % "sbt-whitesource" % "0.1.16") addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.4.1")