By Eugene Yokota (@eed3si9n) September 19, 2017
Hi everyone. Here’s a report on what’s been going on after sbt 1.0.0 came out.
Our plan of sbt 1 migration status looks like this:
- Release sbt 1.0.0.
- Port all the plugins together with the community.
- Fix bugs.
- Migrate the library builds.
To track the progress of the plugin migration, I’ve put together a list of known plugins, sorted in the order of GitHub stars. This was created first by screen scraping our documentation, and then manually adding more.The 258 plugins listed there are mix of new and old plugins, and shows the breadth of sbt plugin ecosystem.
As of date, we have 70 plugins that are marked “released” on the list, some others are in some stage of being migrated by the plugin authors and active users. Kenji Yoshida (xuwei-k) who was omnipresent and helped migrate many of the plugins. Here are some that I was able to find:
I would also like to announce sbt 1.0.2, which is a hotfix to sbt 1.0.x series. This is binary compatible release for sbt 1.0.0 focusing on bug fixes.
- Fixes terminal echo issue. #3507 by @kczulko
delivertask, and adds
makeIvyXmlas a more sensibly named task. #3487 by @cunei
- Replaces the deprecated use of
OkUrlFactory, and fixes connection leaks. lm#164 by @dpratt
- Refixes false positive in DSL checker for setting keys. #3513 by @dwijnand
bgRunnot picking up changes to directories in the classpath. #3517 by @dwijnand
++so it won’t change the value of
crossScalaVersion. #3495/#3526 by @dwijnand
- Fixes sbt server missing some messages. #3523 by @guillaumebort
consoleProject. zinc#386 by @dwijnand
- Adds JVM flag
sbt.gigahorseto enable/disable the internal use of Gigahorse to workaround NPE in
JavaNetAuthenticatorwhen used in conjunction with
repositoriesoverride. lm#167 by @cunei
- Adds JVM flag
sbt.server.autostartto enable/disable the automatic starting of sbt server with the sbt shell. This also adds new
startServercommand to manually start the server. by @eed3si9n
- Fixes unused import warnings. #3533 by @razvan-panda
Huge thanks to everyone who’s helped improve sbt and Zinc 1 by using them, reporting bugs, improving our documentation, porting plugins, and submitting and reviewing pull requests.
This release was brought to you by 19 contributors, according to
git shortlog -sn --no-merges v1.0.1..v1.0.2 on sbt, zinc, librarymanagement, and website: Dale Wijnand, Eugene Yokota, Kenji Yoshida (xuwei-k), Toni Cunei, David Pratt, Karol Cz (kczulko), Amanj Sherwany, Emanuele Blanco, Eric Peters, Guillaume Bort, James Roper, Joost de Vries, Marko Elezovic, Martynas Mickevičius, Michael Stringer, Răzvan Flavius Panda, Peter Vlugter, Philippus Baalman, and Wiesław Popielarski. Thank you!
Now that major plugins are migrated, and early bugs are fixed, it’s time for migrating the library ecosystem.
Toni Cunei has updated Dbuild so we can start to build the Community Build based on sbt 1. I am hopeful that it would allow us to validate freshly built sbt against it as well once we have some of the libraries on it.
One exciting development for the sbt 1 migration was Ólafur Geirsson at Scala Center’s announcement of Scalafix 0.5.0, which includes a feature to migrate old style operators to the new DSL.
For anyone interested in helping sbt, there are many avenues you could help, depending on your interest.
- Migrate plugins and libraries to sbt 1.
- Report bugs when you see them.
- Send in fixes to bugs.
- Update documentation.
If you’re interested in other ideas, come talk to us on sbt-contrib.