Skip to content

Commit b379e67

Browse files
Always use jdk8 for sbt (fix scala#77)
1 parent a4f7b08 commit b379e67

File tree

3 files changed

+52
-6
lines changed

3 files changed

+52
-6
lines changed

.travis.yml

+10-6
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@ scala:
55
- 2.12.6
66
- 2.13.0-M4
77
jdk:
8-
- openjdk7
8+
- openjdk6
99
- oraclejdk8
1010
env:
1111
global:
12+
# force jdk 8 for sbt due to sonatype droping support for jdk6 on https (TLS 1.0)
13+
# https://stackoverflow.com/questions/50824789/why-am-i-getting-received-fatal-alert-protocol-version-or-peer-not-authentic/50824799#50824799
14+
- JAVA_HOME: /usr/lib/jvm/java-8-oracle
15+
1216
# PGP_PASSPHRASE
1317
- secure: "rjetmX9HXoN/scxTCBFCHIUDFryY0Yd29sR6EBrW/2tCOILO09RTCcJB0kPn2YMZ9en8ChTtOpqGF9133f6wZ7/ZINSUt1tNwnbgDlhGbwJW2WFTUEmL7ScdqmgRGa294aVuAfrvJnr+dN92it6ibAB8nThgsjq0LnZREJsKwQ77vvEeATEKutuPLGlrHrmqL7/XCjb2uYz9Xh0sSpyQlKOGt5EN7JzM/Bzyju+RYS9BvnLVV86fey/UWO1DNDa4MU5835akevqvtwN7CpCFxFKgbfc+40bAh7Xc59UnkxP+Lcs2KxJx9heS6RJJiNEx99r59LL2JALyN++yOAS97HEfii4Yc3OK9VRZCNQFW4gNm3VtGNW4EC+LOX/9cUiUNg2J65nY0UF2d6R3vsqiCKaK6C0cm+jIs3fgDHFlB+MiHC/ZECaoPvwzm1AxQMIWyoFFqXuHQk3Ef137G0x1ejneUoGD/PqMbiEAX64+VVvOxgOI2/jyt4hFTEk6JiWVahmk+7oFAsLH1n9J1Y3csMvmo9S0S/Ey9D3bR07hggc8pj/CJPj9gFSfpGEVhroc37T/VlP23EVJgpteovERyeJGC3P7wVWvi1pNNW6iOVENzY1GkHlHkJUI7Q4B+eIW2mh5wi6JyC/DM2lO4z3M2KQkNqQgzIBdm5p/4hezkkA="
1418
# SONA_USER
@@ -23,10 +27,10 @@ env:
2327
matrix:
2428
exclude:
2529
# > 2.12 requires jdk8
26-
- jdk: openjdk7
30+
- jdk: openjdk6
2731
scala: 2.12.6
2832

29-
- jdk: openjdk7
33+
- jdk: openjdk6
3034
scala: 2.13.0-M4
3135

3236
# ?
@@ -45,9 +49,9 @@ matrix:
4549

4650
# | jdk | scala | scala target | scala target version | scalafix test |
4751
# | ----------- | --------- | ------------ | -------------------- |---------------|
48-
# | openjdk7 | 2.11.12 | jvm | | |
49-
# | openjdk7 | 2.11.12 | js | 0.6.23 | |
50-
# | openjdk7 | 2.11.12 | js | 1.0.0-M3 | |
52+
# | openjdk6 | 2.11.12 | jvm | | |
53+
# | openjdk6 | 2.11.12 | js | 0.6.23 | |
54+
# | openjdk6 | 2.11.12 | js | 1.0.0-M3 | |
5155
# | oraclejdk8 | 2.12.6 | jvm | | |
5256
# | oraclejdk8 | 2.12.6 | js | 0.6.23 | |
5357
# | oraclejdk8 | 2.12.6 | js | 1.0.0-M3 | |

build.sbt

+17
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,23 @@ lazy val compat = crossProject(JSPlatform, JVMPlatform)
3333
.jvmSettings(
3434
OsgiKeys.exportPackage := Seq(s"scala.collection.compat.*;version=${version.value}"),
3535
libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test"
36+
javaHome := {
37+
val oldValue = javaHome.value
38+
val isOnCi = sys.env.get("CI").isDefined
39+
40+
if (isOnCi) {
41+
// switch back to the jdk set by the build matrix
42+
val ciJavaHome =
43+
sys.env("TRAVIS_JDK_VERSION") match {
44+
case "openjdk6" => "/usr/lib/jvm/java-6-openjdk-amd64"
45+
case "oraclejdk8" => "/usr/lib/jvm/java-8-oracle"
46+
}
47+
48+
println(s"using JAVA_HOME: $ciJavaHome")
49+
Some(file(ciJavaHome))
50+
}
51+
else oldValue
52+
}
3653
)
3754
.jsSettings(
3855
scalacOptions += {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package test.scala.collection
2+
3+
import org.junit.Assert._
4+
import org.junit.Test
5+
6+
class JdkVersionTest {
7+
8+
@Test
9+
def testJavaVersion: Unit = {
10+
val isOnCi = sys.env.get("CI").isDefined
11+
12+
if (isOnCi) {
13+
val travisJdkVersion = sys.env("TRAVIS_JDK_VERSION")
14+
val jdkVersion = sys.props("java.specification.version")
15+
16+
if (travisJdkVersion == "openjdk6") {
17+
assertEquals(jdkVersion, "1.8")
18+
} else if (travisJdkVersion == "oraclejdk8") {
19+
assertEquals(jdkVersion, "1.6")
20+
} else {
21+
throw new Exception(s"Unknown CI jdk version: $travisJdkVersion")
22+
}
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)