Only specify scala release versions in one place (#830)

This commit is contained in:
Alexandre Archambault 2018-04-04 11:30:59 +02:00 committed by GitHub
parent 49f4467d6f
commit e4361d6fde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 107 additions and 68 deletions

View File

@ -8,7 +8,7 @@ script:
# - bash <(curl -s https://codecov.io/bash) # - bash <(curl -s https://codecov.io/bash)
matrix: matrix:
include: include:
- env: SCALA_VERSION=2.12.5 NATIVE=1 PUBLISH=1 - env: SCALA_VERSION=2.12 NATIVE=1 PUBLISH=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
sudo: required sudo: required
@ -16,39 +16,39 @@ matrix:
- curl https://raw.githubusercontent.com/scala-native/scala-native/master/scripts/travis_setup.sh | bash -x - curl https://raw.githubusercontent.com/scala-native/scala-native/master/scripts/travis_setup.sh | bash -x
services: services:
- docker - docker
- env: SCALA_VERSION=2.11.12 PUBLISH=1 - env: SCALA_VERSION=2.11 PUBLISH=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
sudo: required sudo: required
services: services:
- docker - docker
- env: SCALA_VERSION=2.10.7 PUBLISH=1 - env: SCALA_VERSION=2.10 PUBLISH=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
sudo: required sudo: required
services: services:
- docker - docker
- env: SCALA_VERSION=2.12.5 SBT_COURSIER=1 - env: SCALA_VERSION=2.12 SBT_COURSIER=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
- env: SCALA_VERSION=2.12.5 SBT_SHADING=1 - env: SCALA_VERSION=2.12 SBT_SHADING=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
- env: SCALA_VERSION=2.10.7 SBT_COURSIER=1 - env: SCALA_VERSION=2.10 SBT_COURSIER=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
services: services:
- docker - docker
- env: SCALA_VERSION=2.10.7 SBT_SHADING=1 - env: SCALA_VERSION=2.10 SBT_SHADING=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
- env: SCALA_VERSION=2.12.5 SCALA_JS=1 - env: SCALA_VERSION=2.12 SCALA_JS=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
- env: SCALA_VERSION=2.11.12 SCALA_JS=1 - env: SCALA_VERSION=2.11 SCALA_JS=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
- env: SCALA_VERSION=2.10.7 SCALA_JS=1 - env: SCALA_VERSION=2.10 SCALA_JS=1
os: linux os: linux
jdk: oraclejdk8 jdk: oraclejdk8
- os: linux - os: linux

View File

@ -16,18 +16,18 @@ install:
- cmd: SET SBT_OPTS=-Xmx4g -Xss2m - cmd: SET SBT_OPTS=-Xmx4g -Xss2m
- git submodule update --init --recursive - git submodule update --init --recursive
build_script: build_script:
- sbt ++2.11.12 clean compile coreJVM/publishLocal - sbt scala212 coreJVM/publishLocal cacheJVM/publishLocal extra/publishLocal scalazJVM/publishLocal cli/publishLocal
- sbt ++2.10.7 clean compile - sbt scala211 compile coreJVM/publishLocal
- sbt ++2.12.5 coreJVM/publishLocal cacheJVM/publishLocal extra/publishLocal scalazJVM/publishLocal cli/publishLocal - sbt scala210 compile
test_script: test_script:
- ps: Start-Job -filepath .\scripts\start-it-auth-server.ps1 -ArgumentList $pwd - ps: Start-Job -filepath .\scripts\start-it-auth-server.ps1 -ArgumentList $pwd
- ps: Start-Sleep -s 15 # wait for the first server to have downloaded its dependencies - ps: Start-Sleep -s 15 # wait for the first server to have downloaded its dependencies
- ps: Start-Job -filepath .\scripts\start-it-no-listing-server.ps1 -ArgumentList $pwd - ps: Start-Job -filepath .\scripts\start-it-no-listing-server.ps1 -ArgumentList $pwd
- sbt ++2.12.5 testsJVM/test testsJVM/it:test # Would node be around for testsJS/test? - sbt scala212 testsJVM/test testsJVM/it:test # Would node be around for testsJS/test?
- sbt ++2.11.12 testsJVM/test testsJVM/it:test - sbt scala211 testsJVM/test testsJVM/it:test
- sbt ++2.10.7 testsJVM/test testsJVM/it:test - sbt scala210 testsJVM/test testsJVM/it:test
- sbt ++2.12.5 "sbt-coursier/scripted sbt-coursier/simple" "sbt-shading/scripted sbt-shading/*" # for sbt 1.0 - sbt scala212 "sbt-coursier/scripted sbt-coursier/simple" "sbt-shading/scripted sbt-shading/*" # for sbt 1.0
- sbt ++2.10.7 "sbt-coursier/scripted sbt-coursier/*" "sbt-coursier/scripted sbt-coursier-0.13/*" "sbt-shading/scripted sbt-shading/*" "sbt-shading/scripted sbt-shading-0.13/*" # for sbt 0.13 - sbt scala210 "sbt-coursier/scripted sbt-coursier/*" "sbt-coursier/scripted sbt-coursier-0.13/*" "sbt-shading/scripted sbt-shading/*" "sbt-shading/scripted sbt-shading-0.13/*" # for sbt 0.13
branches: branches:
only: only:
- master - master

View File

@ -397,7 +397,7 @@ object Release {
updateScripts, updateScripts,
updateLaunchers, updateLaunchers,
updateTutReadme, updateTutReadme,
releaseStepCommand(s"++${Settings.scala211}"), releaseStepCommand(s"++${ScalaVersion.scala211}"),
releaseStepCommand("tut"), releaseStepCommand("tut"),
stageReadme, stageReadme,
updatePluginsSbt, updatePluginsSbt,

View File

@ -0,0 +1,16 @@
object ScalaVersion {
def scala212 = "2.12.5"
def scala211 = "2.11.12"
def scala210 = "2.10.7"
val versions = Seq(scala212, scala211, scala210)
val map = versions
.map { v =>
v.split('.').take(2).mkString(".") -> v
}
.toMap
}

View File

@ -0,0 +1,44 @@
import sbt.complete.Parser
import sbt.Keys.commands
import sbt.{AutoPlugin, Command}
object ScalaVersionPlugin extends AutoPlugin {
override def trigger = allRequirements
override def buildSettings = Seq(
commands ++= ScalaVersion.map.toSeq.map {
case (sbv, sv) =>
Command(s"scala${sbv.filter(_ != '.')}")(_ => Parser.success(())) { (st, _) =>
val cmd0 = s"++$sv!"
Parser.parse(cmd0, st.combinedParser) match {
case Right(cmd) => cmd()
case Left(msg) => throw sys.error(s"Invalid command: $cmd0\n$msg")
}
}
},
commands += Command("scalaFromEnv")(_ => Parser.success(())) { (st, _) =>
val sv = sys.env.get("SCALA_VERSION") match {
case None =>
throw new Exception("SCALA_VERSION not set")
case Some(s) if s.count(_ == '.') == 1 =>
ScalaVersion.map.getOrElse(
s,
throw new Exception(
s"No scala version found for binary version $s" +
s" (available scala versions: ${ScalaVersion.versions.mkString(", ")})"
)
)
case Some(s) =>
s
}
val cmd0 = s"++$sv!"
Parser.parse(cmd0, st.combinedParser) match {
case Right(cmd) => cmd()
case Left(msg) => throw sys.error(s"Invalid command: $cmd0\n$msg")
}
}
)
}

View File

@ -10,11 +10,9 @@ import com.typesafe.sbt.pgp._
import coursier.ShadingPlugin.autoImport._ import coursier.ShadingPlugin.autoImport._
import Aliases._ import Aliases._
import ScalaVersion._
object Settings { object Settings {
val scala212 = "2.12.5"
val scala211 = "2.11.12"
val scala210 = "2.10.7"
lazy val scalazBintrayRepository = { lazy val scalazBintrayRepository = {
resolvers += "Scalaz Bintray Repo" at "https://dl.bintray.com/scalaz/releases" resolvers += "Scalaz Bintray Repo" at "https://dl.bintray.com/scalaz/releases"

View File

@ -1,28 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -evx set -evx
SCALA_VERSION="${SCALA_VERSION:-${TRAVIS_SCALA_VERSION:-2.12.5}}"
PULL_REQUEST="${PULL_REQUEST:-${TRAVIS_PULL_REQUEST:-false}}"
BRANCH="${BRANCH:-${TRAVIS_BRANCH:-$(git rev-parse --abbrev-ref HEAD)}}"
PUBLISH="${PUBLISH:-0}"
SCALA_JS="${SCALA_JS:-0}"
VERSION="$(grep -oP '(?<=")[^"]*(?!<")' < version.sbt)"
JARJAR_VERSION="${JARJAR_VERSION:-1.0.1-coursier-SNAPSHOT}"
is210() {
echo "$SCALA_VERSION" | grep -q "^2\.10"
}
is211() {
echo "$SCALA_VERSION" | grep -q "^2\.11"
}
is212() {
echo "$SCALA_VERSION" | grep -q "^2\.12"
}
setupCoursierBinDir() { setupCoursierBinDir() {
mkdir -p bin mkdir -p bin
cp coursier bin/ cp coursier bin/
@ -41,7 +19,7 @@ launchTestRepo() {
integrationTestsRequirements() { integrationTestsRequirements() {
# Required for ~/.ivy2/local repo tests # Required for ~/.ivy2/local repo tests
sbt ++2.11.12 coreJVM/publishLocal ++2.12.5 cli/publishLocal sbt scala211 coreJVM/publishLocal scala212 cli/publishLocal
# Required for HTTP authentication tests # Required for HTTP authentication tests
launchTestRepo --port 8080 --list-pages launchTestRepo --port 8080 --list-pages
@ -65,30 +43,30 @@ sbtShading() {
runSbtCoursierTests() { runSbtCoursierTests() {
addPgpKeys addPgpKeys
if [ "$SCALA_VERSION" = "2.10" ]; then if [ "$SCALA_VERSION" = "2.10" ]; then
sbt ++$SCALA_VERSION "sbt-coursier/scripted sbt-coursier/*" "sbt-coursier/scripted sbt-coursier-0.13/*" sbt scalaFromEnv "sbt-coursier/scripted sbt-coursier/*" "sbt-coursier/scripted sbt-coursier-0.13/*"
else else
sbt ++$SCALA_VERSION "sbt-coursier/scripted sbt-coursier/simple" # full scripted suite currently taking too long on Travis CI... sbt scalaFromEnv "sbt-coursier/scripted sbt-coursier/simple" # full scripted suite currently taking too long on Travis CI...
fi fi
sbt ++$SCALA_VERSION sbt-pgp-coursier/scripted sbt scalaFromEnv sbt-pgp-coursier/scripted
} }
runSbtShadingTests() { runSbtShadingTests() {
sbt ++$SCALA_VERSION "sbt-shading/scripted sbt-shading/*" sbt scalaFromEnv "sbt-shading/scripted sbt-shading/*"
if [ "$SCALA_VERSION" = "2.10" ]; then if [ "$SCALA_VERSION" = "2.10" ]; then
sbt ++$SCALA_VERSION "sbt-shading/scripted sbt-shading-0.13/*" sbt scalaFromEnv "sbt-shading/scripted sbt-shading-0.13/*"
fi fi
} }
jsCompile() { jsCompile() {
sbt ++$SCALA_VERSION js/compile js/test:compile coreJS/fastOptJS cacheJS/fastOptJS testsJS/test:fastOptJS js/test:fastOptJS sbt scalaFromEnv js/compile js/test:compile coreJS/fastOptJS cacheJS/fastOptJS testsJS/test:fastOptJS js/test:fastOptJS
} }
jvmCompile() { jvmCompile() {
sbt ++$SCALA_VERSION jvm/compile jvm/test:compile sbt scalaFromEnv jvm/compile jvm/test:compile
} }
runJsTests() { runJsTests() {
sbt ++$SCALA_VERSION js/test sbt scalaFromEnv js/test
} }
runJvmTests() { runJvmTests() {
@ -98,7 +76,7 @@ runJvmTests() {
IT="jvm/it:test" IT="jvm/it:test"
fi fi
sbt ++$SCALA_VERSION jvm/test $IT sbt scalaFromEnv jvm/test $IT
} }
validateReadme() { validateReadme() {
@ -106,14 +84,13 @@ validateReadme() {
mv README.md README.md.orig mv README.md README.md.orig
if is212; then if [ "$SCALA_VERSION" = 2.12 ]; then
TUT_SCALA_VERSION="2.12.1" # Later versions seem to make tut not see the coursier binaries # Later 2.12 versions seem to make tut not see the coursier binaries
sbt '++2.12.1!' tut
else else
TUT_SCALA_VERSION="$SCALA_VERSION" sbt scalaFromEnv tut
fi fi
sbt ++${TUT_SCALA_VERSION} tut
if cmp -s README.md.orig README.md; then if cmp -s README.md.orig README.md; then
echo "README.md doesn't change" echo "README.md doesn't change"
else else
@ -124,16 +101,16 @@ validateReadme() {
} }
checkBinaryCompatibility() { checkBinaryCompatibility() {
sbt ++${SCALA_VERSION} coreJVM/mimaReportBinaryIssues cacheJVM/mimaReportBinaryIssues sbt scalaFromEnv coreJVM/mimaReportBinaryIssues cacheJVM/mimaReportBinaryIssues
} }
publish() { publish() {
sbt ++${SCALA_VERSION} publish sbt scalaFromEnv publish
} }
testBootstrap() { testBootstrap() {
if is212; then if [ "$SCALA_VERSION" = 2.12 ]; then
sbt ++${SCALA_VERSION} "project cli" pack sbt scalaFromEnv "project cli" pack
cli/target/pack/bin/coursier bootstrap -o cs-echo io.get-coursier:echo:1.0.0 cli/target/pack/bin/coursier bootstrap -o cs-echo io.get-coursier:echo:1.0.0
if [ "$(./cs-echo foo)" != foo ]; then if [ "$(./cs-echo foo)" != foo ]; then
echo "Error: unexpected output from bootstrapped echo command." 1>&2 echo "Error: unexpected output from bootstrapped echo command." 1>&2
@ -143,8 +120,8 @@ testBootstrap() {
} }
testNativeBootstrap() { testNativeBootstrap() {
if is212 && [ "$NATIVE" = "1" ]; then if [ "$SCALA_VERSION" = "2.12" -a "$NATIVE" = "1" ]; then
sbt ++${SCALA_VERSION} "project cli" pack sbt scalaFromEnv "project cli" pack
cli/target/pack/bin/coursier bootstrap -S -o native-echo io.get-coursier:echo_native0.3_2.11:1.0.1 cli/target/pack/bin/coursier bootstrap -S -o native-echo io.get-coursier:echo_native0.3_2.11:1.0.1
if [ "$(./native-echo -n foo a)" != "foo a" ]; then if [ "$(./native-echo -n foo a)" != "foo a" ]; then
echo "Error: unexpected output from native test bootstrap." 1>&2 echo "Error: unexpected output from native test bootstrap." 1>&2
@ -175,11 +152,11 @@ else
jvmCompile jvmCompile
if sbtCoursier; then if sbtCoursier; then
if is210 || is212; then if [ "$SCALA_VERSION" = "2.10" -o "$SCALA_VERSION" = "2.12" ]; then
runSbtCoursierTests runSbtCoursierTests
fi fi
elif sbtShading; then elif sbtShading; then
if is210 || is212; then if [ "$SCALA_VERSION" = "2.10" -o "$SCALA_VERSION" = "2.12" ]; then
runSbtShadingTests runSbtShadingTests
fi fi
else else
@ -193,10 +170,14 @@ else
fi fi
PULL_REQUEST="${PULL_REQUEST:-${TRAVIS_PULL_REQUEST:-false}}"
BRANCH="${BRANCH:-${TRAVIS_BRANCH:-$(git rev-parse --abbrev-ref HEAD)}}"
PUBLISH="${PUBLISH:-0}"
if [ "$PUBLISH" = 1 -a "$PULL_REQUEST" = false -a "$BRANCH" = master ]; then if [ "$PUBLISH" = 1 -a "$PULL_REQUEST" = false -a "$BRANCH" = master ]; then
publish publish
if is211 && isScalaJs; then if [ "$SCALA_VERSION" = "2.11" ] && isScalaJs; then
#"$(dirname "$0")/push-gh-pages.sh" "$SCALA_VERSION" #"$(dirname "$0")/push-gh-pages.sh" "$SCALA_VERSION"
: :
fi fi