Skip to content

Latest commit

 

History

History
77 lines (62 loc) · 4.22 KB

CHANGELOG.adoc

File metadata and controls

77 lines (62 loc) · 4.22 KB

Where are changelogs stored?

Changelogs are stored in src/changelog directory.

log4j-changelog is used to generate AsciiDoc-formatted changelog files during Maven pre-site phase and export them to target/generated-sources/site/asciidoc/changelog directory. These exported AsciiDoc files are not committed, since they are only relevant for the website, and they cause merge-conflicts between feature branches. ./mvnw site command can be used to manually generate these files.

See log4j-changelog project for further details; how to use this changelog system, what steps are needed while making a new release, etc.

I am about to deploy a new release. What shall I do?

Just before a release, three things need to happen in the changelog sources:

  1. changelog entry files needs to be moved from the upcoming release changelog directory src/changelog/.<releaseVersionMajor>.x.x to the new release changelog directory src/changelog/<releaseVersion>

  2. .changelog.adoc.ftl needs to be copied from the upcoming release changelog directory to the new release changelog directory, unless it already exists in the target

  3. .release.xml needs to be created in the new release changelog directory

Due to the nature of release candidates, above steps might need to be repeated multiple times.

Tip

Log4j releases and release candidates all get deployed to the same staging repository. Their pom.xml files all contain the same release version, e.g., 2.19.0. There are no -rc1, -rc2, etc. suffixes in the version of a release candidate. Once a release candidate voting reaches to a consensus for release, associated artifacts simply get promoted from the staging to the public repository. Hence, there are no differences between releases and release candidates.

How to carry out aforementioned changes are explained below in steps:

  1. Populate the src/changelog/<releaseVersion> directory (e.g., src/changelog/2.19.0) from the upcoming release changelog directory (e.g., src/changelog/.2.x.x):

    ./mvnw -N -P changelog-releaser
    Important

    changelog-releaser Maven profile obtains the new release version from Log4jReleaseVersion property. If needed, you can override it to point to another release version:

    ./mvnw -N -P changelog-releaser -DLog4jReleaseVersion=6.6.6
  2. Verify that all changelog entry files are moved from src/changelog/.<releaseVersionMajor>.x.x directory (e.g., src/changelog/.2.x.x)

  3. Verify that src/changelog/<releaseVersion> directory (e.g., src/changelog/2.19.0) is created, and it contains .changelog.adoc.ftl, .release.xml, and changelog entry files

    Important

    If src/changelog/<releaseVersion> directory (e.g., src/changelog/2.19.0) already exists with certain content, changelog-releaser profile will only move new changelog entry files and override .release.xml; .changelog.adoc.ftl will not be touched, if it already exists. This allows one to run changelog-releaser profile multiple times, e.g., to incorporate changes added to a release candidate.

  4. Edit the populated .changelog.adoc.ftl

  5. git add the changes in src/changelog and commit them