DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Release Parameters
When preparing a release candidate, there are a few parameters either prompted for or needed to be updated manually. These include:
- Tag version: e.g.,
12.3-rc4 - Release version: e.g.,
12.3 - GPG key id: e.g.,
1234567887654321 - Log4j Core dependency version (both the published dependency and documentation example)
Preparation
- Verify the project builds cleanly via
./sbt "+test" - Verify the site builds cleanly via
./sbt makeSite - Verify the files pass the audit check via
./sbt auditCheck - Make sure you have a 4096-bit RSA PGP key for signing releases uploaded to a public PGP key repository (preferably http://keyserver.ubuntu.com) as well as located in the KEYS file.
Configure sbt with your pgp key by first exporting into the old format for use by sbt-pgp by running
gpg --export-secret-keys --armor --output ~/.sbt/gpg/secring.ascand then edit the file~/.sbt/gpg.sbtwith the following:gpg.sbtuseGpg := true pgpSecretRing := Path.userHome / ".sbt" / "gpg" / "secring.asc" usePgpKeyHex("1234567887654321")Configure your Apache credentials by writing to
~/.sbt/1.0/global.sbtwith something like:global.sbtcredentials += Credentials("Sonatype Nexus Repository Manager", "repository.apache.org", "username", "password")
Releasing
- Run
./sbt releaseand answer the version number prompts.- Important: the version number used here should be a release version like
12.3due to script limitations. When prompted to push your local changes, say "No", and move the tag:git tag v12.3-rc3 'v12.3^{}' && git tag -d v12.3 && git push --tags - Close the staging release repository afterwards by logging in to https://repository.apache.org/#stagingRepositories and finding the appropriate
orgapachelogging-NNNNrepository.
- Important: the version number used here should be a release version like
- Check out the created tag and run
GPG_KEYID=mykeyid ./create-distributions.sh <release-version-number>- FIXME: binary distributions may not be signed by default; make sure to sign them! As a workaround, use the following bash script:
cd target; for f in *.zip *.gz; do shasum -a 256 $f >$f.sha256; shasum -a 512 $f >$f.sha512; done
- FIXME: binary distributions may not be signed by default; make sure to sign them! As a workaround, use the following bash script:
- Commit those to https://dist.apache.org/repos/dist/dev/logging/log4j/scala for staging (removing previous release candidates as necessary).
- Commit the site to github pages for previewing.
- FIXME: this currently requires manually aggregating the API docs from each
target/scala-2.xx/api/directory intotarget/site/api/2.xx/. Can be done via:cd target/site/api; mv ../../scala-2.10/api 2.10...
- FIXME: this currently requires manually aggregating the API docs from each
- Perform a release email and follow the usual release process as Log4j Core does.