Dear wiki user,

You have subscribed to a wiki page "Logging Wiki" for change notification.

The page "Log4j2ReleaseGuide" has been deleted by RalphGoers:

https://wiki.apache.org/logging/Log4j2ReleaseGuide?action=diff&rev1=44&rev2=45

- = Log4j 2.x Release Process =
  
- Before beginning your first release, take the following preparatory steps:
- 
-  1. Run {{{mvn clean install}}} on the project to make sure it will build 
cleanly.
-  1. Run {{{mvn -P rat -DskipTests verify}}} to verify all the licenses are 
valid.
-  1. Login to http://repository.apache.org using your ASF credentials. Click 
on your username in the upper-right-hand corner and click Profile. Make sure 
your email address is correct. If not, contact Infra to get it corrected. You 
will be unable to get the necessary notifications until it's corrected.
-  1. Make sure you have a 4096-bit RSA PGP key pair for code signing. The 
public key should be published in a public repository, preferably 
http://pgp.mit.edu/. Also make sure the public key is published to 
http://www.apache.org/dist/logging/KEYS.
-  1. Edit {{{~/.m2/settings.xml}}} to add the corresponding private key and 
its passphrase to your settings. Also add the Apache Subversion server 
credentials and Sonatype repository credentials to your settings (this is your 
ASF credentials). You'll want to blank out the passphrase after each release 
and fill it back in prior to each release so that it isn't compromised.
- ~-{{{#!xml
-     <profiles>
-         <profile>
-             <id>apache-release</id>
-             <properties>
-                 <gpg.keyname>ABC123FC</gpg.keyname>
-                 <gpg.passphrase>thisIsMyPassphrase</gpg.passphrase>
-                 <gpg.executable>gpg2</gpg.executable><!-- Use this if 
executable differs from "gpg" -->
-             </properties>
-         </profile>
-     </profiles>
- 
-     <activeProfiles>
-         <activeProfile>apache-release</activeProfile>
-     </activeProfiles>
- 
-     ...
- 
-     <servers>
-         <server>
-             <id>svn.apache.org</id>
-             <username>myUsername</username>
-             <password>myPassword</password>
-         </server>
-         <server>
-             <id>apache.releases.https</id>
-             <username>myUsername</username>
-             <password>myPassword</password>
-         </server>
-         <server>
-             <id>apache.snapshots.https</id>
-             <username>myUsername</username>
-             <password>myPassword</password>
-         </server>
-     </servers>
- }}}-~
- 
- Once you've done this, take the following steps to perform a release:
- 
-  1. Edit {{{pom.xml}}} and change the {{{Log4jReleaseVersion}}} property to 
the version you are releasing.
-  1. Make a fresh Git clone of the master branch of 
{{{https://git-wip-us.apache.org/repos/asf/logging-log4j2.git}}}
-  1. Update {{{src/changes/announcement.vm}}}
-  1. Run {{{mvn -P release-notes generate-resources}}} to create the release 
notes.
-  1. Update {{{src/changes/changes.xml}}} with the release date.
-  1. Pick a logo from src/site/resources/logos. Edit it with Gimp to add the 
release version number and save it as a png. Copy the saved logo to 
src/site/resources/images/logo.png.
-  1. Run {{{git add, git commit, and git push}}} to commit the 
{{{RELEASE-NOTES.txt}}} file that was just generated along with the other files 
that were modified.
-  1. Run {{{mvn site}}} followed by {{{mvn site:stage 
-DstagingDirectory=$HOME/log4j}}} where {{{$HOME}}} is your home directory and 
verify that the site looks good.
-  1. Run {{{mvn -P apache-release release:prepare release:perform 
-DreleaseVersion=n.n -DdevelopmentVersion=n.n-SNAPSHOT -Dtag=log4j-n.n-rcn}}} 
to start the release. Enter the password to your signing key when prompted.
-  1. Login to http://repository.apache.org using your ASF credentials. Select 
"Staging Repositories" then check the {{{org.apache.logging}}} repository and 
close it.
-  1. Check out the release tag that was created via the Maven release plugin 
using {{{git checkout tags/tagname}}}.
-  1. Run {{{mvn site}}} in the tag directory. When that completes run {{{mvn 
site:stage -DstagingDirectory=$HOME/log4j}}} where {{{$HOME}}} is your home 
directory.
-  1. Zip the contents of {{{$HOME/log4j}}} with {{{zip -r log4j.zip log4j}}}. 
Commit the site to your github.io account. 
-  1. Copy the distribution archive files from log4j-distribution/target to 
where https://dist.apache.org/repos/dist/dev/logging/log4j/ is checked out on 
your machine.
-     a. Generate the md5 checksum of the bin and source archive files using 
{{{md5 apache-log4j-2.x-site.zip > apache-log4j-2.x-xxx.zip.md5}}}, {{{md5sum 
apache-log4j-2.x-xxx.zip > apache-log4j-2.x-xxx.zip.md4}}}, or {{{gpg 
--print-md MD5 apache-log4j-2.x-xxx.zip > apache-log4j-2.x-xxx.zip.md5}}}.
-     a. Generate the sha1 checksum of the bin and source archive files using 
{{{sha apache-log4j-2.x-site.zip > apache-log4j-2.x-xxx.zip.sha1}}}, {{{shasum 
apache-log4j-2.x-xxx.zip > apache-log4j-2.x-xxx.zip.sha1}}}, or {{{gpg 
--print-md SHA1 apache-log4j-2.x-xxx.zip > apache-log4j-2.x-xxx.zip.sha1}}}.
-  1. Add the site zip to where 
https://dist.apache.org/repos/dist/dev/logging/log4j/ is checked out on your 
machine.
-     a. Sign the site ZIP file using {{{gpg --armor --output 
apache-log4j-2.x-site.zip.asc --detach-sig apache-log4j-2.x-site.zip}}}. You 
can use the {{{--local-user [key ID]}}} option (it must come before 
{{{--detach-sig}}}) to specify the exact key to use when signing the ZIP file.
-     a. Generate the md5 checksum of the site ZIP using {{{md5 
apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.md5}}}, {{{md5sum 
apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.md4}}}, or {{{gpg 
--print-md MD5 apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.md5}}}.
-     a. Generate the sha1 checksum of the site zip using {{{sha 
apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.sha1}}}, {{{shasum 
apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.sha1}}}, or {{{gpg 
--print-md SHA1 apache-log4j-2.x-site.zip > apache-log4j-2.x-site.zip.sha1}}}.
-  1. Generate the release vote email:
-     a. Create the email addressed to d...@logging.apache.org. Sending the 
email to the PMC is not necessary.
-     a. Copy the changes in the release from {{{RELEASE-NOTES.txt}}} into the 
email.
-     a. Provide a link to the tag, web site on http://people.apache.org, and 
the artifacts in the Nexus repository.
-     a. Provide the command to download all the artifacts: {{{wget -e 
robots=off --cut-dirs=3 -r -p -np --no-check-certificate $LINK}}} where 
{{{$LINK}}} is the URL to the repository you just closed (plus the 
{{{org/apache/logging/log4j/}}} path appended).
-     a. Provide a list of the artifacts by copying from the email notification 
sent from the Nexus Repository.<<FootNote(Nexus has not been sending this email 
for the past few releases at least)>>
-  1. If the release vote fails proceed as described in the section below, 
otherwise if it passes:
-     a. Create a new tag named log4j-n.n from the log4j-n.n-rcn tag by 
changing to the changing to the directory containing the source for the release 
and performing {{{git tag -a log4j-n.n -m "Release n.n of Log4j"}} followed by 
{{{git push --tags}}}
-  1. The following steps must be performed by a PMC member:
-     a. Checkout https://dist.apache.org/repos/dist/release/logging/log4j. 
-     a. Create the release directory under the {{{log4j}}} directory.
-     a. Move all the distribution artifacts from the distribution dev location 
to that directory.
-     a. Perform an {{{svn add}}} of the release directory.
-     a. Commit the release to Subversion.
-     a. Login to reporter.apache.org and add the release version and date.
-  1. The following steps can then be taken by whomever started the release:
-     a. Delete the core-its project from the Nexus repository.
-     a. Release the remaining artifacts in the Nexus Repository.
-  1. Wait 12-24 hours (or after the distribution artifacts have been 
propagated to the mirrors and the Maven artifacts have been propagated to the 
Central Repository), and then the following steps must be performed by a PMC 
member:
-     a. Perform {{{svn delete}}} on the '''''previous''''' release directory 
for the same version under the {{{log4j}}} directory 
(https://dist.apache.org/repos/dist/release/logging/log4j).
-     a. Commit the delete to Subversion.
-     a. See ManagingTheWebSite regarding sub-projects.
-     a. Copy the release web site from the local directory where it was 
deployed into the sub-project directory and make it be the current link. 
-  1. After the website is updated, send the release announcement email. This 
should be sent out to d...@logging.apache.org, log4j-u...@logging.apache.org, 
priv...@logging.apache.org, and general@logging.apache.org.
-  2. Send the release announcement to announceme...@apache.org using your 
apache.org email address.
- 
- If the release fails before sending the vote email:
-  1. Login to http://repository.apache.org using your ASF credentials. Select 
"Staging Repositories" then check the org.apache.logging repository and drop it.
-  1. Revert any changes that have not been committed.
-  1. Restart the release process as the same release candidate.
- 
- If the release fails after sending the vote email:
-  1. Login to http://repository.apache.org using your ASF credentials. Select 
"Staging Repositories" then check the org.apache.logging repository and drop it.
-  1. Rename the release tag in Git to add {{{rcn}}} to the end of the tag. 
'''Note that this may not be possible in Git depending on configuration'''
-  1. Restart the release process as a new release candidate.
- 

Reply via email to