sbt, the interactive build tool
Go to file
Mark Harrah 8b06887753 back end side of auto Scala version detection in launcher 2012-02-04 21:10:30 -05:00
cache lazy InputCache for recursive caches 2011-06-20 15:25:23 -04:00
compile fix compiler interface to work with 2.10.0-SNAPSHOT 2012-01-19 11:00:24 -05:00
interface preserve API information needed for detecting annotations on defs. fixes #232 2011-10-19 22:23:47 -04:00
ivy rework cross versioning to account for prerelease Scala versions 2012-01-22 22:06:53 -05:00
launch back end side of auto Scala version detection in launcher 2012-02-04 21:10:30 -05:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main Add a test to check for keeping a selected url upon reload. 2012-02-04 21:10:30 -05:00
project split command core to main/command/ 2012-01-29 14:36:27 -05:00
run Prevent 'radio silence' for ForkRun.run(). 2011-11-10 15:47:25 +05:30
sbt Add a test to check for keeping a selected url upon reload. 2012-02-04 21:10:30 -05:00
sbt_pending drop more migrated pending items 2011-04-20 18:31:37 -04:00
scripted fix launcher options addition to use array for cross-version compatibility 2012-01-22 22:06:53 -05:00
src/main/conscript org.scala-tools.sbt -> org.scala-sbt and dropping scala-tools.org from defaults 2012-01-22 22:06:52 -05:00
tasks split command core to main/command/ 2012-01-29 14:36:27 -05:00
testing TestFramework.toString 2012-01-27 21:09:11 -05:00
util Merge pull request #342 from vigdorchik/wip_sourcepos_eugenevigdorchik 2012-01-30 14:34:03 -08:00
.gitignore merge changes for 0.11.0 2011-09-24 20:42:29 -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 update to reflect the changes in the current branch 2011-11-10 16:02:01 +05:30
api.specification Spelling fixes. 2011-09-14 12:18:48 +07:00
launch.specification Spelling fixes. 2011-09-14 12:18:48 +07: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.

sbt 0.7.7 and earlier versions are hosted on Google Code.

There is a video of a demo given at Scala Days 2011 based on sbt 0.10.0 that gives an introduction to the configuration system in sbt 0.10.0 and later. 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.11.1:

     $ git checkout v0.11.1
    

    Note that sbt is always built with the previous stable release. For example, the 0.11 branch is built with 0.11.1, the v0.11.1 tag is built with 0.11.0, the v0.11.0 tag is built with 0.10.1, and the v0.10.1 tag is built with 0.10.0.

  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.11.1 tag, the full location is:

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

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

     <xsbt>/target/sbt-launch-0.11.2-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 ~/.sbt/boot/ directory. 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.2-SNAPSHOT.