You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Apache Wiki <wi...@apache.org> on 2013/03/23 21:32:19 UTC

[Httpcomponents Wiki] Update of "HttpComponentsCoreReleaseProcess" by OlegKalnichevski

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Httpcomponents Wiki" for change notification.

The "HttpComponentsCoreReleaseProcess" page has been changed by OlegKalnichevski:
http://wiki.apache.org/HttpComponents/HttpComponentsCoreReleaseProcess?action=diff&rev1=28&rev2=29

  {{{
  mvn -version
  }}}
- 
-  * Generate pre-release JARs by running 
- 
- {{{
- mvn [clean] package [-Pjava-1.3 | -Pjava-1.4]
- }}}
- 
-  !HttpCore is currently targetted at Java 1.3+, whereas the the rest of the code requires Java 1.5+.
-  If you are building/testing !HttpCore, and have got JDK 1.3 or JDK 1.4 installed on your system, 
-  then you can use the java-1.x profiles to change the version of Java used when running the compile/test stages.
-  Read the httpcore/pom.xml for details of how to define the JDK locations.
-  Note: the profiles don't need to be used for all !HttpCore builds, but should used at least once on the final code to check compliance.
- 
-  * Test the contents of Maven artifacts (e.g. do all the jars contain suitable NOTICE, LICENSE and MANIFEST files?) by doing a test deploy.
-  The artifacts are saved to the relevant ''target/deploy'' directory.
-  (Note: the ''gpg.skip'' and ''skipTests'' qualifiers can be used to speed up the command.)
- 
- {{{
- mvn deploy -Ptest-deploy -Prelease [-Dgpg.skip -DskipTests]
- }}}
- 
  
   * If this is a non-ALPHA release, verify binary compatibility with the previous stable baseline version. Baseline version is the latest stable xx.yy.00 release 
  
@@ -71, +50 @@

  
   and make adjustments that are necessary
  
-  * Deploy the site to a staging directory and review the resultant site before committing the changes  
- 
- {{{  
- mvn site site:stage -Dmaven.clover.licenseLocation=<path>/clover.license -DstagingDirectory=<path>/stage
- }}}
- 
-  You may need to re-build the site several times until fully satisfied with its content and appearance
- 
-  Remark: ASF committers can obtain a copy of Clover2 license donated to the ASF at this location 
-  https://svn.apache.org/repos/private/committers/donated-licenses/clover
- 
-  Remark: stagingDirectory MUST be an absolute path
- 
-  Remark: due to limitations of the docbkx plugin the tutorial will not be copied to the staging directory
- 
-  * Package the content of the staging directory
- 
   * Generate release javadocs
  
  {{{  
@@ -106, +68 @@

  mvn package assembly:assembly antrun:run
  }}}
  
+  * Deploy pre-release snapshots to the Apache Nexus snapshot repository.
+    The snapshots will appear at https://repository.apache.org/content/repositories/snapshots/org/apache/httpcomponents/
+    (This is also where the Hudson snapshots appear)
+ 
+ {{{  
+ mvn deploy
+ }}}
+ 
+  The command assumes presence of a functional gpg setup on the local system
+ 
+  * Review site, release notes, release packages and release artefacts 
+ 
+ == Building release packages ==
+ 
+ Rather than making the necessary changes in the current SVN tree, and then creating the tag from that, 
+ we create a clean workspace from the current tree. 
+ The version and SCM changes are applied to the new workspace, which is then used to create the tag.
+ This approach means that the current tree is never in a transitional state.
+ Also, ongoing changes to the current tree cannot affect the new workspace.
+ 
+  * Make sure all the workspace is up to date
+ 
+ {{{
+ svn -u st
+ }}}
+ 
+  * Checkout the current SVN tree (usually trunk) into a fresh directory
+ 
+ {{{  
+ svn co https://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk httpcore-4.2-beta3-RC1
+ }}}
+ 
+  * Manually update the top-level pom.xml of the project: put the release version (e.g. 4.2-beta3) as the artifact version and update the SCM details to refer to the final release tag (without the -RC1 suffix, as the tag will be renamed later).
+ 
+ ''TODO - can this be done using the versions plugin?''
+ 
+ {{{  
+ pom.xml
+ }}}
+   
+  * Manually update pom.xml of all modules in the project to refer to the updated parent version  
+ 
+ {{{
+ httpcore/pom.xml
+ httpcore-nio/pom.xml
+ httpcore-osgi/pom.xml
+ httpcore-ab/pom.xml
+ httpcore-benchmark/pom.xml
+ }}}
+ 
+  * Double-check that the changes to the workspace look OK.
+  The diff command should only show changes to the version and scm tags.
+ 
+ {{{
+ svn diff
+ }}}
+ 
+  * Commit the changes, creating the release tag in the process.
+  Note: this preserves history, and the commit message will show just the version and SCM changes as above
+ 
+ {{{
+ svn cp . https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.2-beta3-RC1
+ }}}
+ 
+  '''IMPORTANT''' the workspace is still attached to trunk, so do not perform a checkin.
+ 
+  * Install release artifacts to the local Maven repository
+ 
+ {{{  
+ mvn install
+ }}}
+ 
+  * Generate release javadocs
+ 
+ {{{  
+ mvn javadoc:aggregate
+ }}}
+ 
+  * Generate tutorial
+ 
+ {{{  
+ mvn docbkx:generate-pdf docbkx:generate-html
+ }}}
+ 
+  * Build release packages
+ 
+ {{{  
+ mvn package assembly:assembly antrun:run
+ }}}
+ 
   * Use this script to sign release packages
  
