-
Notifications
You must be signed in to change notification settings - Fork 3.1k
[Do not merge] Testing building with Java 9 in our CI environment. #5706
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The CI builds in this PR will still be using OpenJDK 8. That failed with:
This might be a regression in SBT since 0.13.13, or some problem in my locally built version of SBT. /cc @dwijnand @eed3si9n Once we solve this, I'll manually build with Java 9 by running the Jenkins job with a custom JDK selection parameter. |
I've run `sbt publishLocal` on the CI server to make SBT 0.13.4-b646662 available. This includes changes to be compatible with Java 9. I've also installed JDK9-ea on the CI server, and made it selectable with `jvmSelect oracle 9`: scala/scala-jenkins-infra#221 Finally, I've used: https://github.com/retronym/java9-rt-export to export a Java 8-style rt.jar to make scalac work without needing native support for reading the jrt:// virtual filesystem containing the standard library classes. Scala 2.12.1 and higher support this, but SBT itself still uses Scala 2.10.6, so the shim JAR is required. This commit uses 0.13.4-b646662 for this build. The following commit will sets an system property to instruct scalac to add the rt.jar shim to the compilation classpath. I've split these steps to help diagnose a failure. r
This reverts commit 1394ff019ec2337e99b007e338c87ecdbf266061.
c941e5a
to
28a71d4
Compare
I've minimized the exception in runtime reflection and lodged it as scala/scala-dev#304. The workaround is to avoid the empty package in the build definition. |
I've run
sbt publishLocal
on the CI server to make SBT 0.13.4-b646662available. This includes changes to be compatible with Java 9.
I've also installed JDK9-ea on the CI server, and made it selectable
with
jvmSelect oracle 9
:scala/scala-jenkins-infra#221
Finally, I've used:
https://github.com/retronym/java9-rt-export
to export a Java 8-style rt.jar to make scalac work without
needing native support for reading the jrt:// virtual filesystem
containing the standard library classes. Scala 2.12.1 and higher
support this, but SBT itself still uses Scala 2.10.6, so the shim
JAR is required.
This commit uses 0.13.4-b646662 for this build, and sets an system
property to instruct scalac to add the rt.jar shim to the compilation
classpath.