diff --git a/README.md b/README.md index 0dc3471..8968f42 100644 --- a/README.md +++ b/README.md @@ -45,18 +45,6 @@ repoName := "" // the repo under github.com/scala/, only r organization := "" // only required if different from "org.scala-lang.modules" version := "" -// The plugin uses `scalaVersionsByJvm` to set `crossScalaVersions in ThisBuild` according to the JVM major version. -// The `scalaVersion in ThisBuild` is set to `crossScalaVersions.value.head`. -scalaVersionsByJvm in ThisBuild := { - val v211 = "2.11.12" - val v212 = "2.12.8" - val v213 = "2.13.0-RC1" - // Map[JvmMajorVersion, List[(ScalaVersion, UseForPublishing)]] - Map( - 8 -> List(v211 -> true, v212 -> true, v213 -> true), - 9 -> List(v211, v212, v213).map(_ -> false)) -} - mimaPreviousVersion := Some("1.0.0") // enables MiMa (`None` by default, which disables it) OsgiKeys.exportPackage := Seq(s";version=${version.value}") diff --git a/build.sbt b/build.sbt index eb91c74..eed748b 100644 --- a/build.sbt +++ b/build.sbt @@ -9,3 +9,4 @@ licenses := Seq(("Apache-2.0", url("https://www.apache.org/licenses/L addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.9.5") addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.5.0") +addSbtPlugin("com.dwijnand" % "sbt-travisci" % "1.2.0") diff --git a/src/main/scala/ScalaModulePlugin.scala b/src/main/scala/ScalaModulePlugin.scala index 904c84a..a60c0f2 100644 --- a/src/main/scala/ScalaModulePlugin.scala +++ b/src/main/scala/ScalaModulePlugin.scala @@ -13,7 +13,6 @@ import sbt.librarymanagement.{ UnresolvedWarningConfiguration, UpdateConfigurati object ScalaModulePlugin extends AutoPlugin { val repoName = settingKey[String]("The name of the repository under github.com/scala/.") val mimaPreviousVersion = settingKey[Option[String]]("The version of this module to compare against when running MiMa.") - val scalaVersionsByJvm = settingKey[Map[Int, List[(String, Boolean)]]]("For a Java major version (6, 8, 9), a list of a Scala version and a flag indicating whether to use this combination for publishing.") // See https://github.com/sbt/sbt/issues/2082 override def requires = plugins.JvmPlugin @@ -22,41 +21,7 @@ object ScalaModulePlugin extends AutoPlugin { // Settings in here are implicitly `in ThisBuild` override def buildSettings: Seq[Setting[_]] = Seq( - scalaVersionsByJvm := Map.empty, - - crossScalaVersions := { - val OneDot = """1\.(\d).*""".r // 1.6, 1.8 - val Maj = """(\d+).*""".r // 9 - val javaVersion = System.getProperty("java.version") match { - case OneDot(n) => n.toInt - case Maj(n) => n.toInt - case v => throw new RuntimeException(s"Unknown Java version: $v") - } - - val isTravis = Option(System.getenv("TRAVIS")).exists(_ == "true") // `contains` doesn't exist in Scala 2.10 - val isTravisPublishing = Option(System.getenv("TRAVIS_TAG")).exists(_.trim.nonEmpty) - - val byJvm = scalaVersionsByJvm.value - if (byJvm.isEmpty) - throw new RuntimeException(s"Make sure to define `scalaVersionsByJvm in ThisBuild` in `build.sbt` in the root project, using the `ThisBuild` scope.") - - val scalaVersions = byJvm.getOrElse(javaVersion, Nil) collect { - case (v, publish) if !isTravisPublishing || publish => v - } - if (scalaVersions.isEmpty) { - if (isTravis) { - sLog.value.warn(s"No Scala version in `scalaVersionsByJvm` in build.sbt needs to be released on Java major version $javaVersion.") - // Exit successfully, don't fail the (travis) build. This happens for example if `openjdk7` - // is part of the travis configuration for testing, but it's not used for releasing against - // any Scala version. - System.exit(0) - } else - throw new RuntimeException(s"No Scala version for Java major version $javaVersion. Change your Java version or adjust `scalaVersionsByJvm` in build.sbt.") - } - scalaVersions - }, - enableOptimizerInlineFrom := "", - scalaVersion := crossScalaVersions.value.head + enableOptimizerInlineFrom := "" ) val enableOptimizerInlineFrom = settingKey[String]("The value passed to -opt-inline-from by `enableOptimizer` on 2.13 and higher")