0.13.0 final

1,932 views
Skip to first unread message

Mark Harrah

unread,
Aug 26, 2013, 8:37:31 AM8/26/13
to simple-b...@googlegroups.com
sbt 0.13.0 is now final.

General information
-------------------

* See the Changes page[1] for the features in 0.13, including
any known incompatibilities. Changes in RC{5,4,3,2} are at the
bottom of this email for the convenience of early adopters.
* sbt 0.13 is NOT binary compatible with 0.12. Plugins built for 0.12.x
will need to be recompiled before they can be used. A list of updated
plugins will be in a follow-up email.
* Many commits from 0.13 were backported to 0.12.x so that 0.13 is
mainly a feature release. See also the commit history[2].

Upgrading
---------

* Get and set up the 0.13.0 launcher[3,4], including updating
any manual startup scripts.
***NOTE: CYGWIN SETUP HAS CHANGED***

* Set sbt.version=0.13.0 in existing projects

Plugins
-------

sbt 0.12.4 has been published with a primary
goal of making it easier for you to publish plugins for 0.13.

Specifically, you can use sbt 0.12.4 and 0.12.x plugins for your build:

1. Get the 0.12.4 launcher
2. Set sbt.version=0.12.4 in project/build.properties
3. Change these settings in your build:

sbtVersion in Global := "0.13.0"

scalaVersion in Global := "2.10.2"

The point of these settings is to properly set up sbtVersion,
scalaVersion, sbtBinaryVersion, and scalaBinaryVersion for building the
plugin. If you have overridden those, make sure to remove the overrides.
If you have problems, confirm the correct values are set for your plugin
project, especially in a multi-project build.

Please post on this thread once your plugin has been successfully
published against 0.13 and include the addSbtPlugin(...) line that will
enable it in a user's project/plugins.sbt. Already reported plugins will
be listed in a follow-up email.

Thanks,
Mark

[1] http://www.scala-sbt.org/0.13.0/docs/Community/ChangeSummary_0.13.0.html
[2] https://github.com/sbt/sbt/commits/v0.13.0
[3] http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.0/sbt-launch.jar
[4] http://www.scala-sbt.org/0.13.0/docs/Getting-Started/Setup.html#installing-sbt

Changes in RC5
--------------

* Fix ForkScala.fork overload, which forwarded to itself, hanging
* Added (properly managed) shutdown hook for restoring the terminal on ctrl+c
* Use repo.scala-sbt.org instead of scalasbt.artifactoryonline.com everywhere to fix publishing credentials and be more independent of hosting details.
* Initial getting started guide refresh for multi-projects and plugin usage.

Changes in RC4
--------------

* Pick the first test fingerprint for a given suite/class name. Fixes #827.
* Refix #795, formatting of inspect tree output
* Remove Process from base imports in .sbt files and eval because the implicits are already in the sbt package object
* Remove deprecated top-level aliases (ScopedSetting, ScopedTask, CommandSupport)

Changes in RC3
--------------

* Handle compilation cancellation properly.
* set jline.esc.timeout=0 to prevent JLine from creating another Thread
* init/restore instead of setEchoEnabled in order to handle full jline customizations. Fixes #822
* Alias Project.SettingsDefinition to Def.SettingsDefinition for source compatibility.
* Deprecate seq method. The implicits Seq[Setting[_]] <-> SettingsDefinition handle the typical plugin/build.sbt case.
* Provide implicits in consoleProject to add .eval to task and setting keys. Fixes #815.
* Use IMain.bindValue to bind repl values (for consoleProject). This does a better job of getting the type to use for a bound value.
* Apply setup and cleanup hooks to forked tests.
* Fix forking testOnly/testQuick.

Changes in RC2
--------------

* Reverted to 0.12 behavior where jars are checked for packaging="pom".
* Disabled JLine event expansion to avoid JLine interpreting ! where it shouldn't.
* Dropped unused defaultConfigurationMapping setting and other unused code.
* Deprecated implicit RootProject/LocalProject calls on URI/File/String in favor of explicit calls.
* Properly filter test results and decode test names in printed output.
* Provide a better error message when an older launcher is used with 0.13 and JLine classes are incompatible.
* API docs and cleanup for test configuration data structures
* Failed task execution should still preserve State changes registered via updateState.

Mark Harrah

unread,
Aug 26, 2013, 8:43:04 AM8/26/13
to simple-b...@googlegroups.com
Below are the plugins that were reported to be built against 0.13 in previous RC announcement threads or are under the sbt organization and list support for 0.13. If there are any that I missed or any that haven't been announced, please add them to the thread.

Eugene and Doug tied for the most with 8 each, so you each get an sbt t-shirt once there's a logo.

// Orr:

