4.4 KiB
Fixes with compatibility implications
- Removes the "hit [ENTER] to switch to interactive mode" feature. Run
sbt xxx shellto stay in shell afterxxx. #3091/#3153 by @dwijnand
Improvements
- Improves the new startup messages. See below.
- Ports sbt-cross-building's
^and^^commands for plugin cross building. See below. - Adds
Zeroscope component for sbt 1.0 compatibility. #3179 by @eed3si9n - Backports
withXXXmethods forModuleIDandArtifactfor sbt 1.0 compatibility. #3215 by @eed3si9n
Bug fixes
- Fixes the new startup messages. See below.
- Fixes forward compatibility of Scripted plugin with sbt 1.0.0-RC2. #3329 by @dwijnand
- Fixes ScalaTest nested suite test names being reported as "(It is not a test)". [#3154][3154] by @jameskoch
- Fixes default
scalaBinaryVersionfor Dotty. #3152 by [@smarter][@smater] - Updates JLine dependency to 2.14.4 to work around ncurses change causing
NumberFormatException. #3265 by @Rogach
sbt-cross-building
@jrudolph's sbt-cross-building is a plugin author's plugin.
It adds cross command ^ and sbtVersion switch command ^^, similar to + and ++,
but for switching between multiple sbt versions across major versions.
sbt 0.13.16 merges these commands into sbt because the feature it provides is useful as we migrate plugins to sbt 1.0.
To switch the sbtVersion in pluginCrossBuild from the shell use:
^^ 1.0.0-RC2
Your plugin will now build with sbt 1.0.0-RC2 (and its Scala version 2.12.2).
If you need to make changes specific to a sbt version, you can now include them into src/main/scala-sbt-0.13,
and src/main/scala-sbt-1.0, where the binary sbt version number is used as postfix.
To run a command across multiple sbt versions, set:
crossSbtVersions := Vector("0.13.15", "1.0.0-RC2")
Then, run:
^ compile
Eviction warning presentation
sbt 0.13.16 improves the eviction warning presetation.
Before:
[warn] There may be incompatibilities among your library dependencies.
[warn] Here are some of the libraries that were evicted:
[warn] * com.google.code.findbugs:jsr305:2.0.1 -> 3.0.0
[warn] Run 'evicted' to see detailed eviction warnings
After:
[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn]
[warn] * com.typesafe.akka:akka-actor_2.12:2.5.0 is selected over 2.4.17
[warn] +- de.heikoseeberger:akka-log4j_2.12:1.4.0 (depends on 2.5.0)
[warn] +- com.typesafe.akka:akka-parsing_2.12:10.0.6 (depends on 2.4.17)
[warn] +- com.typesafe.akka:akka-stream_2.12:2.4.17 () (depends on 2.4.17)
[warn]
[warn] Run 'evicted' to see detailed eviction warnings
Improvements and bug fixes to the startup messages
sbt writes out the sbt.version in project/build.properties if it is missing.
sbt 0.13.16 fixes the logging when it happens by using the logger.
We encourage the use of the sbt shell by running sbt, instead of running sbt compile from the terminal repreatedly.
The sbt shell keeps the JVM warm, and there is a significant performance improvement gained for your compilation.
The startup message that we added in sbt 0.13.15 was a bit too aggressive, so we are toning it down in 0.13.16.
It will only be triggered for sbt compile, and it can also be supressed with suppressSbtShellNotification := true.