3. The initial branch is the development branch 0.13, which contains the latest code for the next major sbt release. To build a specific release or commit, switch to the associated tag. The tag for the latest stable release is v0.12.3:
Note that sbt is always built with the previous stable release. For example, the 0.13 branch is built with 0.12.4-RC1, the v0.11.2 tag is built with 0.11.1, and the v0.11.0 tag is built with 0.10.1.
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 `<sbt>/target/`. For the v0.12.3 tag, the full location is:
If using the 0.13 development branch, the launcher is at:
<sbt>/target/sbt-launch-0.13.0-SNAPSHOT.jar
## Modifying sbt
1. When developing sbt itself, run `compile` when checking compilation only.
2. To use your modified version of sbt in a project locally, run `publish-local`. If you have modified the launcher, also run `proguard`.
3. 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.
4. If a project has `project/build.properties` defined, either delete the file or change `sbt.version` to `0.13.0-SNAPSHOT`.
## Building Documentation
The scala-sbt.org site documentation is built using sphinx and requires some external packages to be manually installed first:
```text
$ pip install pygments
$ pip install sphinx
$ pip install sphinxcontrib-issuetracker
```
To build the full site, run the `make-site` task, which will generate the manual, API, SXR, and other site pages in `target/site/`.
To only work on the site and not API or SXR, run `sphinx:mappings`.
To only build API documentation, run `doc`. Sphinx is not required for generating API or SXR documentation.