New in sbt 0.13.15: Preliminary JDK 9 support and offline installation

By @eed3si9n April 10, 2017

sbt 0.13.15 is now available. sbt 0.13.15 is a technology preview of what’s to come in sbt 1.0.

Preliminary JDK 9 support

In collaboration with Jason Zaugg from the Scala Team we’ve added preliminary JDK 9 support to sbt 0.13.15. It’s preliminary in the sense that it does not support JEP 261 Module System yet, but you can now run sbt on JDK 9-ea to start testing existing code.

Because the change was partially implemented in the bash/batch script, this requires new installation of the sbt 0.13.15+ launcher.

Offline installation with preloaded-local repo

sbt 0.13.15 adds two new repositories called “local-preloaded-ivy”
and “local-preloaded” that point to ~/.sbt/preloaded/.
The purpose for the repositories is to preload them with
sbt artifacts during the initial installation, instead of resolving
from the remote repository on the first run.
This enables installation of sbt without network connection.

It should also improve the startup time of sbt when you first run it
since the resolution happens from a local-preloaded repository.

This change also requires the new launcher.

build.sbt DSL improvements

There are some fixes/improvements for issues that we came across in previous sbt releases.
Most notable is #2908. Now we can write as follows:

taskA := (taskA triggeredBy taskB).value

To support migration from old operator <+=, we’ve also added an implicit
Append instance that extracts task values.

Before 0.13.15:

sourceGenerators in Compile += buildInfo.taskValue,
sourceGenerators in Compile += (Def.task { Nil }).taskValue

After 0.13.15:

sourceGenerators in Compile += buildInfo,
sourceGenerators in Compile += Def.task { Nil }

Please see Migrating from sbt 0.12.x on the old operator deprecation.

Thanks

Check out sbt 0.13.15 full release note for more info.

Special thanks to the contributors for making this release a success. According to git shortlog -sn --no-merges v0.13.13..0.13.15, compared to 0.13.13, there were 64 (non-merge) commits, by eleven contributors: Eugene Yokota, Dale Wijnand, Guillaume Martres, Jason Zaugg, Lars Hupel, Petro Verkhogliad, Eric Richardson, Claudio Bley, Haochi Chen, Paul Draper, Ashley Mercer. Thank you!