addSbtPlugin("com.orrsella" % "sbt-sublime" % "1.0.6")

addSbtPlugin("com.orrsella" % "sbt-stats" % "1.0.3")

addSbtPlugin("com.orrsella" % "sbt-sound" % "1.0.2")

// Toni:

addSbtPlugin("com.typesafe.sbt" % "sbt-s3" % "0.5")

// Gerolf:

addSbtPlugin("com.github.gseitz" % "sbt-protobuf" % "0.3.0")

addSbtPlugin("com.github.gseitz" % "sbt-release" % "0.7.1")

// Johannes:

// https://github.com/jrudolph/sbt-cross-building/tree/release/0.8.0

addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.7.4")

addSbtPlugin("io.spray" % "sbt-revolver" % "0.7.1")

// Perry:

addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "0.8.0")

// Esko:

addSbtPlugin("fi.jumi.sbt" % "sbt-jumi" % "0.1.0")

// Marko:

resolvers += "Element Releases" at "http://repo.element.hr/nexus/content/repositories/releases/"

addSbtPlugin("hr.element.xsbt" % "xsbt-sh" % "0.0.1")

// Roman:

addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.1.2")

// Erlend:

addSbtPlugin("no.arktekk.sbt" % "aether-deploy" % "0.10")

// Mikko:

resolvers += Opts.resolver.sonatypeSnapshots

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.1")

// Josh:

addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8.1")

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.6.0")


// for sbt-git and sbt-ghpages
resolvers += "jgit-repo" at "http://download.eclipse.org/jgit/maven"

addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.6.2")

// Heiko:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.3.0")

addSbtPlugin("name.heikoseeberger" % "sbt-groll" % "1.6.0")

addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.6.0")

addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.1.0")

// Peter:

addSbtPlugin("com.typesafe.sbt" % "sbt-proguard" % "0.2.2")

addSbtPlugin("com.typesafe.sbt" % "sbt-aspectj" % "0.9.2")

addSbtPlugin("com.typesafe.sbt" % "sbt-atmos" % "0.1.2")

// Doug:

addSbtPlugin("me.lessis" % "np" % "0.2.0")

addSbtPlugin("me.lessis" % "ls-sbt" % "0.1.3")

addSbtPlugin("me.lessis" % "jot" % "0.1.0")

addSbtPlugin("me.lessis" % "less-sbt" % "0.2.0")

addSbtPlugin("me.lessis" % "coffeescripted-sbt" % "0.2.3")

addSbtPlugin("me.lessis" % "sbt-growl-plugin" % "0.1.3")


resolvers += Resolver.url(
"bintray-sbt-plugin-releases",
url("http://dl.bintray.com/content/sbt/sbt-plugin-releases"))(
Resolver.ivyStylePatterns)

addSbtPlugin("me.lessis" % "bintray-sbt" % "0.1.1")

addSbtPlugin("me.lessis" % "cappi" % "0.1.1")

// Eugene:

addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.2.0")

addSbtPlugin("org.scalaxb" % "sbt-scalaxb" % "1.1.1")

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.9.1")

addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.2.5")

addSbtPlugin("com.eed3si9n" % "sbt-dirty-money" % "0.1.0")

addSbtPlugin("com.eed3si9n" % "sbt-scalashim" % "0.2.2")

addSbtPlugin("com.eed3si9n" % "sbt-man" % "0.1.1")

addSbtPlugin("com.eed3si9n" % "sbt-appengine" % "0.6.0")

Doug Tangren

unread,
Aug 26, 2013, 8:58:00 AM8/26/13
to simple-b...@googlegroups.com

On Mon, Aug 26, 2013 at 8:43 AM, Mark Harrah <dmha...@gmail.com> wrote:
Below are the plugins that were reported to be built against 0.13 in previous RC announcement threads or are under the sbt organization and list support for 0.13.  If there are any that I missed or any that haven't been announced, please add them to the thread.

Eugene and Doug tied for the most with 8 each, so you each get an sbt t-shirt once there's a logo.

Ha.  I forfeit to Eugene. He writes better documentation and bug reports :)



 addSbtPlugin("me.lessis" % "less-sbt" % "0.2.0")


Fixed a regression bug in this one this weekend, would encourage ppl to use instead

 addSbtPlugin("me.lessis" % "less-sbt" % "0.2.1")

eugene yokota

unread,
Aug 26, 2013, 9:42:10 AM8/26/13
to simple-b...@googlegroups.com
Nice! Congrats to Mark and all the contributors.

-eugene

Paul Phillips

unread,
Aug 26, 2013, 10:09:00 AM8/26/13
to simple-b...@googlegroups.com
Should I be surprised that '++ 2.10.x" "foo" loses the "++ 2.10.x" part, but "foo" "++ 2.10.x" does not?

