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
This project uses SBT 0.13. Make sure you have an SBT launcher, and run it in the checked out directory.
sbt> project activator-ui
sbt> run
or just
sbt "activator-ui/run"
-
Stage the distribution:
sbt stage -
Force the launcher to use the newly built launcher:
rm -r ~/.activator -
Run Activator:
dist/target/stage/activator
There are two types of tests: Unit tests and integration tests.
To run unit tests, simply:
sbt> test
To run the tests of a particular project, simply:
sbt> <project>/test
To run a specific test, simply:
sbt> test-only TestName
To run all the integration tests, simply:
sbt> integration-tests
sbt> activator-dist/stage
or just
sbt> stage
Note: just stage will also run activator-ui/stage
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 ~/.sbt/boot/scala-*/com.typesafe.activator directory.
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:
sbt dist
This generates the file dist/target/universal/typeasafe-activator-<VERSION>.zip.
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.
Release overview:
- if you want to make a "real" release, create a git tag for it like
v1.0.2. - 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
test,integration-tests, andoffline-testsare passing. publishSignedthens3Upload.- push the version tag to github
We do both publishSigned and s3Upload. To publishSigned you need a GPG key.
After 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:
sbt> activator-dist/s3Upload
OR
sbt> s3Upload
First, edit the file news/news.html to display the news you'd like within builder.
Then run:
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.