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