This project aims to be the snappiest snaptastic snapster you've every snapping laid eyes on! And by that, we mean it builds stuff.
For more information on using Activator, visit: http://typesafe.com/activator
Activator Developer Documentation
This project uses SBT 0.13. Make sure you have an SBT launcher, and run it in the checked out directory.
Running the UI
sbt> project activator-ui sbt> run
Running from the Launcher
Stage the distribution:
Force the launcher to use the newly built launcher:
rm -r ~/.activator
There are two types of tests: Unit tests and integration tests.
To run unit tests, simply:
To run the tests of a particular project, simply:
To run a specific test, simply:
sbt> test-only TestName
To run all the integration tests, simply:
This also runs offlineTests.
Staging a distribution
Note: just stage will also run
Generates a distribution in the
dist/target/stage directory. This will use a launcher version based on the current git commit id. To rebuild a new launcher remove your
Building the Distribution
Activator is versioned by either the current git tag or if there isn't a tag, the latest commit hash. To see the current version that Activator will use for the distribution run:
sbt show version
To create a distribution optionally create a tag and then run:
This generates the file
Activator auto-checks for new versions so to test a new unreleased version you will need to start Activator with the
-Dactivator.checkForUpdates=false flag. If you don't set this Activator will use the latest released version instead of the newly created one.
Publishing the Distribution
- make sure you have the desired version of the template catalog configured in
project/LocalTemplateRepo.scala, setting is
latestTemplateCacheHashtask to get latest. Can get the hash for any existing Activator fat distribution by downloading it and digging it out of the included
- if you're trying to ship with an old template catalog, you will need to
set LocalTemplateRepo.enableCheckTemplateCacheHash := falsetemporarily before you type
- commit the desired template catalog hash to git so your build will be reproducible.
- if you want to make a "real" release (not a git-hash-versioned snapshot), create a git tag for it like
- relaunch sbt; type
show versionand it should have picked up the tag.
- if you want to make a snapshot/test release, just let sbt use the git commit as the version.
show versionto verify.
- be sure
- push the version tag to github
We do both
publishSigned you need a GPG key.
publishSigned, upload to S3.
Make sure your credentials are in an appropriate spot. For me, that's in
~/.sbt/user.sbt with the following content:
credentials += Credentials("Amazon S3", "downloads.typesafe.com.s3.amazonaws.com", <AWS KEY>, <AWS PW>)
Then you can run simply:
Publishing NEWS to versions
First, edit the file
news/news.html to display the news you'd like within builder.
sbt> news/publish-news <version>
If you run into staleness issues with a staged release of Activator, just run
reload in SBT to regenerate the version number and then run
stage again. This should give you a new stable version of SNAP for the sbt-launcher so that the new code is used. Should only be needed when doing integration tests.