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.fusesource.org/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 release:prepare -P release
mvn release:perform -P release
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.3.2 -b scalate-1.3.2.x
git push origin scalate-1.3.2.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.3.2 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