Release Guide

How to create releases of Scalate

Release Steps

Various documentation changes first (which should be done before the release is cut)

If the release is a major release then we need to freeze the current website at scalate.github.io/scalate/versions/lastVersion

<remoteServerUrl>dav:http://fusesource.com/forge/dav/${forge-project-id}/versions/snapshot
<remoteServerUrl/>

Cutting the release

<settings>
  <profiles> 
    <profile>
      <id>release</id>
      <properties>
        <release-altGitURL>scm:git:file:///foo/scalate</release-altGitURL>
      </properties>
    </profile>
  </profiles>    
mvn versions:use-next-releases
mvn versions:update-properties
mvn -P license license:check
mvn -P license license:format
mvn -P release release:prepare 
mvn -P release release:perform 
git rebase --hard
git push --tags

Creating a branch for this release and website changes

If this is a major release…

git co scalate-project-1.4.0 -b scalate-1.4.0.x
git push origin scalate-1.4.0.x 

What all this means is now that you should be able to amend the website for the current release using the scalate-project-1.4.0 branch. You can also document new upcoming features for the next release which go into the master branch which should be auto-deployed to the snapshot website

Update the Homebrew formula

brew install -i scalate