sbt, the interactive build tool
Go to file
Mark Harrah d145fcc457 scalacOptions, javacOptions in Compile in project/plugins/ affect build definitions. fixes #166 2011-09-03 14:59:34 -04:00
cache lazy InputCache for recursive caches 2011-06-20 15:25:23 -04:00
compile miscellaneous fixes 2011-08-31 20:59:40 -04:00
interface support incremental recompilation when using exportJars. fixes #108 2011-07-18 17:14:22 -04:00
ivy Add start-year for compliance in ProjectInfo 2011-09-03 02:19:08 +05:30
launch miscellaneous fixes 2011-08-31 20:59:40 -04:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main scalacOptions, javacOptions in Compile in project/plugins/ affect build definitions. fixes #166 2011-09-03 14:59:34 -04:00
project 2.9.1.final 2011-08-31 08:25:21 -04:00
run log toString of exception in non-main threads to indicate a trace exists. fixes #157 2011-08-23 19:53:33 -04:00
sbt miscellaneous fixes 2011-08-31 20:59:40 -04:00
sbt_pending drop more migrated pending items 2011-04-20 18:31:37 -04:00
scripted Remove some deprecations and redundant code 2011-08-05 13:30:04 +05:30
src/main/conscript version bumps 2011-07-14 08:05:30 -04:00
tasks allow setting initialization to be partially dynamic and run in parallel 2011-08-14 10:53:37 -04:00
testing support use of native libraries in 'run' and 'test' 2011-08-05 21:56:32 -04:00
util fix dependsOn breakage from Initialize rework 2011-08-26 23:27:03 -04:00
.gitignore update .gitignore, fixes #61 2011-06-18 14:46:59 -04:00
LICENSE * move Environment classes to util/env module 2010-07-14 19:24:50 -04:00
NOTICE * move Environment classes to util/env module 2010-07-14 19:24:50 -04:00
README.md README formatting 2011-08-31 20:59:40 -04:00
api.specification Polymorphic types and fix parameterized type arguments to be Type and not just SimpleType 2010-01-07 21:38:39 -05:00
launch.specification minor fixes to launch specification 2010-01-10 19:20:44 -05:00
scripted.specification New scripted test framework 2009-11-09 09:34:52 -05:00

README.md

sbt 0.11

This is the 0.11.x series of sbt. See Setup for getting started with the latest binary release or see below to build from source.

The previous stable release of sbt was 0.7.7, which was hosted on Google Code.

There is a video of a demo given at the Northeast Scala Symposium that gives a brief introduction to the concepts in sbt 0.9 and later. Note that the demo was based on 0.9.0 and things have changed since then. See the documentation for current information.

Build from source

  1. Install the current stable binary release of sbt (see Setup), which will be used to build sbt from source.

  2. Get the source code.

     $ git clone git://github.com/harrah/xsbt.git
     $ cd xsbt
    
  3. The initial branch is the development branch 0.11, which contains the latest code for the 0.11.x series. To build a specific release or commit, switch to the associated tag. The tag for the latest stable release is v0.10.1:

     $ git checkout v0.10.1
    
  4. To build the launcher, publish all components locally, and build API and SXR documentation:

     $ sbt build-all
    

    Alternatively, the individual commands run by build-all may be executed directly:

     $ sbt publish-local proguard sxr doc
    
  5. To use this locally built version of sbt, copy your stable ~/bin/sbt script to ~/bin/xsbt and change it to use the launcher jar in <xsbt>/target/. For the v0.10.1 tag, the full location is:

     <xsbt>/target/sbt-launch-0.10.1.jar
    

    If using the 0.11 development branch, the launcher is at:

     <xsbt>/target/sbt-launch-0.11.0-SNAPSHOT.jar
    

Modifying sbt

When developing sbt itself, there is no need to run build-all, since this generates documentation as well. For the fastest turnaround time for checking compilation only, run compile.

To use your modified version of sbt in a project locally, run publish-local. If you have modified the launcher, also run proguard.

After each publish-local, clean the project/boot/ directory in the project in which you want to use the locally built sbt. Alternatively, if sbt is running and the launcher hasn't changed, run reboot full to have sbt do this for you.

If a project has project/build.properties defined, either delete the file or change sbt.version to 0.11.0-SNAPSHOT.