This is an automated email from the ASF dual-hosted git repository.
vy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git
The following commit(s) were added to refs/heads/main by this push:
new aac1c2a Shebang for updating `logging-parent` to version
`10.1.0-SNAPSHOT`
aac1c2a is described below
commit aac1c2a196f180de77574e029156422ce3b09604
Author: Volkan Yazıcı <[email protected]>
AuthorDate: Wed Sep 27 17:06:38 2023 +0200
Shebang for updating `logging-parent` to version `10.1.0-SNAPSHOT`
---
.asf.yaml | 11 --
.github/generate-email.sh | 17 +--
.github/workflows/build.yaml | 29 ++--
.../{build.yaml => merge-dependabot.yaml} | 39 ++----
.mvn/jvm.config | 2 +
README.adoc | 44 +-----
RELEASE-NOTES.md | 22 ---
RELEASING.adoc | 156 ---------------------
log4j-tools-parent/pom.xml | 7 -
pom.xml | 2 +-
spotless-license-header.txt | 16 ---
src/changelog/.0.x.x/.release-notes.adoc.ftl | 43 ++++++
src/changelog/.0.x.x/.release-notes.md.ftl | 22 ---
src/changelog/.0.x.x/add-website.xml | 8 ++
.../.0.x.x/set_changelog_schema_0_1_1.xml | 2 +-
.../{.changelog.md.ftl => .changelog.adoc.ftl} | 6 +-
src/changelog/.index.adoc.ftl | 41 ++++++
src/changelog/.index.md.ftl | 22 ---
src/changelog/0.1.0/.release-notes.adoc.ftl | 43 ++++++
src/changelog/0.1.0/.release-notes.md.ftl | 22 ---
...J2-3628_add_tools_bom_and_changelog_modules.xml | 2 +-
src/changelog/0.2.0/.release-notes.adoc.ftl | 43 ++++++
src/changelog/0.2.0/.release-notes.md.ftl | 22 ---
src/changelog/0.2.0/13_add_changelog_xsd.xml | 2 +-
.../0.2.0/14_remove_changelog_security_type.xml | 2 +-
.../0.2.0/17_fix_unreleased_directory_order.xml | 2 +-
src/changelog/0.2.0/19_fix_Windows_compat.xml | 2 +-
.../0.2.0/20_add_changelog_maven_plugin.xml | 2 +-
...20_rename_exporter_outputDirectory_property.xml | 2 +-
src/changelog/0.3.0/.release-notes.adoc.ftl | 43 ++++++
src/changelog/0.3.0/.release-notes.md.ftl | 22 ---
src/changelog/0.3.0/37_add_changelogEntryCount.xml | 2 +-
.../0.3.0/44_make_changelog_format_agnostic.xml | 2 +-
src/changelog/0.3.0/java_17.xml | 2 +-
src/changelog/0.4.0/.release-notes.adoc.ftl | 44 ++++++
src/changelog/0.4.0/.release-notes.md.ftl | 23 ---
.../0.4.0/63_add_versionPattern_to_ReleaseMojo.xml | 2 +-
.../0.4.0/change_ExportMojo_outputDirectory.xml | 2 +-
src/changelog/0.4.0/changelog_migration.xml | 2 +-
src/changelog/0.4.0/fix_repetitive_release.xml | 2 +-
src/site/_constants.adoc | 41 ++++++
src/site/_constants.tmpl.adoc | 41 ++++++
.../site/_log4j-changelog-maven-plugin.adoc | 48 ++++---
.../README.adoc => src/site/_log4j-changelog.adoc | 79 ++++++-----
src/site/_release-notes.adoc | 43 ++++++
src/site/_release-notes/_0.1.0.adoc | 46 ++++++
src/site/_release-notes/_0.2.0.adoc | 60 ++++++++
src/site/_release-notes/_0.3.0.adoc | 51 +++++++
src/site/_release-notes/_0.4.0.adoc | 56 ++++++++
src/site/_release-notes/_0.x.x.adoc | 50 +++++++
README.adoc => src/site/index.adoc | 54 +++++--
51 files changed, 830 insertions(+), 518 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
index 3a42da0..70d2b06 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -35,14 +35,3 @@ github:
protected_branches:
main:
required_signatures: true
- # Attempt to make the auto-generated github emails more easily readable in
email clients.
- custom_subjects:
- new_pr: "[PR] {title} ({repository})"
- close_pr: "Re: [PR] {title} ({repository})"
- comment_pr: "Re: [PR] {title} ({repository})"
- diffcomment: "Re: [PR] {title} ({repository})"
- merge_pr: "Re: [PR] {title} ({repository})"
- new_issue: "[I] {title} ({repository})"
- comment_issue: "Re: [I] {title} ({repository})"
- close_issue: "Re: [I] {title} ({repository})"
- catchall: "[GH] {title} ({repository})"
diff --git a/.github/generate-email.sh b/.github/generate-email.sh
index eb209a0..d10aeec 100755
--- a/.github/generate-email.sh
+++ b/.github/generate-email.sh
@@ -33,19 +33,21 @@ fail_for_invalid_args() {
# Constants
PROJECT_NAME="Apache Log4j Tools"
+PROJECT_SITE="https://logging.apache.org/log4j/tools"
PROJECT_REPO="https://github.com/apache/logging-log4j-tools"
+PROJECT_DIST_DIR="https://dist.apache.org/repos/dist/dev/logging/log4j-tools"
PROJECT_VERSION="$2"
COMMIT_ID="$3"
# Check release notes file
-RELEASE_NOTES_FILE="$SCRIPT_DIR/../target/release-notes/$PROJECT_VERSION.md"
+RELEASE_NOTES_FILE="$SCRIPT_DIR/../src/site/_release-notes/_$PROJECT_VERSION.adoc"
[ -f "$RELEASE_NOTES_FILE" ] || {
stderr "Couldn't find release notes file: $RELEASE_NOTES_FILE"
exit 1
}
dump_release_notes() {
- awk "f{print} /^# $PROJECT_VERSION/{f=1}" "$RELEASE_NOTES_FILE"
+ awk "f{print} /^Release date::/{f=1}" "$RELEASE_NOTES_FILE"
}
case $1 in
@@ -59,7 +61,7 @@ This is a vote to release the $PROJECT_NAME $PROJECT_VERSION.
Source repository: $PROJECT_REPO
Commit: $COMMIT_ID
-Distribution: https://dist.apache.org/repos/dist/dev/logging/log4j
+Distribution: $PROJECT_DIST_DIR
Nexus: https://repository.apache.org/content/repositories/orgapachelogging-1113
Signing key: 0x077e8893a6dcc33dd4a4d5b256e73ba9a0b592d0
@@ -84,13 +86,12 @@ announce)
To: [email protected], [email protected]
Title: [ANNOUNCE] $PROJECT_NAME $PROJECT_VERSION released
-${PROJECT_NAME}[1] team is pleased to announce the $PROJECT_VERSION
+${PROJECT_NAME} team is pleased to announce the $PROJECT_VERSION
release. This project provides tooling internally used by the
-Apache Log4j[2] project. For further information (support,
-download, etc.) see the project website[1].
+Apache Log4j project. For further information (support, download,
+etc.) see the project website[1].
-[1] $PROJECT_REPO
-[2] https://logging.apache.org/log4j
+[1] $PROJECT_SITE
# Release Notes
EOF
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 7bcff46..1e09709 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -19,10 +19,6 @@ name: build
on:
push:
- # Avoid workflow run for _merged_ `dependabot` PRs.
- # They were (hopefully!) already tested in PR-triggered workflow.
- branches-ignore:
- - "dependabot/**"
paths-ignore:
- "**.adoc"
- "**.md"
@@ -38,26 +34,33 @@ permissions: read-all
jobs:
build:
+ if: github.actor != 'dependabot[bot]'
uses: apache/logging-parent/.github/workflows/build-reusable.yaml@main
- # Write permissions to allow merge of `dependabot` PRs
- permissions:
- contents: write
- pull-requests: write
deploy-snapshot:
needs: build
- if: github.repository == 'apache/logging-log4j-tools' && github.ref ==
'refs/heads/main'
+ if: github.repository == 'apache/logging-log4j-tools' && github.ref_name
== 'main'
uses:
apache/logging-parent/.github/workflows/deploy-snapshot-reusable.yaml@main
- secrets: inherit
+ # Secrets for deployments
+ secrets:
+ NEXUS_USER: ${{ secrets.NEXUS_USER }}
+ NEXUS_PW: ${{ secrets.NEXUS_PW }}
deploy-release:
needs: build
- if: github.repository == 'apache/logging-log4j-tools' &&
startsWith(github.ref, 'refs/heads/release/')
+ if: github.repository == 'apache/logging-log4j-tools' &&
startsWith(github.ref_name, 'release/')
uses:
apache/logging-parent/.github/workflows/deploy-release-reusable.yaml@main
- secrets: inherit
+ # Secrets for deployments
+ secrets:
+ GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
+ LOGGING_STAGE_DEPLOYER_USER: ${{ secrets.LOGGING_STAGE_DEPLOYER_USER }}
+ LOGGING_STAGE_DEPLOYER_PW: ${{ secrets.LOGGING_STAGE_DEPLOYER_PW }}
+ SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
+ SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
# Write permissions to allow the Maven `revision` property update,
changelog release, etc.
permissions:
contents: write
with:
- project-name: log4j-tools
+ project-id: log4j-tools
distribution-attachment-count: 2
+ site-enabled: true
diff --git a/.github/workflows/build.yaml
b/.github/workflows/merge-dependabot.yaml
similarity index 51%
copy from .github/workflows/build.yaml
copy to .github/workflows/merge-dependabot.yaml
index 7bcff46..27b63fc 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/merge-dependabot.yaml
@@ -15,19 +15,10 @@
# limitations under the License.
#
-name: build
+name: merge-dependabot
on:
- push:
- # Avoid workflow run for _merged_ `dependabot` PRs.
- # They were (hopefully!) already tested in PR-triggered workflow.
- branches-ignore:
- - "dependabot/**"
- paths-ignore:
- - "**.adoc"
- - "**.md"
- - "**.txt"
- pull_request:
+ pull_request_target:
paths-ignore:
- "**.adoc"
- "**.md"
@@ -38,26 +29,14 @@ permissions: read-all
jobs:
build:
+ if: github.repository == 'apache/logging-log4j-tools' && github.event_name
== 'pull_request_target' && github.actor == 'dependabot[bot]'
uses: apache/logging-parent/.github/workflows/build-reusable.yaml@main
- # Write permissions to allow merge of `dependabot` PRs
- permissions:
- contents: write
- pull-requests: write
-
- deploy-snapshot:
- needs: build
- if: github.repository == 'apache/logging-log4j-tools' && github.ref ==
'refs/heads/main'
- uses:
apache/logging-parent/.github/workflows/deploy-snapshot-reusable.yaml@main
- secrets: inherit
- deploy-release:
+ merge-dependabot:
needs: build
- if: github.repository == 'apache/logging-log4j-tools' &&
startsWith(github.ref, 'refs/heads/release/')
- uses:
apache/logging-parent/.github/workflows/deploy-release-reusable.yaml@main
- secrets: inherit
- # Write permissions to allow the Maven `revision` property update,
changelog release, etc.
+ uses:
apache/logging-parent/.github/workflows/merge-dependabot-reusable.yaml@main
permissions:
- contents: write
- with:
- project-name: log4j-tools
- distribution-attachment-count: 2
+ contents: write # to push changelog
commits
+ pull-requests: write # to close the PR
+ secrets:
+ GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} # to sign commits
diff --git a/.mvn/jvm.config b/.mvn/jvm.config
index 6f7d1c8..45a0340 100644
--- a/.mvn/jvm.config
+++ b/.mvn/jvm.config
@@ -9,3 +9,5 @@
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
+--add-opens java.base/sun.nio.ch=ALL-UNNAMED
+--add-opens java.base/java.io=ALL-UNNAMED
diff --git a/README.adoc b/README.adoc
index 2ee1a9d..1d2fc2f 100644
--- a/README.adoc
+++ b/README.adoc
@@ -19,45 +19,5 @@
https://github.com/apache/logging-log4j-tools/actions[image:https://github.com/a
https://search.maven.org/search?q=g:org.apache.logging.log4j%20a:log4j-tools-bom[image:https://img.shields.io/maven-central/v/org.apache.logging.log4j/log4j-tools-bom.svg[Maven
Central]]
https://www.apache.org/licenses/LICENSE-2.0.txt[image:https://img.shields.io/github/license/apache/logging-log4j-tools.svg[License]]
-Tooling **internally** used by https://logging.apache.org/log4j/2.x/[the
Apache Log4j project] infrastructure.
-
-xref:log4j-changelog/README.adoc[`log4j-changelog`]::
-Tools to maintain changelogs.
-
-xref:log4j-changelog-maven-plugin/README.adoc[`log4j-changelog-maven-plugin`]::
-Maven plugin for xref:log4j-changelog/README.adoc[`log4j-changelog`].
-
-== Build
-
-This project generates Java 8 bytecode, though requires Java 17 for
compilation.
-You can build and test sources using `./mvnw verify` command.
-
-== Distribution
-
-In accordance with the Apache Software Foundation's release
https://infra.apache.org/release-distribution.html[distribution policy] and
https://infra.apache.org/release-publishing.html[creation process], project
artifacts are _officially_ accessible from the following locations:
-
-* ASF https://repository.apache.org/content/repositories/releases[Release] and
https://repository.apache.org/content/repositories/snapshots[snapshot]
repositories (mirrored to https://central.sonatype.dev/[the Maven Central
Repository])
-* ASF https://downloads.apache.org/logging/log4j-tools[Distribution directory]
-
-See xref:RELEASING.adoc[release instructions] for further details.
-
-== Support
-
-Please keep in mind that this project is intended for internal usage only.
-You can use GitHub Issues for feature requests and bug reports – not questions!
-See https://logging.apache.org/log4j/2.x/support.html[the Log4j support
policy] for details.
-
-== Security
-
-If you have encountered an unlisted security vulnerability or other unexpected
behaviour that has security impact, please report them privately to
mailto:[email protected][the Log4j security mailing list].
-See https://logging.apache.org/log4j/2.x/security.html[the Log4j Security
page] for further details.
-
-== License
-
-Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.
-See xref:NOTICE.txt[] distributed with this work for additional information
regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0[].
-
-Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
limitations under the License.
+Tooling **internally** used by https://logging.apache.org/log4j[the Apache
Log4j project].
+See https://logging.apache.org/log4j/tools[the project website] for further
information.
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
deleted file mode 100644
index a37d693..0000000
--- a/RELEASE-NOTES.md
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to you under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-This project uses itself, i.e., `log4j-changelog-maven-plugin`, for keeping a
changelog and generating release notes.
-
-Changelog files are located under [`src/changelog`](src/changelog).
-Release notes can be generated using `./mvnw -N -P changelog-export` command.
-See [`log4j-changelog-maven-plugin`](log4j-changelog-maven-plugin) for details
on how it all works.
diff --git a/RELEASING.adoc b/RELEASING.adoc
deleted file mode 100644
index 1e08566..0000000
--- a/RELEASING.adoc
+++ /dev/null
@@ -1,156 +0,0 @@
-////
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
- https://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-////
-
-// ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
-// ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
-// ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
-// ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
-// ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
-//
-// Below instructions are shared by all Maven-based Apache Logging Services
projects.
-// Be extremely cautious while making changes!
-
-// Configuration
///////////////////////////////////////////////////////////////
-
-// Name of the GitHub repository; `logging-parent`, `logging-log4j2`,
`logging-log4j-tools`, etc.
-:repository-name: logging-log4j-tools
-
-// Name of the project; `logging-parent`, `log4j`, `log4j-tools`
-:project-name: log4j-tools
-
-// Instructions
////////////////////////////////////////////////////////////////
-
-= Release instructions
-
-[WARNING]
-====
-In the code examples below, assuming the version to be released is `7.8.0`.
-====
-
-== Stage the release
-
-. Create and push the release branch:
-+
-[source,bash]
-----
-git fetch -p
-git checkout -B release/7.8.0 origin/main
-git push origin release/7.8.0
-----
-. Verify that the associated
https://github.com/apache/{repository-name}/actions[GitHub Actions workflow]
succeeds:
-.. `revision` property in `pom.xml` is updated
-.. Changelog is released (i.e., `src/changelog/7.8.0` folder is populated)
-.. *Signed artifacts* are uploaded to the _Staging Repositories_ in
https://repository.apache.org/[repository.apache.org]
-.. *Signed distribution and its checksum* (e.g.,
`apache-{project-name}-7.8.0-{bin,src}.{zip,.zip.asc,.zip.sha512}`) are
uploaded to
https://dist.apache.org/repos/dist/dev/logging/log4j[dist.apache.org/repos/dist/**dev**/logging/log4j]
Subversion repository (along with auxiliary files; email texts, etc.)
-
-+
-If not, commit necessary fixes, push, and repeat.
-
-+
-[TIP]
-====
-GitHub Actions workflow is idempotent.
-You can iterate on the `release/7.8.0` branch to perfect it.
-====
-. _Close_ the repository in
https://repository.apache.org/[repository.apache.org]
-
-== Vote the release
-
-. Send the vote email uploaded to the
https://dist.apache.org/repos/dist/dev/logging/log4j[dist.apache.org/repos/dist/**dev**/logging/log4j]
Subversion repository
-+
-[WARNING]
-====
-**Fix the cited https://repository.apache.org[repository.apache.org] URL** in
the generated email!
-It changes after every Nexus deployment.
-====
-+
-[WARNING]
-====
-Make sure your email is sent in plain text, that is,
https://infra.apache.org/contrib-email-tips#nohtml[no HTML]!
-If you are using GMail, simply enable the _"Plain text mode"_ while composing
your message.
-====
-
-. Once the consensus is reached within the set time frame, respond to the
first post in the thread as follows:
-+
-[source]
-----
-Adding my +1.
-
-With that, the release passes with 3 binding +1 votes from <PMC-member-1>,
..., <PMC-member-N>, and me.
-I will continue the release process.
-----
-
-== Publish the release
-
-=== In the git repository
-
-. Pull the most recent changes and tags
-+
-[source,bash]
-----
-git fetch -p
-----
-. Tag the release (e.g., `rel/7.8.0`) and push it
-+
-[source,bash]
-----
-git tag -a rel/7.8.0 <COMMIT-ID> -m 7.8.0 # <1>
-git push origin rel/7.8.0
-----
-+
-<1> You can find the `COMMIT-ID` in the generated vote email.
-+
-[IMPORTANT]
-====
-The ASF infrastructure treats ``rel/``-prefixed git tags special and ensures
they are immutable for provenance reasons.
-====
-. Merge `release/7.8.0` to `main`
-+
-[source,bash]
-----
-git checkout main
-git merge release/7.8.0
-----
-. Set the revision property to the next development version (e.g.,
`7.9.0-SNAPSHOT`) in xref:pom.xml[`pom.xml`]
-. Commit changes and push the `main` branch
-. Delete the local and remote copies of the `release/7.8.0` branch
-
-=== In the ASF infrastructure
-
-. _Release_ the repository in
https://reporter.apache.org/addrelease.html?logging[repository.apache.org]
-. In
https://dist.apache.org/repos/dist/release/logging/{project-name}[dist.apache.org/repos/dist]
Subversion repository,
-.. create the `*release*/logging/{project-name}/7.8.0` folder, and copy the
signed sources and their checksum from `*dev*/logging/{project-name}` to there
-.. delete the folder from an earlier release in
`*release*/logging/{project-name}` (stash the generated announcement email
somewhere, you will need it later on)
-.. commit changes
-. Report the release at
https://reporter.apache.org/addrelease.html?logging[reporter.apache.org]
-
-=== In GitHub
-
-Once the artifacts are visible in
https://central.sonatype.dev/[central.sonatype.dev],
https://github.com/apache/{repository-name}/releases/new[create a new release
in GitHub]
-
-. Use the `rel/7.8.0` tag
-. Copy release notes from the generated emails
-
-== Announce the release
-
-. Send the announcement email uploaded to the
https://dist.apache.org/repos/dist/dev/logging/{project-name}[dist.apache.org/repos/dist/**dev**/logging/{project-name}]
Subversion repository
-+
-[WARNING]
-====
-Make sure your email is sent in plain text, that is,
https://infra.apache.org/contrib-email-tips#nohtml[no HTML]!
-If you are using GMail, simply enable the _"Plain text mode"_ while composing
your message.
-====
diff --git a/log4j-tools-parent/pom.xml b/log4j-tools-parent/pom.xml
index 7c3cf3f..4e2d1f8 100644
--- a/log4j-tools-parent/pom.xml
+++ b/log4j-tools-parent/pom.xml
@@ -38,7 +38,6 @@
<junit.version>5.9.3</junit.version>
<maven-plugin.version>3.8.2</maven-plugin.version>
<maven-plugin-api.version>3.6.3</maven-plugin-api.version>
- <spotbugs.version>4.7.3</spotbugs.version>
</properties>
@@ -89,12 +88,6 @@
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-annotations</artifactId>
- <version>${spotbugs.version}</version>
- </dependency>
-
</dependencies>
</dependencyManagement>
diff --git a/pom.xml b/pom.xml
index 3a36bf4..803a57e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
<parent>
<groupId>org.apache.logging</groupId>
<artifactId>logging-parent</artifactId>
- <version>10.0.0</version>
+ <version>10.1.0-SNAPSHOT</version>
</parent>
<groupId>org.apache.logging.log4j</groupId>
diff --git a/spotless-license-header.txt b/spotless-license-header.txt
deleted file mode 100644
index 4f33236..0000000
--- a/spotless-license-header.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
diff --git a/src/changelog/.0.x.x/.release-notes.adoc.ftl
b/src/changelog/.0.x.x/.release-notes.adoc.ftl
new file mode 100644
index 0000000..8ffd747
--- /dev/null
+++ b/src/changelog/.0.x.x/.release-notes.adoc.ftl
@@ -0,0 +1,43 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
+=== ${release.version}
+
+<#if release.date?has_content>Release date:: ${release.date}</#if>
+
+This minor release contains various bug fixes and improvements.
+
+<#include "../.changelog.adoc.ftl">
diff --git a/src/changelog/.0.x.x/.release-notes.md.ftl
b/src/changelog/.0.x.x/.release-notes.md.ftl
deleted file mode 100644
index d93cd35..0000000
--- a/src/changelog/.0.x.x/.release-notes.md.ftl
+++ /dev/null
@@ -1,22 +0,0 @@
-<#--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to you under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-# ${release.version}<#if release.date?has_content> (${release.date})</#if>
-
-This minor release contains various bug fixes and improvements.
-
-<#include "../.changelog.md.ftl">
diff --git a/src/changelog/.0.x.x/add-website.xml
b/src/changelog/.0.x.x/add-website.xml
new file mode 100644
index 0000000..0cf8cb4
--- /dev/null
+++ b/src/changelog/.0.x.x/add-website.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://logging.apache.org/log4j/changelog"
+ xsi:schemaLocation="http://logging.apache.org/log4j/changelog
https://logging.apache.org/log4j/changelog-0.1.1.xsd"
+ type="added">
+ <author id="github:vy"/>
+ <description format="asciidoc">Started publishing
https://logging.apache.org/log4j/tools[the project website]</description>
+</entry>
diff --git a/src/changelog/.0.x.x/set_changelog_schema_0_1_1.xml
b/src/changelog/.0.x.x/set_changelog_schema_0_1_1.xml
index 74d756c..f66ef70 100644
--- a/src/changelog/.0.x.x/set_changelog_schema_0_1_1.xml
+++ b/src/changelog/.0.x.x/set_changelog_schema_0_1_1.xml
@@ -20,5 +20,5 @@
xsi:schemaLocation="http://logging.apache.org/log4j/changelog
https://logging.apache.org/log4j/changelog-0.1.1.xsd"
type="changed">
<author id="github:vy"/>
- <description format="markdown">Bump the default `log4j-changelog` XML schema
version to `0.1.1`</description>
+ <description format="asciidoc">Bump the default `log4j-changelog` XML schema
version to `0.1.1`</description>
</entry>
diff --git a/src/changelog/.changelog.md.ftl b/src/changelog/.changelog.adoc.ftl
similarity index 77%
rename from src/changelog/.changelog.md.ftl
rename to src/changelog/.changelog.adoc.ftl
index d840fe3..ebd41f0 100644
--- a/src/changelog/.changelog.md.ftl
+++ b/src/changelog/.changelog.adoc.ftl
@@ -14,13 +14,13 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<#if entriesByType?size gt 0>## Changes
+<#if entriesByType?size gt 0>
<#list entriesByType as entryType, entries>
-### ${entryType?capitalize}
+==== ${entryType?capitalize}
<#list entries as entry>
-* ${entry.description.text?replace("\\s+", " ", "r")}<#if
entry.issues?has_content> (<#list entry.issues as issue><#if
issue.link?starts_with("https://github.com/apache/logging-log4j-tools")>#${issue.id}<#else>[${issue.id}](${issue.link})</#if><#if
issue?has_next>, </#if></#list>)</#if>
+* ${entry.description.text?replace("\\s+", " ", "r")}<#if
entry.issues?has_content> (<#list entry.issues as
issue>${issue.link}[${issue.id}]<#if issue?has_next>, </#if></#list>)</#if>
</#list>
</#list>
</#if>
diff --git a/src/changelog/.index.adoc.ftl b/src/changelog/.index.adoc.ftl
new file mode 100644
index 0000000..8c4ff21
--- /dev/null
+++ b/src/changelog/.index.adoc.ftl
@@ -0,0 +1,41 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE IS CALLED `index.adoc`, IT IS AUTO-GENERATED, DO NOT EDIT IT!
+
+ Release notes `index.adoc` is generated from
`src/changelog/.index.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Edit `.index.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.index.adoc.ftl` and the generated `.index.adoc`
+////
+
+[#release-notes]
+== Release Notes
+
+<#list releases as release><#if release.changelogEntryCount gt 0>
+include::_release-notes/_${release.version}.adoc[]
+</#if></#list>
diff --git a/src/changelog/.index.md.ftl b/src/changelog/.index.md.ftl
deleted file mode 100644
index 693f1f8..0000000
--- a/src/changelog/.index.md.ftl
+++ /dev/null
@@ -1,22 +0,0 @@
-<#--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to you under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-# Release Notes
-
-<#list releases as release>
-* [${release.version}](${release.version}.md)<#if release.date?has_content>
(${release.date})</#if>
-</#list>
diff --git a/src/changelog/0.1.0/.release-notes.adoc.ftl
b/src/changelog/0.1.0/.release-notes.adoc.ftl
new file mode 100644
index 0000000..d7c7503
--- /dev/null
+++ b/src/changelog/0.1.0/.release-notes.adoc.ftl
@@ -0,0 +1,43 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
+=== ${release.version}
+
+<#if release.date?has_content>Release date:: ${release.date}</#if>
+
+This is the first release, aimed to assist [the Apache Log4j
2](http://logging.apache.org/log4j/2.x/) on generating release notes.
+
+<#include "../.changelog.adoc.ftl">
diff --git a/src/changelog/0.1.0/.release-notes.md.ftl
b/src/changelog/0.1.0/.release-notes.md.ftl
deleted file mode 100644
index 81782ac..0000000
--- a/src/changelog/0.1.0/.release-notes.md.ftl
+++ /dev/null
@@ -1,22 +0,0 @@
-<#--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to you under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-# ${release.version}<#if release.date?has_content> (${release.date})</#if>
-
-This is the first release, aimed to assist [the Apache Log4j
2](http://logging.apache.org/log4j/2.x/) on generating release notes.
-
-<#include "../.changelog.md.ftl">
diff --git
a/src/changelog/0.1.0/LOG4J2-3628_add_tools_bom_and_changelog_modules.xml
b/src/changelog/0.1.0/LOG4J2-3628_add_tools_bom_and_changelog_modules.xml
index 703f72e..67cba74 100644
--- a/src/changelog/0.1.0/LOG4J2-3628_add_tools_bom_and_changelog_modules.xml
+++ b/src/changelog/0.1.0/LOG4J2-3628_add_tools_bom_and_changelog_modules.xml
@@ -21,5 +21,5 @@
type="added">
<issue id="LOG4J2-3628"
link="https://issues.apache.org/jira/browse/LOG4J2-3628"/>
<author id="github:vy"/>
- <description format="markdown">Add `log4j-tools-bom` and `log4j-changelog`
modules</description>
+ <description format="asciidoc">Add `log4j-tools-bom` and `log4j-changelog`
modules</description>
</entry>
diff --git a/src/changelog/0.2.0/.release-notes.adoc.ftl
b/src/changelog/0.2.0/.release-notes.adoc.ftl
new file mode 100644
index 0000000..8ffd747
--- /dev/null
+++ b/src/changelog/0.2.0/.release-notes.adoc.ftl
@@ -0,0 +1,43 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
+=== ${release.version}
+
+<#if release.date?has_content>Release date:: ${release.date}</#if>
+
+This minor release contains various bug fixes and improvements.
+
+<#include "../.changelog.adoc.ftl">
diff --git a/src/changelog/0.2.0/.release-notes.md.ftl
b/src/changelog/0.2.0/.release-notes.md.ftl
deleted file mode 100644
index d93cd35..0000000
--- a/src/changelog/0.2.0/.release-notes.md.ftl
+++ /dev/null
@@ -1,22 +0,0 @@
-<#--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to you under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-# ${release.version}<#if release.date?has_content> (${release.date})</#if>
-
-This minor release contains various bug fixes and improvements.
-
-<#include "../.changelog.md.ftl">
diff --git a/src/changelog/0.2.0/13_add_changelog_xsd.xml
b/src/changelog/0.2.0/13_add_changelog_xsd.xml
index 50ce6b3..73d0776 100644
--- a/src/changelog/0.2.0/13_add_changelog_xsd.xml
+++ b/src/changelog/0.2.0/13_add_changelog_xsd.xml
@@ -22,5 +22,5 @@
<issue id="13"
link="https://github.com/apache/logging-log4j-tools/issues/13"/>
<author id="github:ppkarwasz"/>
<author id="github:vy"/>
- <description format="markdown">Add XSD for `log4j-changelog` XML
files</description>
+ <description format="asciidoc">Add XSD for `log4j-changelog` XML
files</description>
</entry>
diff --git a/src/changelog/0.2.0/14_remove_changelog_security_type.xml
b/src/changelog/0.2.0/14_remove_changelog_security_type.xml
index 1b0cefb..68f6b5b 100644
--- a/src/changelog/0.2.0/14_remove_changelog_security_type.xml
+++ b/src/changelog/0.2.0/14_remove_changelog_security_type.xml
@@ -22,5 +22,5 @@
<issue id="14"
link="https://github.com/apache/logging-log4j-tools/issues/14"/>
<author id="github:rgoers"/>
<author id="github:vy"/>
- <description format="markdown">Remove `security` as a change type from
`log4j-changelog`</description>
+ <description format="asciidoc">Remove `security` as a change type from
`log4j-changelog`</description>
</entry>
diff --git a/src/changelog/0.2.0/17_fix_unreleased_directory_order.xml
b/src/changelog/0.2.0/17_fix_unreleased_directory_order.xml
index edb52a3..f969059 100644
--- a/src/changelog/0.2.0/17_fix_unreleased_directory_order.xml
+++ b/src/changelog/0.2.0/17_fix_unreleased_directory_order.xml
@@ -21,5 +21,5 @@
type="fixed">
<issue id="17"
link="https://github.com/apache/logging-log4j-tools/issues/17"/>
<author id="github:vy"/>
- <description format="markdown">Fix unreleased directory order in
`ChangelogExporter`</description>
+ <description format="asciidoc">Fix unreleased directory order in
`ChangelogExporter`</description>
</entry>
diff --git a/src/changelog/0.2.0/19_fix_Windows_compat.xml
b/src/changelog/0.2.0/19_fix_Windows_compat.xml
index 03d4202..9c31d2e 100644
--- a/src/changelog/0.2.0/19_fix_Windows_compat.xml
+++ b/src/changelog/0.2.0/19_fix_Windows_compat.xml
@@ -22,5 +22,5 @@
<issue id="19"
link="https://github.com/apache/logging-log4j-tools/issues/19"/>
<author id="github:ppkarwasz"/>
<author id="github:vy"/>
- <description format="markdown">Fix Windows compatibility</description>
+ <description format="asciidoc">Fix Windows compatibility</description>
</entry>
diff --git a/src/changelog/0.2.0/20_add_changelog_maven_plugin.xml
b/src/changelog/0.2.0/20_add_changelog_maven_plugin.xml
index bf076f8..b66d1b0 100644
--- a/src/changelog/0.2.0/20_add_changelog_maven_plugin.xml
+++ b/src/changelog/0.2.0/20_add_changelog_maven_plugin.xml
@@ -22,5 +22,5 @@
<issue id="20"
link="https://github.com/apache/logging-log4j-tools/issues/20"/>
<author id="github:vy"/>
<author id="github:rgoers"/>
- <description format="markdown">Add `log4j-changelog-maven-plugin`
module</description>
+ <description format="asciidoc">Add `log4j-changelog-maven-plugin`
module</description>
</entry>
diff --git
a/src/changelog/0.2.0/20_rename_exporter_outputDirectory_property.xml
b/src/changelog/0.2.0/20_rename_exporter_outputDirectory_property.xml
index c9fe162..8354053 100644
--- a/src/changelog/0.2.0/20_rename_exporter_outputDirectory_property.xml
+++ b/src/changelog/0.2.0/20_rename_exporter_outputDirectory_property.xml
@@ -22,5 +22,5 @@
<issue id="20"
link="https://github.com/apache/logging-log4j-tools/issues/20"/>
<author id="github:vy"/>
<author id="github:rgoers"/>
- <description format="markdown">Rename
`log4j.changelog.exporter.outputDirectory` property to
`log4j.changelog.outputDirectory`</description>
+ <description format="asciidoc">Rename
`log4j.changelog.exporter.outputDirectory` property to
`log4j.changelog.outputDirectory`</description>
</entry>
diff --git a/src/changelog/0.3.0/.release-notes.adoc.ftl
b/src/changelog/0.3.0/.release-notes.adoc.ftl
new file mode 100644
index 0000000..8ffd747
--- /dev/null
+++ b/src/changelog/0.3.0/.release-notes.adoc.ftl
@@ -0,0 +1,43 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
+=== ${release.version}
+
+<#if release.date?has_content>Release date:: ${release.date}</#if>
+
+This minor release contains various bug fixes and improvements.
+
+<#include "../.changelog.adoc.ftl">
diff --git a/src/changelog/0.3.0/.release-notes.md.ftl
b/src/changelog/0.3.0/.release-notes.md.ftl
deleted file mode 100644
index d93cd35..0000000
--- a/src/changelog/0.3.0/.release-notes.md.ftl
+++ /dev/null
@@ -1,22 +0,0 @@
-<#--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to you under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-# ${release.version}<#if release.date?has_content> (${release.date})</#if>
-
-This minor release contains various bug fixes and improvements.
-
-<#include "../.changelog.md.ftl">
diff --git a/src/changelog/0.3.0/37_add_changelogEntryCount.xml
b/src/changelog/0.3.0/37_add_changelogEntryCount.xml
index 4479fea..fc8c3e5 100644
--- a/src/changelog/0.3.0/37_add_changelogEntryCount.xml
+++ b/src/changelog/0.3.0/37_add_changelogEntryCount.xml
@@ -22,5 +22,5 @@
<issue id="37"
link="https://github.com/apache/logging-log4j-tools/issues/37"/>
<author id="github:vy"/>
<author id="github:rgoers"/>
- <description format="markdown">The changelog release models passed to the
index template file (`.index.adoc.ftl`) is enriched with `changelogEntryCount`
fields</description>
+ <description format="asciidoc">The changelog release models passed to the
index template file (`.index.adoc.ftl`) is enriched with `changelogEntryCount`
fields</description>
</entry>
diff --git a/src/changelog/0.3.0/44_make_changelog_format_agnostic.xml
b/src/changelog/0.3.0/44_make_changelog_format_agnostic.xml
index d030342..a52f447 100644
--- a/src/changelog/0.3.0/44_make_changelog_format_agnostic.xml
+++ b/src/changelog/0.3.0/44_make_changelog_format_agnostic.xml
@@ -21,5 +21,5 @@
type="added">
<issue id="44"
link="https://github.com/apache/logging-log4j-tools/issues/44"/>
<author id="github:vy"/>
- <description format="markdown">Support multiple and formatting-agnostic
template files</description>
+ <description format="asciidoc">Support multiple and formatting-agnostic
template files</description>
</entry>
diff --git a/src/changelog/0.3.0/java_17.xml b/src/changelog/0.3.0/java_17.xml
index f5031ec..82659a8 100644
--- a/src/changelog/0.3.0/java_17.xml
+++ b/src/changelog/0.3.0/java_17.xml
@@ -20,5 +20,5 @@
xsi:schemaLocation="http://logging.apache.org/log4j/changelog
https://logging.apache.org/log4j/changelog-0.1.1.xsd"
type="changed">
<author id="github:vy"/>
- <description format="markdown">Upgrade the compiler version to Java 17, yet
still target Java 8</description>
+ <description format="asciidoc">Upgrade the compiler version to Java 17, yet
still target Java 8</description>
</entry>
diff --git a/src/changelog/0.4.0/.release-notes.adoc.ftl
b/src/changelog/0.4.0/.release-notes.adoc.ftl
new file mode 100644
index 0000000..a394871
--- /dev/null
+++ b/src/changelog/0.4.0/.release-notes.adoc.ftl
@@ -0,0 +1,44 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
+=== ${release.version}
+
+<#if release.date?has_content>Release date:: ${release.date}</#if>
+
+This minor release contains small enhancements.
+Most importantly, this marks the first release where the project uses itself
to generate release notes!
+
+<#include "../.changelog.adoc.ftl">
diff --git a/src/changelog/0.4.0/.release-notes.md.ftl
b/src/changelog/0.4.0/.release-notes.md.ftl
deleted file mode 100644
index 740c66f..0000000
--- a/src/changelog/0.4.0/.release-notes.md.ftl
+++ /dev/null
@@ -1,23 +0,0 @@
-<#--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to you under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-# ${release.version}<#if release.date?has_content> (${release.date})</#if>
-
-This minor release contains small enhancements.
-Most importantly, this marks the first release where the project uses itself
to generate release notes!
-
-<#include "../.changelog.md.ftl">
diff --git a/src/changelog/0.4.0/63_add_versionPattern_to_ReleaseMojo.xml
b/src/changelog/0.4.0/63_add_versionPattern_to_ReleaseMojo.xml
index 479cfaa..61108f5 100644
--- a/src/changelog/0.4.0/63_add_versionPattern_to_ReleaseMojo.xml
+++ b/src/changelog/0.4.0/63_add_versionPattern_to_ReleaseMojo.xml
@@ -22,5 +22,5 @@
<issue id="63"
link="https://github.com/apache/logging-log4j-tools/issues/63"/>
<author id="github:vy"/>
<author id="github:rgoers"/>
- <description format="markdown">Add `versionPattern` (i.e., the regular
expression pattern for parsing versions) parameter to the Maven `release`
goal</description>
+ <description format="asciidoc">Add `versionPattern` (i.e., the regular
expression pattern for parsing versions) parameter to the Maven `release`
goal</description>
</entry>
diff --git a/src/changelog/0.4.0/change_ExportMojo_outputDirectory.xml
b/src/changelog/0.4.0/change_ExportMojo_outputDirectory.xml
index 5d1909e..015e523 100644
--- a/src/changelog/0.4.0/change_ExportMojo_outputDirectory.xml
+++ b/src/changelog/0.4.0/change_ExportMojo_outputDirectory.xml
@@ -20,5 +20,5 @@
xsi:schemaLocation="http://logging.apache.org/log4j/changelog
https://logging.apache.org/log4j/changelog-0.1.1.xsd"
type="changed">
<author id="github:vy"/>
- <description format="markdown">Change the default value of `outputDirectory`
to `${project.build.directory}/generated-sources/site/changelog` for the Maven
`export` goal</description>
+ <description format="asciidoc">Change the default value of `outputDirectory`
to `${project.build.directory}/generated-sources/site/changelog` for the Maven
`export` goal</description>
</entry>
diff --git a/src/changelog/0.4.0/changelog_migration.xml
b/src/changelog/0.4.0/changelog_migration.xml
index e99c612..15c64c5 100644
--- a/src/changelog/0.4.0/changelog_migration.xml
+++ b/src/changelog/0.4.0/changelog_migration.xml
@@ -20,5 +20,5 @@
xsi:schemaLocation="http://logging.apache.org/log4j/changelog
https://logging.apache.org/log4j/changelog-0.1.1.xsd"
type="changed">
<author id="github:vy"/>
- <description format="markdown">Migrate from `CHANGELOG.adoc` to using
`log4j-changelog-maven-plugin`</description>
+ <description format="asciidoc">Migrate from `CHANGELOG.adoc` to using
`log4j-changelog-maven-plugin`</description>
</entry>
diff --git a/src/changelog/0.4.0/fix_repetitive_release.xml
b/src/changelog/0.4.0/fix_repetitive_release.xml
index 19816d7..d588b20 100644
--- a/src/changelog/0.4.0/fix_repetitive_release.xml
+++ b/src/changelog/0.4.0/fix_repetitive_release.xml
@@ -20,5 +20,5 @@
xsi:schemaLocation="http://logging.apache.org/log4j/changelog
https://logging.apache.org/log4j/changelog-0.1.1.xsd"
type="fixed">
<author id="github:vy"/>
- <description format="markdown">Improve Maven `release` goal to accommodate
repetitive invocations</description>
+ <description format="asciidoc">Improve Maven `release` goal to accommodate
repetitive invocations</description>
</entry>
diff --git a/src/site/_constants.adoc b/src/site/_constants.adoc
new file mode 100644
index 0000000..b71dc65
--- /dev/null
+++ b/src/site/_constants.adoc
@@ -0,0 +1,41 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.tmpl.adoc` SUFFIX, IT IS AUTO-GENERATED, DO
NOT EDIT IT!
+
+ `_constants.adoc` is auto-generated from `_constants.tmpl.adoc`.
+ Auto-generation happens during `process-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Edit `_constants.tmpl.adoc`
+ 2. Run `./mvnw process-sources`
+ 3. Commit both `_constants.tmpl.adoc` and the generated `_constants.adoc`
+////
+
+:project-github-url: https://github.com/apache/logging-log4j-tools
+:project-version: 0.5.0-SNAPSHOT
+:project-name: Log4j Tools
+:project-id: log4j-tools
+:java-target-version: 8
+:java-compiler-version: [17,18)
diff --git a/src/site/_constants.tmpl.adoc b/src/site/_constants.tmpl.adoc
new file mode 100644
index 0000000..c20ae1e
--- /dev/null
+++ b/src/site/_constants.tmpl.adoc
@@ -0,0 +1,41 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.tmpl.adoc` SUFFIX, IT IS AUTO-GENERATED, DO
NOT EDIT IT!
+
+ `_constants.adoc` is auto-generated from `_constants.tmpl.adoc`.
+ Auto-generation happens during `process-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Edit `_constants.tmpl.adoc`
+ 2. Run `./mvnw process-sources`
+ 3. Commit both `_constants.tmpl.adoc` and the generated `_constants.adoc`
+////
+
+:project-github-url: ${scm.url}
+:project-version: ${project.version}
+:project-name: Log4j Tools
+:project-id: log4j-tools
+:java-target-version: ${maven.compiler.target}
+:java-compiler-version: ${minimalJavaBuildVersion}
diff --git a/log4j-changelog-maven-plugin/README.adoc
b/src/site/_log4j-changelog-maven-plugin.adoc
similarity index 72%
rename from log4j-changelog-maven-plugin/README.adoc
rename to src/site/_log4j-changelog-maven-plugin.adoc
index 249b062..723f0b3 100644
--- a/log4j-changelog-maven-plugin/README.adoc
+++ b/src/site/_log4j-changelog-maven-plugin.adoc
@@ -15,35 +15,51 @@ See the License for the specific language governing
permissions and
limitations under the License.
////
-:freemarker-link: https://freemarker.apache.org[FreeMarker]
+[#log4j-changelog-maven-plugin]
+== `log4j-changelog-maven-plugin`
-This project ships a Maven plugin providing access to the
xref:../log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java[`ChangelogExporter`]
and
xref:../log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaser.java[`ChangelogReleaser`]
of xref:../log4j-changelog/README.adoc[`log4j-changelog`].
+This project ships a Maven plugin providing access to the `ChangelogExporter`
and `ChangelogReleaser` of xref:#log4j-changelog[`log4j-changelog`].
-[#export]
-== Exporting changelogs
+[#log4j-changelog-dependencies]
+== Dependencies
+
+You need to have the `org.apache.logging.log4j:log4j-changelog-maven-plugin`
dependency in your classpath:
+
+[source,xml,subs="+attributes"]
+----
+<plugin>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-changelog-maven-plugin</artifactId>
+ <version>{project-version}</version>
+</plugin>
+----
+
+[#log4j-changelog-maven-plugin-export]
+=== Exporting changelogs
_Exporting_ changelogs is the act of feeding provided changelog and release
information into {freemarker-link} templates to generate certain files; e.g.,
release notes for the website.
There are two types template files supported:
-xref:#changelog-template[Changelog templates]::
+xref:#log4j-changelog-changelog-template[Changelog templates]::
These templates are rendered with the release and changelog information of a
particular release.
These are generally used to generate release notes for a particular release.
-xref:#index-template[Index templates]::
+xref:#log4j-changelog-index-template[Index templates]::
These templates are rendered with the release information of all releases.
These are generally used to generate the index page referencing to release
notes of each release.
-See xref:../log4j-changelog/README.adoc#export[the `log4j-changelog`
documentation] for further details.
+See xref:#log4j-changelog-export[the `log4j-changelog` documentation] for
further details.
You can use the `export` goal as follows:
.`build > plugins` block entry of `pom.xml`
-[source,bash]
+[source,xml,subs="+attributes"]
----
<!-- Export AsciiDoc-formatted release notes -->
<plugin>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-changelog-maven-plugin</artifactId>
+ <version>{project-version}</version>
<inherited>false</inherited>
<configuration>
<indexTemplates>
@@ -80,14 +96,14 @@ Directory to write rendered templates.
It defaults to `${project.build.directory}/generated-sources/site/changelog`
and can be set using the `log4j.changelog.exporter.outputDirectory` property.
`indexTemplates` (parameter)::
-List of xref:#export-template-type[template]s that will be rendered with
release information of all releases.
-See xref:../log4j-changelog/README.adoc#index-template-file[the index template
file documentation] for details.
+List of xref:#log4j-changelog-maven-plugin-export-template-type[template]s
that will be rendered with release information of all releases.
+See xref:#log4j-changelog-index-template[the index template file
documentation] for details.
`changelogTemplates` (parameter)::
-List of xref:#export-template-type[template]s that will be rendered with
release and changelog information of a particular release.
-See xref:../log4j-changelog/README.adoc#changelog-template-file[the changelog
template file documentation] for details.
+List of xref:#log4j-changelog-maven-plugin-export-template-type[template]s
that will be rendered with release and changelog information of a particular
release.
+See xref:#log4j-changelog-changelog-template[the changelog template file
documentation] for details.
-[#export-template-type]
+[#log4j-changelog-maven-plugin-export-template-type]
`Template` (type)::
An object composed of following fields:
+
@@ -104,10 +120,10 @@ If the value contains a `%v` (e.g., `%v.adoc`), it will
be replaced with the ass
Indicates if export should fail when the source cannot be found.
Defaults to `false`.
-[#release]
-== Populating a release changelog directory
+[#log4j-changelog-maven-plugin-release]
+=== Populating a release changelog directory
-You can use the `release` goal wrapping
xref:../log4j-changelog/README.adoc#qa-deploy-release[`ChangelogReleaser` to
populate a release changelog directory].
+You can use the `release` goal wrapping
xref:#log4j-changelog-qa-deploy-release[`ChangelogReleaser` to populate a
release changelog directory].
An example usage is shared below.
.Populate `src/changelog/2.19.0` from `src/changelog/.2.x.x`
diff --git a/log4j-changelog/README.adoc b/src/site/_log4j-changelog.adoc
similarity index 87%
rename from log4j-changelog/README.adoc
rename to src/site/_log4j-changelog.adoc
index 32bb9cb..2ade2ac 100644
--- a/log4j-changelog/README.adoc
+++ b/src/site/_log4j-changelog.adoc
@@ -15,18 +15,33 @@ See the License for the specific language governing
permissions and
limitations under the License.
////
-:freemarker-link: https://freemarker.apache.org[FreeMarker]
+[#log4j-changelog]
+== `log4j-changelog`
This project contains tools to maintain changelogs.
It is designed for Apache Log4j, but can be used for any Java project.
-[#what-is-a-changelog]
-== What is a changelog?
+[#log4j-changelog-dependencies]
+== Dependencies
+
+You need to have the `org.apache.logging.log4j:log4j-changelog` dependency in
your classpath:
+
+[source,xml,subs="+attributes"]
+----
+<dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-changelog</artifactId>
+ <version>{project-version}</version>
+</dependency>
+----
+
+[#log4j-changelog-what-is-a-changelog]
+=== What is a changelog?
A changelog is a log of all notable changes made to a project.
-[#why-different]
-== Why yet another changelog tool?
+[#log4j-changelog-why-different]
+=== Why yet another changelog tool?
Existing changelog practices (e.g., https://keepachangelog.com[Keep a
changelog],
https://maven.apache.org/plugins/maven-changes-plugin/[maven-changes-plugin])
store changelog entries in the same file.
This creates merge conflicts between different branches.
@@ -36,8 +51,8 @@ Whoever succeeds in merging their branch to `main` first will
cause a merge-conf
This project embraces a model where changelog entries are kept in separate
files and hence are not prone to merge conflicts.
Similar to `maven-changes-plugin`, changelog sources and their exports (e.g.,
AsciiDoc-formatted) are split by design.
-[#look]
-== What does it look like?
+[#log4j-changelog-look]
+=== What does it look like?
All changelog _sources_ and templates used to _export_ them are stored in
folders under _the changelog directory_ (e.g., `/src/changelog`):
@@ -71,8 +86,8 @@ Note that upcoming release folders (e.g.,
`src/changelog/.2.x.x`) don't contain
<4> All XML files not prefixed with a `.` (e.g.,
`src/changelog/.2.x.x/LOG4J2-3628_new_changelog_infra.xml`) constitute
changelog entries
<5> {freemarker-link} templates are used to _export_ this information to
various forms; AsciiDoc-formatted pages for the website, Markdown-formatted
files for GitHub Releases, etc.
-[#release-entry-file]
-== Release entry file
+[#log4j-changelog-release-entry-file]
+=== Release entry file
A release entry file, `.release.xml`, consists of meta information regarding a
particular release.
A sample _release entry_ file is shared below.
@@ -92,8 +107,8 @@ A sample _release entry_ file is shared below.
Note that upcoming release folders (e.g., `src/changelog/.2.x.x`) don't
contain a `.release.xml`, since these releases are by definition not done yet.
-[#changelog-entry-file]
-== Changelog entry file
+[#log4j-changelog-changelog-entry-file]
+=== Changelog entry file
A changelog entry file consists of short meta information regarding a
particular change.
They are named following the `[<issueId>_]<shortSummary>.xml` pattern.
@@ -137,31 +152,31 @@ Some remarks about the structure of changelog entry files:
* There must be at least one `author`
* There must be a single `description` element with non-blank content and
`format` attribute
-[#export]
-== Exporting changelogs
+[#log4j-changelog-export]
+=== Exporting changelogs
_Exporting_ changelogs is the act of feeding provided changelog and release
information into {freemarker-link} templates to generate certain files; e.g.,
release notes for the website.
There are two types template files supported:
-xref:#changelog-template[Changelog templates]::
+xref:#log4j-changelog-changelog-template[Changelog templates]::
These templates are rendered with the release and changelog information of a
particular release.
These are generally used to generate release notes for a particular release.
-xref:#index-template[Index templates]::
+xref:#log4j-changelog-index-template[Index templates]::
These templates are rendered with the release information of all releases.
These are generally used to generate the index page referencing to release
notes of each release.
-xref:src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java[`ChangelogExporter`]
is responsible for performing the export operation.
+`ChangelogExporter` is responsible for performing the export operation.
-[#changelog-template]
-=== Changelog templates
+[#log4j-changelog-changelog-template]
+==== Changelog templates
Changelog template files (e.g., `src/changelog/2.19.0/.release-notes.adoc.ftl`
) are rendered with the release and changelog information of a particular
release using the following input data hash:
* `release` → `ChangelogRelease`
* `entriesByType` → `Map<ChangelogEntry.Type, List<ChangelogEntry>>`
-See
xref:src/main/java/org/apache/logging/log4j/changelog/ChangelogRelease.java[`ChangelogRelease`]
and
xref:src/main/java/org/apache/logging/log4j/changelog/ChangelogEntry.java[`ChangelogEntry`]
for details.
+See `ChangelogRelease` and `ChangelogEntry` for details.
These templates are generally used to generate release notes for a particular
release.
A sample changelog template file is shared below.
@@ -187,8 +202,8 @@ by <#list entry.authors as author><#if
author.name?has_content>${author.name}<#e
</#if>
----
-[#index-template]
-=== Index templates
+[#log4j-changelog-index-template]
+==== Index templates
Index template files (e.g., `src/changelog/.index.adoc.ftl`) are rendered with
the release information of all releases using the following input data hash:
@@ -209,22 +224,22 @@ A sample index template file is shared below.
</#list>
----
-[#qa]
-== Q&A
+[#log4j-changelog-qa]
+=== Q&A
-[#qa-entry]
-=== How can I add an entry for a change I am about to commit?
+[#log4j-changelog-qa-entry]
+==== How can I add an entry for a change I am about to commit?
You have just committed, or better, about to commit a great feature you have
been working on.
-Simply create a <<#changelog-entry-file>> and commit it along with your change!
+Simply create a <<#log4j-changelog-changelog-entry-file>> and commit it along
with your change!
-[#qa-generate]
-=== How can I export changelogs to AsciiDoc, Markdown, etc. files?
+[#log4j-changelog-qa-generate]
+==== How can I export changelogs to AsciiDoc, Markdown, etc. files?
-You need to use xref:../log4j-changelog-maven-plugin/README.adoc#export[the
`export` goal the Maven plugin].
+You need to use xref:#log4j-changelog-maven-plugin-export[the `export` goal
the Maven plugin].
-[#qa-deploy-release]
-=== I am about to deploy a new release. What shall I do?
+[#log4j-changelog-qa-deploy-release]
+==== 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:
@@ -245,7 +260,7 @@ Hence, there are no differences between releases and
release candidates from the
How to carry out aforementioned changes are explained below in steps:
-. Populate the `<changelogDirectory>/<releaseVersion>` directory (e.g.,
`/src/changelog/2.19.0`) from the upcoming release changelog directory (e.g.,
`<changelogDirectory>/.2.x.x`) using the
xref:../log4j-changelog-maven-plugin/README.adoc#release[`release` Maven goal]:
+. Populate the `<changelogDirectory>/<releaseVersion>` directory (e.g.,
`/src/changelog/2.19.0`) from the upcoming release changelog directory (e.g.,
`<changelogDirectory>/.2.x.x`) using the
xref:#log4j-changelog-maven-plugin-release[`release` Maven goal]:
+
[source,bash]
----
diff --git a/src/site/_release-notes.adoc b/src/site/_release-notes.adoc
new file mode 100644
index 0000000..97edc84
--- /dev/null
+++ b/src/site/_release-notes.adoc
@@ -0,0 +1,43 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE IS CALLED `index.adoc`, IT IS AUTO-GENERATED, DO NOT EDIT IT!
+
+ Release notes `index.adoc` is generated from
`src/changelog/.index.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Edit `.index.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.index.adoc.ftl` and the generated `.index.adoc`
+////
+
+[#release-notes]
+== Release Notes
+
+include::_release-notes/_0.x.x.adoc[]
+include::_release-notes/_0.4.0.adoc[]
+include::_release-notes/_0.3.0.adoc[]
+include::_release-notes/_0.2.0.adoc[]
+include::_release-notes/_0.1.0.adoc[]
diff --git a/src/site/_release-notes/_0.1.0.adoc
b/src/site/_release-notes/_0.1.0.adoc
new file mode 100644
index 0000000..075ff83
--- /dev/null
+++ b/src/site/_release-notes/_0.1.0.adoc
@@ -0,0 +1,46 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-0-1-0]
+=== 0.1.0
+
+Release date:: 2023-01-10
+
+This is the first release, aimed to assist [the Apache Log4j
2](http://logging.apache.org/log4j/2.x/) on generating release notes.
+
+
+==== Added
+
+* Add `log4j-tools-bom` and `log4j-changelog` modules
(https://issues.apache.org/jira/browse/LOG4J2-3628[LOG4J2-3628])
diff --git a/src/site/_release-notes/_0.2.0.adoc
b/src/site/_release-notes/_0.2.0.adoc
new file mode 100644
index 0000000..8aec00b
--- /dev/null
+++ b/src/site/_release-notes/_0.2.0.adoc
@@ -0,0 +1,60 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-0-2-0]
+=== 0.2.0
+
+Release date:: 2023-01-31
+
+This minor release contains various bug fixes and improvements.
+
+
+==== Added
+
+* Add XSD for `log4j-changelog` XML files
(https://github.com/apache/logging-log4j-tools/issues/13[13])
+* Add `log4j-changelog-maven-plugin` module
(https://github.com/apache/logging-log4j-tools/issues/20[20])
+
+==== Changed
+
+* Rename `log4j.changelog.exporter.outputDirectory` property to
`log4j.changelog.outputDirectory`
(https://github.com/apache/logging-log4j-tools/issues/20[20])
+
+==== Removed
+
+* Remove `security` as a change type from `log4j-changelog`
(https://github.com/apache/logging-log4j-tools/issues/14[14])
+
+==== Fixed
+
+* Fix unreleased directory order in `ChangelogExporter`
(https://github.com/apache/logging-log4j-tools/issues/17[17])
+* Fix Windows compatibility
(https://github.com/apache/logging-log4j-tools/issues/19[19])
diff --git a/src/site/_release-notes/_0.3.0.adoc
b/src/site/_release-notes/_0.3.0.adoc
new file mode 100644
index 0000000..43e5df9
--- /dev/null
+++ b/src/site/_release-notes/_0.3.0.adoc
@@ -0,0 +1,51 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-0-3-0]
+=== 0.3.0
+
+Release date:: 2023-03-14
+
+This minor release contains various bug fixes and improvements.
+
+
+==== Added
+
+* The changelog release models passed to the index template file
(`.index.adoc.ftl`) is enriched with `changelogEntryCount` fields
(https://github.com/apache/logging-log4j-tools/issues/37[37])
+* Support multiple and formatting-agnostic template files
(https://github.com/apache/logging-log4j-tools/issues/44[44])
+
+==== Changed
+
+* Upgrade the compiler version to Java 17, yet still target Java 8
diff --git a/src/site/_release-notes/_0.4.0.adoc
b/src/site/_release-notes/_0.4.0.adoc
new file mode 100644
index 0000000..f94b887
--- /dev/null
+++ b/src/site/_release-notes/_0.4.0.adoc
@@ -0,0 +1,56 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-0-4-0]
+=== 0.4.0
+
+Release date:: 2023-07-02
+
+This minor release contains small enhancements.
+Most importantly, this marks the first release where the project uses itself
to generate release notes!
+
+
+==== Added
+
+* Add `versionPattern` (i.e., the regular expression pattern for parsing
versions) parameter to the Maven `release` goal
(https://github.com/apache/logging-log4j-tools/issues/63[63])
+
+==== Changed
+
+* Change the default value of `outputDirectory` to
`${project.build.directory}/generated-sources/site/changelog` for the Maven
`export` goal
+* Migrate from `CHANGELOG.adoc` to using `log4j-changelog-maven-plugin`
+
+==== Fixed
+
+* Improve Maven `release` goal to accommodate repetitive invocations
diff --git a/src/site/_release-notes/_0.x.x.adoc
b/src/site/_release-notes/_0.x.x.adoc
new file mode 100644
index 0000000..03dcddc
--- /dev/null
+++ b/src/site/_release-notes/_0.x.x.adoc
@@ -0,0 +1,50 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+////
+ ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
+ ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
+
+ IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT
EDIT IT!
+
+ Version-specific release notes (`7.8.0.adoc`, etc.) are generated from
`src/changelog/*/.release-notes.adoc.ftl`.
+ Auto-generation happens during `generate-sources` phase of Maven.
+ Hence, you must always
+
+ 1. Find and edit the associated `.release-notes.adoc.ftl`
+ 2. Run `./mvnw generate-sources`
+ 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc`
+////
+
+[#release-notes-0-x-x]
+=== 0.x.x
+
+
+
+This minor release contains various bug fixes and improvements.
+
+
+==== Added
+
+* Started publishing https://logging.apache.org/log4j/tools[the project
website]
+
+==== Changed
+
+* Bump the default `log4j-changelog` XML schema version to `0.1.1`
diff --git a/README.adoc b/src/site/index.adoc
similarity index 69%
copy from README.adoc
copy to src/site/index.adoc
index 2ee1a9d..50158af 100644
--- a/README.adoc
+++ b/src/site/index.adoc
@@ -15,47 +15,75 @@ See the License for the specific language governing
permissions and
limitations under the License.
////
-https://github.com/apache/logging-log4j-tools/actions[image:https://github.com/apache/logging-log4j-tools/workflows/build/badge.svg[Actions
Status]]
-https://search.maven.org/search?q=g:org.apache.logging.log4j%20a:log4j-tools-bom[image:https://img.shields.io/maven-central/v/org.apache.logging.log4j/log4j-tools-bom.svg[Maven
Central]]
-https://www.apache.org/licenses/LICENSE-2.0.txt[image:https://img.shields.io/github/license/apache/logging-log4j-tools.svg[License]]
+include::_constants.adoc[]
+:freemarker-link: https://freemarker.apache.org[FreeMarker]
+
+= Log4j Tools
Tooling **internally** used by https://logging.apache.org/log4j/2.x/[the
Apache Log4j project] infrastructure.
-xref:log4j-changelog/README.adoc[`log4j-changelog`]::
-Tools to maintain changelogs.
+include::_log4j-changelog.adoc[]
+
+include::_log4j-changelog-maven-plugin.adoc[]
+
+[#development]
+== Development
+
+{project-name} uses {project-github-url}[GitHub] for source code management.
+
+The project requires a Java compiler matching the `{java-compiler-version}`
range and targets Java `{java-target-version}`.
-xref:log4j-changelog-maven-plugin/README.adoc[`log4j-changelog-maven-plugin`]::
-Maven plugin for xref:log4j-changelog/README.adoc[`log4j-changelog`].
+You can build and verify sources using:
-== Build
+[source,bash]
+----
+./mvnw verify
+----
-This project generates Java 8 bytecode, though requires Java 17 for
compilation.
-You can build and test sources using `./mvnw verify` command.
+You can build and view the website as follows:
+[source,bash]
+----
+./mvnw -N site
+python -m http.server -d target/site
+----
+
+[#distribution]
== Distribution
In accordance with the Apache Software Foundation's release
https://infra.apache.org/release-distribution.html[distribution policy] and
https://infra.apache.org/release-publishing.html[creation process], project
artifacts are _officially_ accessible from the following locations:
* ASF https://repository.apache.org/content/repositories/releases[Release] and
https://repository.apache.org/content/repositories/snapshots[snapshot]
repositories (mirrored to https://central.sonatype.dev/[the Maven Central
Repository])
-* ASF https://downloads.apache.org/logging/log4j-tools[Distribution directory]
+* ASF https://downloads.apache.org/logging/{project-id}[Distribution directory]
-See xref:RELEASING.adoc[release instructions] for further details.
+See xref:#release-instructions[the release instructions] for details.
+[#support]
== Support
Please keep in mind that this project is intended for internal usage only.
You can use GitHub Issues for feature requests and bug reports – not questions!
See https://logging.apache.org/log4j/2.x/support.html[the Log4j support
policy] for details.
+[#security]
== Security
If you have encountered an unlisted security vulnerability or other unexpected
behaviour that has security impact, please report them privately to
mailto:[email protected][the Log4j security mailing list].
See https://logging.apache.org/log4j/2.x/security.html[the Log4j Security
page] for further details.
+include::_release-notes.adoc[]
+
+[#release-instructions]
+== Release instructions
+
+{project-name} employs the CI/CD foundation provided by the
https://logging.apache.org/logging-parent[`logging-parent`].
+You can simply use its release instructions.
+
+[#license]
== License
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements.
-See xref:NOTICE.txt[] distributed with this work for additional information
regarding copyright ownership.
+See `NOTICE.txt` distributed with this work for additional information
regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0[].