Dear Wiki user, You have subscribed to a wiki page or wiki category on "Httpcomponents Wiki" for change notification.
The "HttpComponentsReleaseProcess" page has been changed by OlegKalnichevski: https://wiki.apache.org/HttpComponents/HttpComponentsReleaseProcess New page: ##language:en #pragma section-numbers off = HttpComponents Release Process = == Preparations for using Nexus and uploading files == See MavenConfiguration for details on how to set up Maven. This only has to be done once. == Release preparation == * Make sure there are no open Jira issues targeted for this release HttpCore - https://issues.apache.org/jira/browse/HTTPCORE HttpClient - https://issues.apache.org/jira/browse/HTTPCLIENT HttpAsyncClient - https://issues.apache.org/jira/browse/HTTPASYNC * Review RELEASE_NOTES.txt and make sure all important issues closed since the previous release are included in the release notes * Write an opening statement for the release highlighting the most changes, bug fixed and improvements * Make sure you are using the minimal JDK required by the release compatibility requirements and Maven 3.0.3 {{{ mvn -version }}} * 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 {{{ mvn clirr:check }}} Please note Clirr currently can't handle Java 5 constructs very well and it can generate bogus errors about incompatibility of {{{Enum}}}s {{{ [INFO] [clirr:check {execution: default-cli}] [INFO] Comparing to version: 4.0 [ERROR] org.apache.http.impl.nio.reactor.SSLMode: Method 'public org.apache.http.impl.nio.reactor.SSLMode[] values()' is now final [ERROR] org.apache.http.nio.reactor.IOReactorStatus: Method 'public org.apache.http.nio.reactor.IOReactorStatus[] values()' is now final }}} * Generate release javadocs {{{ mvn javadoc:aggregate }}} Make sure the command completes successfully and there are no warnings. * Generate tutorial if included in this release. Presently only HttpCore and HttpClient have tutorials. {{{ mvn docbkx:generate-pdf docbkx:generate-html }}} Make sure the command completes successfully and there are no warnings. == Release tools == * Make a dedicated local copy of HttpCompoments release tools by checking out project source from the following location https://svn.apache.org/repos/asf/httpcomponents/project-release-tools/trunk {{{ svn co https://svn.apache.org/repos/asf/httpcomponents/project-release-tools/trunk release-httpcore-4.3.1 }}} Given that a release can span across several days or even weeks it is recommended to have a dedicated copy of release tools per ongoing release process. Release tools are basically a collection of Gradle scripts that simplify and facilitate time consuming, often tedious and therefore error-prone tasks. * Prepare gradle.properties Make a copy of gradle.properties.template {{{ cp gradle.properties.template gradle.properties }}} Edit gradle.properties file and update MAVEN_HOME, HC_DEV and signing.keyId properties 'MAVEN_HOME' must refer to the local Maven installation 'HC_DEV' must refer to the trunk or a stable branch of the project being releases, for example {{{ http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/ http://svn.apache.org/repos/asf/httpcomponents/httpcore/branches/4.3.x/ }}} 'signing.keyId' must contain id of the personal GPG key to be used for signing release artifacts. 'signing.password' may be left empty. In this case the script will be prompting for a pass phrase every time access to the key is needed * Make sure that the scripts are valid by listing available tasks {{{ gradlew -q tasks }}} == Building release artifacts == * Prepare release tag Execute 'prepareRelease' task. {{{ gradlew -q prepareRelease }}} Manually enter release version or hit enter to select the default based on pom.xml content (current version sans -SNAPSHOT qualifier) The task will print out the location of the release tag. Please double-check its validity. {{{ Release tag to be created: https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.3.1 }}} * Prepare RC tag Execute 'prepareRC' {{{ gradlew -q prepareRC }}} Manually enter RC qualifier or hit enter to select the default one (RC1) The task will print out the location of the RC tag. Please double-check its validity. {{{ RC tag to be created: https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.3.1-RC1 }}} Optionally run 'previewRC' task to see what changes have been made to the current snapshot. The RC tag will be created by copying those changes to the tag location {{{ gradlew -q previewRC }}} {{{ Local changes for https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.3.1-RC1 /home/oleg/src/apache.org/httpcomponents/release-httpcore-4.3.1/build/repos-asf-httpcomponents-httpcore-trunk M httpcore-osgi/pom.xm M httpcore-nio/pom.xm M httpcore/pom.xm M pom.xm M httpcore-ab/pom.xm }}} * Create RC tag Execute 'commitRC' task to commit the RC tag --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
