Developers using Linux workstations can skip over the references to PuTTY and Cygwin
Each time
(There are also one-time setup instructions)
0 |
Delete the struts2 items in your local Maven2 repository and obtain a fresh checkout. svn co https://svn.apache.org/repos/asf/struts/struts2/trunk STRUTS_#_#_# |
---|---|
1 |
Update the POMs to remove "-SNAPSHOT" from the version |
2 |
Commit the POM changes and note the revision number |
3 |
Tag the release by making a SVN copy of the head or designated revision |
|
svn copy -r ###### https://svn.apache.org/repos/asf/struts/struts2/trunk https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_#_#_# -m "WW-#### Tag r###### as Struts #.#.#" |
4 |
Assemble the release (see notes) |
|
mvn clean install site -P all,pre-assembly cd assembly mvn clean assembly:assembly
|
5 |
Under CygWin or Linux, sign the Maven artifacts (in |
|
mvn -P release,all -Dpassphrase="$PASSPHRASE" |
6 |
Deploy the Maven artifacts to the staging repository |
|
Make sure the staging repository at {{ http://people.apache.org/builds/struts/m2-staging-repository}} is absent or empty, then: mvn deploy -P all,pre-assembly |
7 |
Sign the Maven artifacts (in |
|
Under CygWin, use the |
|
gpg --armor --output struts-#.#.#-all.zip.asc --detach-sig struts-#.#.#-all.zip openssl md5 < struts-#.#.#-all.zip > struts-#.#.#-all.zip.mdr |
8 |
|
9 |
Update the POMs to next version number and add the "-SNAPSHOT" suffix |
10 |
Commit the POM changes |
11 |
Deploy the new snapshot |
|
mvn -N install |
12 |
Add the next version to our issue tracker for scheduling new features and fixes |
13 |
If the distribution is being mirrored, copy the ZIPs to |
One time
Create and install a SSH key
1 |
Install PuTTY |
---|---|
2 |
Use PuttyGen to create a SSH key (see Putty help for details) |
3 |
Use PuTTY to ssh to people.apache.org |
4 |
Create a ~/.ssh folder |
5 |
|
6 |
ssh to p.a.o |
7 |
Create a |
8 |
Configure putty to use your private key and save the session |
Create a PGP key
1 |
Install cgywin, including utils/gpg |
---|---|
2 |
Generate a key with |
3 |
Backup your cygwin home directory to another media |
4 |
Add your key to |
Update Maven settings for our servers
1 |
Create a settings.xml under .m2 (in your Document and Settings folder) |
---|---|
|
<settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- Uncomment this when the 'central' repo on ibiblio is down See: http://maven.apache.org/guides/mini/guide-mirror-settings.html --> <!-- mirrors> <mirror> <id>ggi-project.org</id> <url>http://ftp.ggi-project.org/pub/packages/maven2</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors --> <servers> <server> <id>apache.snapshots</id> <username>$USERID</username> <privateKey>$PATH_TO_PRIVATE_KEY</privateKey> <directoryPermissions>775</directoryPermissions> <filePermissions>644</filePermissions> </server> <server> <id>struts-staging</id> <username>$USERID</username> <privateKey>$PATH_TO_PRIVATE_KEY</privateKey> </server> <server> <id>apache-site</id> <username>$USERID</username> <privateKey>$PATH_TO_PRIVATE_KEY</privateKey> </server> </servers> <profiles> <profile> <id>cargo-config</id> <properties> <cargo.tomcat5x.home>$CATALINA_HOME</cargo.tomcat5x.home> </properties> </profile> <profile> <id>struts-staging</id> <repositories> <repository> <id>struts-staging</id> <url>http://people.apache.org/builds/struts/m2-staging-repository</url> <snapshots><enabled>false</enabled></snapshots> <releases><enabled>true</enabled></releases> </repository> </repositories> </profile> </profiles> <activeProfiles> <activeProfile>cargo-config</activeProfile> </activeProfiles> </settings> |
Expose a copy of known hosts to Maven
1 |
From cygwin, ssh to people.apache.org, save the public key if prompted, and exit |
---|---|
|
cygwin will save the known hosts to your |
2 |
From cygwin (not Windows) create another |
3 |
Copy the |
Resources
- Apache Struts Release Guidelines
- Struts Maintenance Guide for Maven
- Signing Releases
- Wendy's notes on Release Signing
- Apache Mirroring Guidelines
Retagging
If a tagged build needs to be retagged, be sure to delete the old tag first.
svn delete https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_#_#_# -m "WW-### Removing first try at 2.#.#."
Interim Notes on Cobbling a Distribution
To update the Java 4 distribution
Before tagging
- If needed, update the translator JARs and translate batch file under "backport"
- If needed, update the translate batch file as to the Struts version under "backport"
After assembly, before signing
- Extract assembly to a root drive (
\struts-2.0.x
) - Copy (export) the "backport" folder that is under SVN to
\struts-2.0.x\j4
- Run the translate batch file
- Create struts-2.0.x-j4.zip archive
- Also create a struts-2.0.x-docs.zip archive
- Update struts-2.0.x-all.zip archive