You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 46 Next »

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,alljars,pre-assembly
cd assembly 
mvn clean assembly:assembly
  • The assembly module is not listed in the 'all' profile, so it does not get cleaned on line 1 above.
  • From a clean Subversion checkout against a clean Maven repository, you may need to build the plugins first so that they exist in your working repository.

5

Under CygWin or Linux, sign the Maven artifacts (in assembly/target/assembly/out)

 

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 assembly/target/assembly/out)

 

Under CygWin, use the $ mount command to check your drive and path mappings

 

gpg --armor --output struts-#.#.#-all.zip.asc --detach-sig struts-#.#.#-all.zip 
openssl md5 < struts-#.#.#-all.zip > struts-#.#.#-all.zip.mdr

8

pscp or scp the artifacts and signatures to people.apache.org:/www/people.apache.org/builds/struts/#.#.# and update the download page

9

Update your usual working copy, change the POMs to next version number, 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 /www/www.apache.org/dist/struts, wait 24 hours, and then update the download.xml page.

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

pscp your SSH public key to ~/authorized_keys

6

ssh to p.a.o

7

Create a ~\.ssh folder and move authorized_keys there

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 $ gpg --gen-key

3

Backup your cygwin home directory to another media

4

Add your key to people.apache.org/www.apache.org/dist/struts/KEYS

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 ~/.ssh folder, but the script cannot access it there (from Windows)

2

From cygwin (not Windows) create another .ssh folder at (question)

3

Copy the known_hosts file to the new .ssh folder

Resources

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
  • No labels