I guess I'll be surprised even if you tell me I shouldn't be.


% java -jar /inst/jar/sbt-launch-0.13.0.jar '++ 2.11.0-SNAPSHOT' about
[info] Set current project to cb87d936 (in build file:/Users/paulp/scratch/2013-08-26/CB87D936/)
[info] Setting version to 2.11.0-SNAPSHOT
[info] Set current project to cb87d936 (in build file:/Users/paulp/scratch/2013-08-26/CB87D936/)
[info] Updating {file:/Users/paulp/scratch/2013-08-26/CB87D936/}cb87d936...
[info] Resolving org.scala-lang#scala-library;2.11.0-SNAPSHOT ...
...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] ::          UNRESOLVED DEPENDENCIES         ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.scala-lang#scala-library;2.11.0-SNAPSHOT: not found
[warn] :: org.scala-lang#scala-compiler;2.11.0-SNAPSHOT: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::

% java -jar /inst/jar/sbt-launch-0.13.0.jar '++ 2.11.0-SNAPSHOT' 'set resolvers += Resolver.sonatypeRepo("snapshots")' about
[info] Set current project to cb87d936 (in build file:/Users/paulp/scratch/2013-08-26/CB87D936/)
[info] Setting version to 2.11.0-SNAPSHOT
[info] Set current project to cb87d936 (in build file:/Users/paulp/scratch/2013-08-26/CB87D936/)
[info] Defining *:resolvers
[info] The new value will be used by *:externalResolvers
[info] Reapplying settings...
[info] Set current project to cb87d936 (in build file:/Users/paulp/scratch/2013-08-26/CB87D936/)
[info] This is sbt 0.13.0
[info] The current project is {file:/Users/paulp/scratch/2013-08-26/CB87D936/}cb87d936 0.1-SNAPSHOT
[info] The current project is built against Scala 2.10.2
[info] 
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.2

% java -jar /inst/jar/sbt-launch-0.13.0.jar 'set resolvers += Resolver.sonatypeRepo("snapshots")' '++ 2.11.0-SNAPSHOT' about
[info] Set current project to cb87d936 (in build file:/Users/paulp/scratch/2013-08-26/CB87D936/)
[info] Defining *:resolvers
[info] The new value will be used by *:externalResolvers
[info] Reapplying settings...
[info] Set current project to cb87d936 (in build file:/Users/paulp/scratch/2013-08-26/CB87D936/)
[info] Setting version to 2.11.0-SNAPSHOT
[info] Set current project to cb87d936 (in build file:/Users/paulp/scratch/2013-08-26/CB87D936/)
[info] Updating {file:/Users/paulp/scratch/2013-08-26/CB87D936/}cb87d936...
[info] Resolving jline#jline;2.11 ...
[info] Done updating.
[info] This is sbt 0.13.0
[info] The current project is {file:/Users/paulp/scratch/2013-08-26/CB87D936/}cb87d936 0.1-SNAPSHOT
[info] The current project is built against Scala 2.11.0-SNAPSHOT
[info] 
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.2

Mark Harrah

unread,
Aug 26, 2013, 10:59:23 AM8/26/13
to simple-b...@googlegroups.com
On Mon, 26 Aug 2013 07:09:00 -0700
Paul Phillips <pa...@improving.org> wrote:

> Should I be surprised that '++ 2.10.x" "foo" loses the "++ 2.10.x" part,
> but "foo" "++ 2.10.x" does not?

I don't think ++ has ever interacted well with `set`. It is probably documented, but probably not in big, bold, capital letters and maybe not explicitly pinpointing `set` as a problem. Please open a bug if there isn't one already and I'll probably address it as part of a general cleanup of session settings.

-Mark

