The Torque build process uses
Maven 2 for building;
the recommended version is Maven 2.2.1.
You need to check out the torque4/trunk
part of the db/torque SVN repository.
Please read the Torque Subversion page
for more information.
Change into the directory into which you checked out the torque 4 trunk. Run mvn install. The runtime, generator, templates, maven 2 generator plugin and ant tasks will be built in turn and installed in your local maven 2 repository.
Assuming you want to check out the project from eclipse:
Torque is tested by running the test project. Please refer to the Test Project docs for information.
You need gpg installed for building a release. Possibly, you need to change some gpg defaults. This can be done in the profiles section of the maven configuration file settings.xml. E. g.
<profiles> <profile> <id>gnupg</id> <properties> <gpg.publicKeyring>${location of public keyring}</gpg.publicKeyring> <gpg.secretKeyring>${location of secret keyring}</gpg.secretKeyring> <gpg.keyname>${id of gpg key used for signing}</gpg.keyname> <gpg.passphrase>${your key passphrase. Not a recommended setting to store passphrase as clear text.}</gpg.passphrase> <gpg.useagent>${true or false}</gpg.useagent> </properties> </profile> </profiles> <activeProfiles> <activeProfile>gnupg</activeProfile> </activeProfiles>
You also need to define the servers to deploy to in your settings.xml E.g.
<servers> <server> <id>apache.website</id> <username>tfischer</username> <filePermissions>664</filePermissions> <directoryPermissions>775</directoryPermissions> </server> <server> <id>apache.releases.https</id> <username>tfischer</username> <password>${encrypted apache password}</password> </server> </servers>
Before building a release, check that the project builds with tests and check the test project against the various databases. Make sure that the site is ready for the new release (check the bottom of the site guide for what to do).
To start building a release, run mvn -DautoVersionSubmodules -Ptest release:prepare. This will change the version in the poms to the release version and then run a clean verify cycle on the new poms. This will fail because the test project needs the maven plugin which is not installed in the new version yet. To fix this, you might have to run rm torque-test/derby.log, then run mvn install to install the torque artifacts in the release version. Then run again mvn -Ptest release:prepare -Dusername=YourApacheUsername -Dpassword=YourApachePassword to finish building the release, creating a tag for the release and changing the pom's version entry to the new development version.
To build the release and install it in the nexus staging repository, run mvn release:perform.
To test the release, login into https://repository.apache.org and download the source distribution from the staging repository. Remove the already installed release artifacts from your local maven repository, and check the source release builds. Then change into the test project of the source release, adjust the database properties in the profiles and run the test project against the various databases.
Adjust the version numbers in the site.
Call a vote on the torque dev list and forward to the db private list. When the vote is finished, post the result to the dev list and again forward to the db private list.
When the vote is accepted, promote the staging repository in nexus and copy the distribution files to the directory /www/www.apache.org/dist/db/torque on people.apache.org. Deploy the site. When the various rsyncs are through, announce the release on the torque user list.