Who builds Scala libraries on JDK 6?

155 views
Skip to first unread message

Bill Venners

unread,
Jul 19, 2015, 6:11:54 PM7/19/15
to scala-i...@googlegroups.com
Hi All,

I am still building ScalaTest/Scalactic on JDK 6. I want to support JDK 6 so long as Scala supports it, and in the past I've had problems trying to target earlier versions of Java from later versions. The bytecodes came out OK, but not the libraries. To get to the libraries right, we need to build against a JDK 6 library using JDK 7 or 8. I considered that harder to get right on multiple platforms than just building on JDK 6.

The Scala.js folks would like to get off of JDK 6, which would break my one-button build. I'd need to build for the JVM on JDK 6, then switch JDKs to build for Scala.js. I figured I'd need to do this once Scala 2.12 comes out, but I'm curious what other library and tool providers do right now for Scala 2.10 and 2.11. It may be that sbt handles better the compiling for earlier JDKs issue somehow. When I had the problems it was years ago when were still using ant and targeting JDK 5. If the backwards targetting works now, then I can just build on JDK 7, target JDK 6, and keep my one-button build until 2.12 comes out, at which point maybe I could start building on JDK 8.

Thanks.

Bill

Sam Halliday

unread,
Jul 20, 2015, 4:16:55 AM7/20/15
to scala-i...@googlegroups.com
We still support JDK 6 in ENSIME, although we're planning on moving it to JDK7 post the 1.0 release (and dropping scala 2.9 support). JDK6 is still the official target of scalac, afterall.

FWIW, my current customer is still on scala 2.9.2 and JDK6.

Bill Venners

unread,
Jul 20, 2015, 9:48:45 AM7/20/15
to scala-i...@googlegroups.com
Hi Sam,

How do you build for JDK 6 when you release? Do you build on JDK 6 itself or do you build on a later JDK and target JDK 6?

Thanks.

Bill

Sam Halliday

unread,
Jul 20, 2015, 9:53:56 AM7/20/15
to scala-i...@googlegroups.com
Hi Bill,

We use JDK6 (Debian Squeeze's latest OpenJDK 6, but we also have access to Oracle JDKs).

All our CI builds are performed on a docker image so this is repeatable:

  https://github.com/ensime/ensime-docker

We use our own install of drone.io with our own boxes behind it.

Best regards,
Sam
Reply all
Reply to author
Forward
0 new messages