+ All official ASF release artifacts MUST be signed.
+  
-  The script assumes presence of a functional gpg setup on the local system 
+ The script assumes presence of a functional gpg setup on the local system 
  
  {{{  
  #!/usr/bin/perl -w
@@ -132, +186 @@

  }
  }}}
  
-  * Upload the content of the staging directory, RELEASE_NOTES.txt, release packages and corresponding MD5 and signature files to a publicly accessible web space such as people.apache.org
- 
-  * Deploy pre-release snapshots to the Apache Nexus snapshot repository.
-    The snapshots will appear at https://repository.apache.org/content/repositories/snapshots/org/apache/httpcomponents/
-    (This is also where the Hudson snapshots appear)
- 
- {{{  
- mvn deploy
- }}}
- 
-  The command assumes presence of a functional gpg setup on the local system
- 
-  * Invite people on the dev@hc.apache.org list to review the site, release notes, release packages and report problems 
- 
- == Building release packages ==
- 
- Rather than making the necessary changes in the current SVN tree, and then creating the tag from that, 
- we create a clean workspace from the current tree. 
- The version and SCM changes are applied to the new workspace, which is then used to create the tag.
- This approach means that the current tree is never in a transitional state.
- Also, ongoing changes to the current tree cannot affect the new workspace.
- 
-  * Make sure all the workspace is up to date
- 
- {{{
- svn -u st
- }}}
- 
-  * Checkout the current SVN tree (usually trunk) into a fresh directory
- 
- {{{  
- svn co https://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk httpcore-4.2-beta3-RC1
- }}}
- 
-  * Manually update the top-level pom.xml of the project: put the release version (e.g. 4.2-beta3) as the artifact version and update the SCM details to refer to the final release tag (without the -RC1 suffix, as the tag will be renamed later).
- 
- ''TODO - can this be done using the versions plugin?''
- 
- {{{  
- pom.xml
- }}}
-   
-  * Manually update pom.xml of all modules in the project to refer to the updated parent version  
- 
- {{{
- httpcore/pom.xml
- httpcore-nio/pom.xml
- httpcore-osgi/pom.xml
- httpcore-ab/pom.xml
- httpcore-benchmark/pom.xml
- }}}
- 
-  * Double-check that the changes to the workspace look OK.
-  The diff command should only show changes to the version and scm tags.
- 
- {{{
- svn diff
- }}}
- 
-  * Commit the changes, creating the release tag in the process.
-  Note: this preserves history, and the commit message will show just the version and SCM changes as above
- 
- {{{
- svn cp . https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.2-beta3-RC1
- }}}
- 
-  '''IMPORTANT''' the workspace is still attached to trunk, so do not perform a checkin.
- 
-  * Install release artifacts to the local Maven repository
- 
- {{{  
- mvn install
- }}}
- 
-  * Generate release javadocs
- 
- {{{  
- mvn javadoc:aggregate
- }}}
- 
-  * Generate tutorial
- 
- {{{  
- mvn docbkx:generate-pdf docbkx:generate-html
- }}}
- 
-  * Build release packages
- 
- {{{  
- mvn package assembly:assembly antrun:run
- }}}
- 
-  * Sign packages using the helper script (see previous section)
- 
   * Deploy the Maven artefacts to the Nexus staging repository
  
  {{{
@@ -236, +196 @@

  where will be held in the staging repository until they are promoted or deleted.
  
  The command assumes presence of a functional gpg setup on the local system.
- 
- All official ASF release artifacts MUST be signed.
  
    * Login to Nexus (same login/password as for SVN and people), and navigate to the staging repository
     * Check that the correct files are present (e.g. binary, source, Javadoc), and "Close" the upload directory.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org