The following is the set of release steps which need to be followed as part of release.
Run ant tohome
, then ant fetch
from relevant projects. This results in the latest Impala snapshot being populated. Check-in the updated Jar files.
Run AllTests
for Impala, Example and Petclinic applications, as JUnit test. Run EntryDAOTest
as JUnit test. Run InProjectEntryDAOTest
as JUnit test.
Run EntryDAOTest
as main class:
test (should print OK)
reload (all application classes should reload, all modules should reload)
reload dao (module dao classes should reload, module dao should reload)
sc (should be given selection. Select number corresponding with `EntryServiceTest`)
test (should get output)
reload (as above with `EntryDAOTest`, but should include example-service module)
module dao(as above with `EntryDAOTest`, but should reload example-service module)
Run InProjectEntryDAOTest
as main class:
test (should print OK)
reload (all application classes should reload, all modules should reload)
reload dao (module dao classes should reload, module dao should reload)
Run ExampleServiceTest
as main class:
test (should print OK)
reload (as above)
reload service (as above)
cd (which will bring up a prompt, then select:)
example
sc (which will prompt for a class to select)
test (which should bring up a few, including `AlternativeEntryServiceTest` - select this one)
test (should print OK)
reload service
reload
test
Run StartServer
from example-web/src. Verify using the following urls:
Go through all the links on this page. Reload one of the modules and do the same again.
Run ant fixcrlf
to fix any carriage return or line feed issues. Then check in these changes.
Run ant
for Impala
cd /localDisk/workspaces/impala/impala
ant
ant test
Copy release files to Impala home. Note that this target is assuming that the IMPALA_HOME
environment variable has been set.
ant tohome
Warning: do not run this command if your IMPALA_HOME is set to the impala directory within the Impala source code workspace, as this could result in this directory being deleted and any outgoing changes being lost. Instead, set IMPALA_HOME to a staging directory where the Impala snapshot distribution can be build to. For example:
Run ant fetch clean dist test
for Petclinic. Assuming location of ../petclinic relative to impala.
cd ../petclinic-build
ant fetch clean dist test
ant war tomcat
Note that the tomcat.home propertytomcat
target will need to be set correctly. Run tomcat
Assumes the TOMCAT_HOME environment variable is set:
cd $TOMCAT_HOME
./catalina.sh run
Check application from
Run ant fetch clean dist test
for Example.
cd ../example-sample/example-build
ant fetch clean dist test
ant war tomcat
Run Tomcat as in Petclinic
Check the following urls:
Run through steps of scaffold build as the getting started tutorial, part one.
Any errors encountered in the previous step should be recorded. If serious, the next step should not proceed.
Run from from the main impala project:
ant release
This will tag the SVN repository with the release name, and create a distribution file. Upload dist/impala-%RELEASE_VERSION%.zip to Google Code downloads.
Download the release. Check that the SHA1 checksum matches that of the pre-upload distribution file, and that published on the download metadata page.
For example, run the command
openssl sha1 impala-%RELEASE_VERSION%.zip
See http://www.bresink.de/osx/sha1.html for an example on how to do this.
Go through scaffold steps as defined in FirstSteps.
From Impala home, run
ant -Dmaven.release=true -Dproject.version=%RELEASE_VERSION% mvnsigndeploy
This will upload the release files to the maven staging repository from the local maven repository, as per mvn-build.properties:
maven.repo.root=../maven/repo
maven.snapshot.repository=http://oss.sonatype.org/content/repositories/impalaframework-snapshots
maven.release.repository=http://oss.sonatype.org/service/local/staging/deploy/maven2
Note that releases are deployed to Sonatype's staging directory. They need to promoted as described here: http://nexus.sonatype.org/oss-repository-hosting.html and http://www.jroller.com/holy/entry/releasing_a_project_to_maven.
The Nexus interface is here: http://oss.sonatype.org/index.html
Now is a good time to make sure that documentation is up to date for the new release. Prepare any necessary release documentation.
Make new release the 'Featured' download, so that it appears on the project home page. Remove the 'Featured' tag from the previous release.
TODO: Add list of sites/mailing lists to add announcement.