> I guess I'll be surprised even if you tell me I shouldn't be.
>
>
> % *java -jar /inst/jar/sbt-launch-0.13.0.jar '++ 2.11.0-SNAPSHOT' about*
> [info] Set current project to cb87d936 (in build
> file:/Users/paulp/scratch/2013-08-26/CB87D936/)
> [info] Setting version to 2.11.0-SNAPSHOT
> [info] Set current project to cb87d936 (in build
> file:/Users/paulp/scratch/2013-08-26/CB87D936/)
> [info] Updating {file:/Users/paulp/scratch/2013-08-26/CB87D936/}cb87d936...
> [info] Resolving org.scala-lang#scala-library;2.11.0-SNAPSHOT ...
> ...
> [warn] ::::::::::::::::::::::::::::::::::::::::::::::
> [warn] :: UNRESOLVED DEPENDENCIES ::
> [warn] ::::::::::::::::::::::::::::::::::::::::::::::
> [warn] :: org.scala-lang#scala-library;2.11.0-SNAPSHOT: not found
> [warn] :: org.scala-lang#scala-compiler;2.11.0-SNAPSHOT: not found
> [warn] ::::::::::::::::::::::::::::::::::::::::::::::
>
> % *java -jar /inst/jar/sbt-launch-0.13.0.jar '++ 2.11.0-SNAPSHOT' 'set
> resolvers += Resolver.sonatypeRepo("snapshots")' about*
> [info] Set current project to cb87d936 (in build
> file:/Users/paulp/scratch/2013-08-26/CB87D936/)
> [info] Setting version to 2.11.0-SNAPSHOT
> [info] Set current project to cb87d936 (in build
> file:/Users/paulp/scratch/2013-08-26/CB87D936/)
> [info] Defining *:resolvers
> [info] The new value will be used by *:externalResolvers
> [info] Reapplying settings...
> [info] Set current project to cb87d936 (in build
> file:/Users/paulp/scratch/2013-08-26/CB87D936/)
> [info] This is sbt 0.13.0
> [info] The current project is
> {file:/Users/paulp/scratch/2013-08-26/CB87D936/}cb87d936 0.1-SNAPSHOT
> *[info] The current project is built against Scala 2.10.2*
> [info]
> [info] sbt, sbt plugins, and build definitions are using Scala 2.10.2
>
> % *java -jar /inst/jar/sbt-launch-0.13.0.jar 'set resolvers +=
> Resolver.sonatypeRepo("snapshots")' '++ 2.11.0-SNAPSHOT' about*
> [info] Set current project to cb87d936 (in build
> file:/Users/paulp/scratch/2013-08-26/CB87D936/)
> [info] Defining *:resolvers
> [info] The new value will be used by *:externalResolvers
> [info] Reapplying settings...
> [info] Set current project to cb87d936 (in build
> file:/Users/paulp/scratch/2013-08-26/CB87D936/)
> [info] Setting version to 2.11.0-SNAPSHOT
> [info] Set current project to cb87d936 (in build
> file:/Users/paulp/scratch/2013-08-26/CB87D936/)
> [info] Updating {file:/Users/paulp/scratch/2013-08-26/CB87D936/}cb87d936...
> [info] Resolving jline#jline;2.11 ...
> [info] Done updating.
> [info] This is sbt 0.13.0
> [info] The current project is
> {file:/Users/paulp/scratch/2013-08-26/CB87D936/}cb87d936 0.1-SNAPSHOT
> *[info] The current project is built against Scala 2.11.0-SNAPSHOT*
> [info]
> [info] sbt, sbt plugins, and build definitions are using Scala 2.10.2
>
> --
> You received this message because you are subscribed to the Google Groups "simple-build-tool" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to simple-build-t...@googlegroups.com.
> To post to this group, send email to simple-b...@googlegroups.com.
> Visit this group at http://groups.google.com/group/simple-build-tool.
> For more options, visit https://groups.google.com/groups/opt_out.

Paul Phillips

unread,
Aug 26, 2013, 11:20:56 AM8/26/13
to simple-b...@googlegroups.com

On Mon, Aug 26, 2013 at 7:59 AM, Mark Harrah <dmha...@gmail.com> wrote:
I don't think ++ has ever interacted well with `set`.

Is there another way to add the snapshot resolvers? How do people normally run 2.11.0-SNAPSHOT?

Mark Harrah

unread,
Aug 26, 2013, 3:39:47 PM8/26/13
to simple-b...@googlegroups.com
There is ~/.sbt/repositories and -Dsbt.override.build.repos=true [1]. I don't know how other people normally work with the snapshot, but perhaps they use `set` and `++` in the order that works. In my case, I don't work with that many projects, so I just change the version string in the build and reload.

-Mark

[1] http://www.scala-sbt.org/0.13.0/docs/Detailed-Topics/Proxy-Repositories.html#sbt-configuration

etorreborre

unread,
Aug 26, 2013, 8:08:08 PM8/26/13
to simple-b...@googlegroups.com
Thanks Mark and all the plugin writers!

Eric.

Miles Sabin

unread,
Aug 27, 2013, 3:27:07 AM8/27/13
to simple-b...@googlegroups.com

Thanks from me as well ... very much appreciated :-)

Cheers,

Miles

Dave Cleaver

unread,
Aug 28, 2013, 12:46:39 AM8/28/13
to simple-b...@googlegroups.com
I've updated sbt-quickfix so that it will work with 0.13. It does require a newer version of the plugin.

addSbtPlugin("com.dscleaver.sbt" % "sbt-quickfix" % "0.4.0")
Reply all
Reply to author
Forward
0 new messages