From d7ce57bb13d2f6345cf2d0558c9acf5f90449143 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Wed, 2 Aug 2017 11:42:36 +0100 Subject: [PATCH] Cross-build to sbt 1 --- .travis.yml | 4 +++- build.sbt | 11 +++++++++-- project/build.properties | 2 +- project/plugins.sbt | 10 +++++----- project/travis.sh | 8 +++++++- src/main/scala-sbt-0.13/compat.scala | 6 ++++++ .../scala/sbtprojectgraph/SbtProjectGraphPlugin.scala | 1 + 7 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 src/main/scala-sbt-0.13/compat.scala diff --git a/.travis.yml b/.travis.yml index ce43288..dfcce4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: scala jdk: oraclejdk8 -scala: 2.10.6 script: project/travis.sh # Build only master and version tags - http://stackoverflow.com/a/31882307/463761 @@ -13,6 +12,9 @@ env: global: - COURSIER_PROGRESS=0 - secure: cYOvryJrFOuYazRt6YQFIIQW0bPpKAK7IYGZeLQ7PDq0nm4RrjfivXebdGSthS9vJpmpIIEQYKD5uQlWokTnFeq2nzW4+5+2d0cQh6qbw8RfhZNFjB+p1e8oOg6xwPUoFoaGat/SrtGjE2CL3ySfVN4A8LamS/voSA8BFAGE+zMC1oJtSBfPRK5Ubfn+2SvyXdYdggPRqvceSotHnhf5X/NHtynxwrJBnZm58/KBqzFTIQ+nJLmfKAx/zc6Cdv260VVtLW1JIyig3zJ1gWoXi4oAfRxm/pzt3LG5gPjSrH0bTzF+bI9z5w/UbDrY+JIc/5JjysW9MM23hl+7qXmwDemQBKeVhAbNrmlphB8mz6goWpzrVjvhaKwUIrrz58GDsZRvYWgK/2hLeAo5yxFvtBI2vT9I7oYM99T2lhuNoc9Wd76oKPV3l9t0foeuwpfPbUm7u4y+6O+dKEk++rMZ55hpcEqaCIP9VCWY6d61dQzbSJVTGN3vcQeeLcK36RnhJuf4Hn8jUg2UuqjBtg01/DZAIvaKcI+8VIzx+/y8L/0Y1ZPzQoZ2WvGaOEHrSowMyg643pSR7sW0wDUDsjJgkOHfbBxjLMgM0XRX90R2e7lIbfqUiMH4Z6bTnQ7zYaYXHx9CUohSAOqfGSLtkQpKYJKiXVs6UylTUg6x2d0ptgA= + matrix: + - TRAVIS_SBT_VERSION=0.13.x + - TRAVIS_SBT_VERSION=1.0.0-M5 cache: directories: diff --git a/build.sbt b/build.sbt index 5782f98..783a275 100644 --- a/build.sbt +++ b/build.sbt @@ -9,8 +9,15 @@ organization := "com.dwijnand" homepage := scmInfo.value map (_.browseUrl) scmInfo := Some(ScmInfo(url("https://github.com/dwijnand/sbt-project-graph"), "scm:git:git@github.com:dwijnand/sbt-project-graph.git")) - sbtPlugin := true -scalaVersion := "2.10.6" + sbtPlugin := true + sbtVersion in Global := "0.13.16" // must be Global, otherwise ^^ won't change anything +crossSbtVersions := List("0.13.16", "1.0.0-RC3") + +scalaVersion := (CrossVersion partialVersion (sbtVersion in pluginCrossBuild).value match { + case Some((0, 13)) => "2.10.6" + case Some((1, _)) => "2.12.3" + case _ => sys error s"Unhandled sbt version ${(sbtVersion in pluginCrossBuild).value}" +}) maxErrors := 15 triggeredMessage := Watched.clearWhenTriggered diff --git a/project/build.properties b/project/build.properties index 27e88aa..c091b86 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.13.13 +sbt.version=0.13.16 diff --git a/project/plugins.sbt b/project/plugins.sbt index c033f69..fe4d3ac 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,5 +1,5 @@ - addSbtPlugin("com.dwijnand" % "sbt-dynver" % "1.1.1") - addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M14") -libraryDependencies += "org.scala-sbt" % "scripted-plugin" % sbtVersion.value - addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.11") - addSbtPlugin("me.lessis" % "bintray-sbt" % "0.3.0") + addSbtPlugin("com.dwijnand" % "sbt-dynver" % "2.0.0") + addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC8") +libraryDependencies += "org.scala-sbt" % "scripted-plugin" % sbtVersion.value + addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.17") + addSbtPlugin("org.foundweekends" % "sbt-bintray" % "0.5.1") diff --git a/project/travis.sh b/project/travis.sh index 46ca380..7f88981 100755 --- a/project/travis.sh +++ b/project/travis.sh @@ -1,5 +1,11 @@ #!/usr/bin/env bash +if [[ "$TRAVIS_SBT_VERSION" == "0.13.x" ]]; then + SWITCH_SBT_VERSION="" +else + SWITCH_SBT_VERSION="^^$TRAVIS_SBT_VERSION" +fi + [[ "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" && "$TRAVIS_SECURE_ENV_VARS" == "true" @@ -24,4 +30,4 @@ else PUBLISH=publishLocal fi -sbt ++$TRAVIS_SCALA_VERSION verify "$PUBLISH" +sbt "$SWITCH_SBT_VERSION" verify "$PUBLISH" diff --git a/src/main/scala-sbt-0.13/compat.scala b/src/main/scala-sbt-0.13/compat.scala new file mode 100644 index 0000000..ebf675a --- /dev/null +++ b/src/main/scala-sbt-0.13/compat.scala @@ -0,0 +1,6 @@ +package sbt + +package object internal { + type BuildStructure = sbt.BuildStructure + type LoadedBuildUnit = sbt.LoadedBuildUnit +} diff --git a/src/main/scala/sbtprojectgraph/SbtProjectGraphPlugin.scala b/src/main/scala/sbtprojectgraph/SbtProjectGraphPlugin.scala index 5db95b4..a340674 100644 --- a/src/main/scala/sbtprojectgraph/SbtProjectGraphPlugin.scala +++ b/src/main/scala/sbtprojectgraph/SbtProjectGraphPlugin.scala @@ -1,6 +1,7 @@ package sbtprojectgraph import sbt._, Keys._ +import sbt.internal.{ BuildStructure, LoadedBuildUnit } // sbt/sbt#3296 object SbtProjectGraphPlugin extends AutoPlugin { override def trigger = allRequirements