Quick Links
First Things First
- Read the following pages:
- Get your own PGP or GPG key (see http://wiki.apache.org/incubator/SigningReleases
). - Update the iBATIS KEYS file found in /www/www.apache.org/dist/ibatis/ with your key.
iBATIS Release Process
BETA Quality Release
- Announce an intent to release (a release plan) on dev@.
- By convention, try to give the community at least 24 hours to review the plan (lazy consensus).
- Update doc/release.txt and build/version.properties
- TAG the SVN Repository at the trunk level with the release number – See current tags for examples http://svn.apache.org/repos/asf/ibatis/tags/

- If needed, update the directory structure in /www/www.apache.org/dist/ibatis/
- Sign the distribution to create a detached signature file (.asc)
- Place the BETA distribution, signature file, and MD5 sum in:
- /www/www.apache.org/dist/ibatis/
- Yes, this is the same directory as GA. In our history we have never rolled back a release, nor do we aggressively release betas unless we intend to release them to GA. Any pre-beta/alpha is expected to be grabbed from SVN directly. Thus, we put betas directly in the GA repository (allowed as per http://apache.org/dev/release.html
).
- Make sure the KEYS file is up to date.
- Check the upload with the signature and MD5 sum.
- Change iBATIS web site download links to point to new BETA
- Wait at least 24 hours for mirrors to obtain latest release file(s).
- Check mirrors for files.
- If needed, contact Vadim about statistics.
- Announce BETA on user lists.
GENERAL AVAILABILITY (GA) Quality Release
- If a BETA release is pending, give the community a reasonable amount of time to try the release. If feedback positive, call for a VOTE to promote the distribution from BETA to a GA (General Availability) release.
- To reach GA status, a release must have a total of three +1 votes by iBATIS PMC members and more positive votes than negative votes. If the votes are not forthcoming, scratch this release plan and start over with a new plan and a new version number.
- Relink "current release" links on the website
- Announce promotion of the build to GA on user lists.
- Note: Just because we say that a release is of GA grade today, does not mean we can't change our minds. If a security issue arose, we could downgrade the quality to BETA.
Java-specific Checklist
Steps
- Update release.txt with changes (usually can be copied straight from JIRA roadmap
- Update version.properties and build.properties with appropriate MAJOR version numbers (don't modify build number by hand)
- Run build.bat, ensure SUCCESSFUL build
- Check the exploded directory for proper directory structure
- Check the deploy directory for the ZIP file, with proper filename version
Deploying to iBiblio the Apache way
- Create a local directory to mirror the people.apache.org maven rsync repo. I just do: mkdir -p ~/apache-m2-repo/org/apache/ibatis
- cd to the org/apache/ibatis directory and run:
SCP down current repo statescp -r <username>@people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/ibatis/* ./
This will retrieve a copy of existing releases in the apache maven repo so that when you run your local deploy it will properly setup the maven-metadata.xml files. - Get the ant build zip distribution from whoever built it and unzip it to a local directory
- cd to the src directory in the ibatis distribution where the ibatis-sources.zip file is located and run the following:

Please note
- Be sure to replace the <...> content with correct information.
- The local-directory is the absolute path to the top level directory you setup in step 1 (ex. /Users/brandongoodin/apache-m2-repo)

Warning
- You MUST deploy src first because if you try to deploy it after it will overwrite the ibatis-sqlmap<version>.pom with a java-source packaging. Setting the -DgeneratePom=false will cause a nullpointer exception (yeah maven! :/).
Source Deploymvn deploy:deploy-file -Durl=file:<local-directory> \ -Dfile=ibatis-src.zip \ -DgroupId=org.apache.ibatis \ -DartifactId=ibatis-sqlmap \ -Dversion=2.3.4.726 \ -Dpackaging=java-source - cd to the lib directory in the unzipped distribution and run the following.

Please note
- Be sure to replace the <...> content with correct information.
- The local-directory is the absolute path to the top level directory you setup in step 1 (ex. /Users/brandongoodin/apache-m2-repo)
- Be sure to include the full version number (ex. 2.3.4.726)
Binary Deploymvn deploy:deploy-file -Durl=file:<local-directory> \ -Dfile=ibatis-<version>.jar \ -DgroupId=org.apache.ibatis \ -DartifactId=ibatis-sqlmap \ -Dversion=<version> \ -Dpackaging=jar - cd to the ~/apache-m2-repo/org/apache/ibatis/ibatis-sqlmap/<version> and sign the artifacts (jars and pom) by running
Signing the JAR and POM
for i in *.jar; do gpg --output $i.asc --detach-sig --armor $i; done for i in *.pom; do gpg --output $i.asc --detach-sig --armor $i; done
- cd to ~/apache-m2-repo/org/apache/ibatis/ibatis-sqlmap/
- scp new maven-metadata files and new deployed version to people.apache.org by running the following.
SCP new maven-metadata and artifacts
scp maven-metadata.x* <username>@people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/ibatis/ibatis-sqlmap/ scp -r <version> <username>@people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/ibatis/ibatis-sqlmap/
.NET-specific Checklist
Assembly/Binary Distribution
- ASF "LICENSE" text file (see http://apache.org/dev/apply-license.html
and http://wiki.apache.org/general/LicenseFormats
) - Castle.DynamicProxy assembly
- Castle.DynamicProxy license text file
- log4net assembly
- log4net license text file
- Sample sqlMap.config for DataMapper distribution
- Sample dao.config for DataAccess distribution
- providers.config file
- Check that only sqlServer1.1, OleDb1.1, and Odbc1.1 providers are enabled in the providers.config file
Documentation Distribution
- ASF "LICENSE" text file (see http://apache.org/dev/apply-license.html
and http://wiki.apache.org/general/LicenseFormats
) - Correct ASF copyright and dates
- Correct distribution version #
- CHM format
- PDF format
- HTML format
- SDK CHM format
- Check that SDK CHM has:
- Correct ASF copyright and dates
- Correct distribution version #
- Correct title (ex: iBATIS.NET DataMapper 1.2.1)
- Correct HTML Help name (ex: DataMapper-1.2.1)
- Dev list email address for feedback
- Check that SDK CHM has:
NPetshop Distribution
| TODO!!! |
- ASF "LICENSE" text file (see http://apache.org/dev/apply-license.html
and http://wiki.apache.org/general/LicenseFormats
) - Proper ASF copyright on source files
- README or BUILD file explaining build process
Source Distribution
- ASF "LICENSE" text file (see http://apache.org/dev/apply-license.html
and http://wiki.apache.org/general/LicenseFormats
) - Proper ASF copyright on source files
- README or BUILD file explaining build process
- External-Bin/NET/1.1 directory
- Check that External-Bin/NET/1.1 includes:
- Castle.DynamicProxy assembly
- Castle.DynamicProxy license text file
- log4net assembly
- log4net license text file
- README explaining other assembly dependencies
- Check that External-Bin/NET/1.1 includes:
Resources
ASF Release Process
- Release Manager FAQ: http://wiki.apache.org/incubator/ReleaseManager

Mirroring
- Mirroring Step-By-Step (with OpenPGP, md5, creating directories, and linking): http://apache.org/dev/mirror-step-by-step.html

- Apache Mirroring Resources (Overview): http://www.apache.org/dev/mirrors.html

- Ant/Jakarta/XML Mirroring HOWTO (with stats): http://people.apache.org/~bodewig/mirror.html

- Forrest-based interactive mirror download page: http://forrest.apache.org/howto/howto-asf-mirror.html

Signing Releases and MD5 Sums
- Signing FAQ: http://people.apache.org/~henkp/sig/pgp-key-signing.txt

- MD5 FAQ: http://people.apache.org/~henkp/md5/doc.html

- Signing releases: http://wiki.apache.org/incubator/SigningReleases

- Check signatures: http://people.apache.org/~henkp/sig/

- Check distribution signatures and MD5 sums: http://people.apache.org/~henkp/cgi-bin/md5.cgi

- Check downloaded MD5 sums: http://people.apache.org/~henkp/cgi-bin/md5.cgi

Statistics
- Statistics: http://people.apache.org/~vgritsenko/faq.html

Other
- Upcoming ASF Certificate Authority: http://ca.apache.org/

