diff --git a/.asf.yaml b/.asf.yaml index 70d2b06a..0f27a120 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -20,7 +20,7 @@ github: description: "Tools internally used by the Apache Log4j project" - homepage: https://logging.apache.org/log4j/2.x/ + homepage: https://logging.apache.org/log4j/tools labels: - apache - java diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 9e0a2115..2badbe11 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -17,8 +17,7 @@ version: 2 -# Add Maven Central explicitly to work around: -# https://github.com/dependabot/dependabot-core/issues/8329 +# Fix the Maven Central to the ASF repository to work around: https://github.com/dependabot/dependabot-core/issues/8329 registries: maven-central: type: maven-repository @@ -45,3 +44,8 @@ updates: directory: "/" schedule: interval: weekly + + - package-ecosystem: npm + directory: "/" + schedule: + interval: daily diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d003be8a..60d3c0e8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -38,28 +38,28 @@ jobs: build: if: github.actor != 'dependabot[bot]' - uses: apache/logging-parent/.github/workflows/build-reusable.yaml@rel/10.6.0 + uses: apache/logging-parent/.github/workflows/build-reusable.yaml@rel/11.0.0 with: site-enabled: true deploy-snapshot: needs: build if: github.repository == 'apache/logging-log4j-tools' && github.ref_name == 'main' - uses: apache/logging-parent/.github/workflows/deploy-snapshot-reusable.yaml@rel/10.6.0 + uses: apache/logging-parent/.github/workflows/deploy-snapshot-reusable.yaml@rel/11.0.0 # Secrets for deployments secrets: - NEXUS_USER: ${{ secrets.NEXUS_USER }} - NEXUS_PW: ${{ secrets.NEXUS_PW }} + NEXUS_USERNAME: ${{ secrets.NEXUS_USER }} + NEXUS_PASSWORD: ${{ secrets.NEXUS_PW }} deploy-release: needs: build if: github.repository == 'apache/logging-log4j-tools' && startsWith(github.ref_name, 'release/') - uses: apache/logging-parent/.github/workflows/deploy-release-reusable.yaml@rel/10.6.0 + uses: apache/logging-parent/.github/workflows/deploy-release-reusable.yaml@rel/11.0.0 # 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 }} + NEXUS_USERNAME: ${{ secrets.LOGGING_STAGE_DEPLOYER_USER }} + NEXUS_PASSWORD: ${{ 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. @@ -67,4 +67,3 @@ jobs: contents: write with: project-id: log4j-tools - site-enabled: true diff --git a/.github/workflows/deploy-site.yaml b/.github/workflows/deploy-site.yaml new file mode 100644 index 00000000..234cb96e --- /dev/null +++ b/.github/workflows/deploy-site.yaml @@ -0,0 +1,95 @@ +# +# 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. +# + +name: deploy-site + +on: + push: + branches: + - "main" + - "main-site-pro" + - "release/*" + paths-ignore: + - "**.md" + - "**.txt" + +permissions: read-all + +jobs: + + deploy-site-stg: + if: github.repository == 'apache/logging-log4j-tools' && github.ref_name == 'main' + uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/11.0.0 + # Secrets for committing the generated site + secrets: + GPG_SECRET_KEY: ${{ secrets.LOGGING_GPG_SECRET_KEY }} + # Write permissions for committing the generated site + permissions: + contents: write + with: + asf-yaml-content: | + staging: + profile: ~ + whoami: ${{ github.ref_name }}-site-stg-out + subdir: content/log4j/tools + target-branch: ${{ github.ref_name }}-site-stg-out + + deploy-site-pro: + if: github.repository == 'apache/logging-log4j-tools' && github.ref_name == 'main-site-pro' + uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/11.0.0 + # Secrets for committing the generated site + secrets: + GPG_SECRET_KEY: ${{ secrets.LOGGING_GPG_SECRET_KEY }} + # Write permissions for committing the generated site + permissions: + contents: write + with: + asf-yaml-content: | + publish: + profile: ~ + whoami: ${{ github.ref_name }}-out + subdir: content/log4j/tools + target-branch: ${{ github.ref_name }}-out + + export-version: + if: github.repository == 'apache/logging-log4j-tools' && startsWith(github.ref_name, 'release/') + runs-on: ubuntu-latest + outputs: + version: ${{ steps.export-version.outputs.version }} + steps: + - name: Export version + id: export-version + run: | + version=$(echo "${{ github.ref_name }}" | sed 's/^release\///') + echo "version=$version" >> "$GITHUB_OUTPUT" + + deploy-site-rel: + needs: export-version + uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/11.0.0 + # Secrets for committing the generated site + secrets: + GPG_SECRET_KEY: ${{ secrets.LOGGING_GPG_SECRET_KEY }} + # Write permissions for committing the generated site + permissions: + contents: write + with: + asf-yaml-content: | + staging: + profile: ~ + whoami: ${{ github.ref_name }}-site-stg-out + subdir: content/log4j/tools-${{ needs.export-version.outputs.version }} + target-branch: ${{ github.ref_name }}-site-stg-out diff --git a/.github/workflows/merge-dependabot.yaml b/.github/workflows/merge-dependabot.yaml index 670a7501..bc66973c 100644 --- a/.github/workflows/merge-dependabot.yaml +++ b/.github/workflows/merge-dependabot.yaml @@ -30,11 +30,11 @@ 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@rel/10.6.0 + uses: apache/logging-parent/.github/workflows/build-reusable.yaml@rel/11.0.0 merge-dependabot: needs: build - uses: apache/logging-parent/.github/workflows/merge-dependabot-reusable.yaml@rel/10.6.0 + uses: apache/logging-parent/.github/workflows/merge-dependabot-reusable.yaml@rel/11.0.0 permissions: contents: write # to push changelog commits pull-requests: write # to close the PR diff --git a/.gitignore b/.gitignore index d67ee403..c47e3f39 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,7 @@ target/ .project .classpath .settings/ +# Node +node +node_modules +package-lock.json diff --git a/antora-playbook.yaml b/antora-playbook.yaml new file mode 100644 index 00000000..42b96078 --- /dev/null +++ b/antora-playbook.yaml @@ -0,0 +1,117 @@ +# +# 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. +# + +site: + title: Apache Log4j Tools + url: "https://logging.apache.org/log4j/kotlin" + start_page: "ROOT::index.adoc" + +content: + sources: + - url: . + branches: HEAD + start_paths: + - target/generated-site/antora + edit_url: + +asciidoc: + extensions: + - "@asciidoctor/tabs" + +ui: + + bundle: + url: "https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable" + snapshot: true + + # Template files: https://github.com/asciidoctor/asciidoctor-docs-ui/blob/main/src + # Template variables: https://docs.antora.org/antora-ui-default/templates + supplemental_files: + + # Add `@asciidoctor/tabs` extension styles + - path: css/vendor/tabs.css + contents: ./node_modules/@asciidoctor/tabs/dist/css/tabs.css + + # Add `@asciidoctor/tabs` extension scripts + - path: js/vendor/tabs.js + contents: ./node_modules/@asciidoctor/tabs/dist/js/tabs.js + + - path: partials/footer-scripts.hbs + contents: | + + + + + {{#if env.SITE_SEARCH_PROVIDER}} + {{> search-scripts}} + {{/if}} + + - path: partials/head-styles.hbs + contents: | + + + + + + + - path: partials/header-content.hbs + contents: | +
+ +
+ + - path: partials/footer-content.hbs + contents: | + + + # Disable component version selector + - path: partials/nav-explore.hbs + contents: "" + + # Fix the `Edit this page` link + - path: partials/edit-this-page.hbs + contents: | +
Edit this Page
diff --git a/package.json b/package.json new file mode 100644 index 00000000..686f9f32 --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "dependencies": { + "@antora/cli": "^3.2.0-alpha.4", + "@antora/site-generator-default": "^3.2.0-alpha.4", + "@asciidoctor/tabs": "^1.0.0-beta.6" + } +} diff --git a/src/changelog/.0.x.x/.release-notes.adoc.ftl b/src/changelog/.0.x.x/.release-notes.adoc.ftl index 8ffd7474..e5816b39 100644 --- a/src/changelog/.0.x.x/.release-notes.adoc.ftl +++ b/src/changelog/.0.x.x/.release-notes.adoc.ftl @@ -34,7 +34,7 @@ //// [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}] -=== ${release.version} +== ${release.version} <#if release.date?has_content>Release date:: ${release.date} diff --git a/src/changelog/.0.x.x/antora.xml b/src/changelog/.0.x.x/antora.xml new file mode 100644 index 00000000..7aacd0aa --- /dev/null +++ b/src/changelog/.0.x.x/antora.xml @@ -0,0 +1,8 @@ + + + + Website is migrated to Antora + diff --git a/src/changelog/.0.x.x/update_commons_io_commons_io.xml b/src/changelog/.0.x.x/update_commons_io_commons_io.xml index baf05cf3..ee26b266 100644 --- a/src/changelog/.0.x.x/update_commons_io_commons_io.xml +++ b/src/changelog/.0.x.x/update_commons_io_commons_io.xml @@ -1,7 +1,7 @@ Update `commons-io:commons-io` to version `2.16.1` diff --git a/src/changelog/.0.x.x/update_org_apache_logging_logging_parent.xml b/src/changelog/.0.x.x/update_org_apache_logging_logging_parent.xml index 11fb0195..3d7b1b4d 100644 --- a/src/changelog/.0.x.x/update_org_apache_logging_logging_parent.xml +++ b/src/changelog/.0.x.x/update_org_apache_logging_logging_parent.xml @@ -1,7 +1,7 @@ Update `org.apache.logging:logging-parent` to version `11.0.0` diff --git a/src/changelog/.0.x.x/update_org_apache_maven_plugin_tools_maven_plugin_annotations.xml b/src/changelog/.0.x.x/update_org_apache_maven_plugin_tools_maven_plugin_annotations.xml index 3cf01f3d..446a6ede 100644 --- a/src/changelog/.0.x.x/update_org_apache_maven_plugin_tools_maven_plugin_annotations.xml +++ b/src/changelog/.0.x.x/update_org_apache_maven_plugin_tools_maven_plugin_annotations.xml @@ -1,7 +1,7 @@ Update `org.apache.maven.plugin-tools:maven-plugin-annotations` to version `3.12.0` diff --git a/src/changelog/.changelog.adoc.ftl b/src/changelog/.changelog.adoc.ftl index c200d7e8..00a9a1a9 100644 --- a/src/changelog/.changelog.adoc.ftl +++ b/src/changelog/.changelog.adoc.ftl @@ -18,10 +18,10 @@ <#list entriesByType as entryType, entries> [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}-${entryType?lower_case}] -==== ${entryType?capitalize} +=== ${entryType?capitalize} <#list entries as entry> -* ${entry.description.text?replace("\\h+", " ", "r")}<#if entry.issues?has_content> (<#list entry.issues as issue>${issue.link}[${issue.id}]<#if issue?has_next>, ) +* ${entry.description.text?replace("\\s+", " ", "r")}<#if entry.issues?has_content> (<#list entry.issues as issue>${issue.link}[${issue.id}]<#if issue?has_next>, ) diff --git a/src/changelog/.index.adoc.ftl b/src/changelog/.index.adoc.ftl index 8c4ff214..24c1ef38 100644 --- a/src/changelog/.index.adoc.ftl +++ b/src/changelog/.index.adoc.ftl @@ -33,9 +33,12 @@ 3. Commit both `.index.adoc.ftl` and the generated `.index.adoc` //// -[#release-notes] -== Release Notes +// Release notes index does not look nice with a deep sectioning, override it: +:page-toclevels: 1 +[#release-notes] += Release notes <#list releases as release><#if release.changelogEntryCount gt 0> -include::_release-notes/_${release.version}.adoc[] + +include::_release-notes/${release.version}.adoc[] diff --git a/src/changelog/0.1.0/.release-notes.adoc.ftl b/src/changelog/0.1.0/.release-notes.adoc.ftl index 3adf1fe1..626a9138 100644 --- a/src/changelog/0.1.0/.release-notes.adoc.ftl +++ b/src/changelog/0.1.0/.release-notes.adoc.ftl @@ -34,7 +34,7 @@ //// [#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}] -=== ${release.version} +== ${release.version} <#if release.date?has_content>Release date:: ${release.date} diff --git a/src/changelog/0.1.0/.release.xml b/src/changelog/0.1.0/.release.xml index 2a16041c..0223ff5d 100644 --- a/src/changelog/0.1.0/.release.xml +++ b/src/changelog/0.1.0/.release.xml @@ -1,20 +1,4 @@ - - Release date:: ${release.date} diff --git a/src/changelog/0.2.0/.release.xml b/src/changelog/0.2.0/.release.xml index d42225e9..6c062be2 100644 --- a/src/changelog/0.2.0/.release.xml +++ b/src/changelog/0.2.0/.release.xml @@ -1,20 +1,4 @@ - - - - - - - Release date:: ${release.date} diff --git a/src/changelog/0.3.0/.release.xml b/src/changelog/0.3.0/.release.xml index 399c7055..54063087 100644 --- a/src/changelog/0.3.0/.release.xml +++ b/src/changelog/0.3.0/.release.xml @@ -1,20 +1,4 @@ - - - - Release date:: ${release.date} diff --git a/src/changelog/0.4.0/.release.xml b/src/changelog/0.4.0/.release.xml index 006dfb48..d2d3b519 100644 --- a/src/changelog/0.4.0/.release.xml +++ b/src/changelog/0.4.0/.release.xml @@ -1,20 +1,4 @@ - - - - - Release date:: ${release.date} diff --git a/src/changelog/0.5.0/.release.xml b/src/changelog/0.5.0/.release.xml index 1212ffc0..38b0a51e 100644 --- a/src/changelog/0.5.0/.release.xml +++ b/src/changelog/0.5.0/.release.xml @@ -1,20 +1,4 @@ - - - - - - Release date:: ${release.date} diff --git a/src/changelog/0.6.0/.release.xml b/src/changelog/0.6.0/.release.xml index 18991b3e..f250c473 100644 --- a/src/changelog/0.6.0/.release.xml +++ b/src/changelog/0.6.0/.release.xml @@ -1,20 +1,4 @@ - - - - Release date:: ${release.date} diff --git a/src/changelog/0.7.0/.release.xml b/src/changelog/0.7.0/.release.xml index 8666802c..9b50c67b 100644 --- a/src/changelog/0.7.0/.release.xml +++ b/src/changelog/0.7.0/.release.xml @@ -1,20 +1,4 @@ - - - - - Release date:: ${release.date} diff --git a/src/changelog/0.8.0/.release.xml b/src/changelog/0.8.0/.release.xml index fbddb6f8..a91d2c1f 100644 --- a/src/changelog/0.8.0/.release.xml +++ b/src/changelog/0.8.0/.release.xml @@ -1,20 +1,4 @@ - Update `org.apache.logging.log4j:log4j-core` to version `2.23.1` diff --git a/src/site/_constants.adoc b/src/site/_constants.adoc deleted file mode 100644 index a38855b3..00000000 --- a/src/site/_constants.adoc +++ /dev/null @@ -1,41 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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.9.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 deleted file mode 100644 index c20ae1e6..00000000 --- a/src/site/_constants.tmpl.adoc +++ /dev/null @@ -1,41 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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/src/site/_release-notes.adoc b/src/site/_release-notes.adoc deleted file mode 100644 index e30323c0..00000000 --- a/src/site/_release-notes.adoc +++ /dev/null @@ -1,47 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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.8.0.adoc[] -include::_release-notes/_0.7.0.adoc[] -include::_release-notes/_0.6.0.adoc[] -include::_release-notes/_0.5.0.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 deleted file mode 100644 index c64475d2..00000000 --- a/src/site/_release-notes/_0.1.0.adoc +++ /dev/null @@ -1,47 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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](https://logging.apache.org/log4j/2.x/) on generating release notes. - - -[#release-notes-0-1-0-added] -==== 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 deleted file mode 100644 index f9d40569..00000000 --- a/src/site/_release-notes/_0.2.0.adoc +++ /dev/null @@ -1,64 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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. - - -[#release-notes-0-2-0-added] -==== 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]) - -[#release-notes-0-2-0-changed] -==== Changed - -* Rename `log4j.changelog.exporter.outputDirectory` property to `log4j.changelog.outputDirectory` (https://github.com/apache/logging-log4j-tools/issues/20[20]) - -[#release-notes-0-2-0-fixed] -==== 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]) - -[#release-notes-0-2-0-removed] -==== Removed - -* Remove `security` as a change type from `log4j-changelog` (https://github.com/apache/logging-log4j-tools/issues/14[14]) diff --git a/src/site/_release-notes/_0.3.0.adoc b/src/site/_release-notes/_0.3.0.adoc deleted file mode 100644 index eb0ceb58..00000000 --- a/src/site/_release-notes/_0.3.0.adoc +++ /dev/null @@ -1,53 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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. - - -[#release-notes-0-3-0-added] -==== 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]) - -[#release-notes-0-3-0-changed] -==== 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 deleted file mode 100644 index 8ffff57f..00000000 --- a/src/site/_release-notes/_0.4.0.adoc +++ /dev/null @@ -1,59 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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! - - -[#release-notes-0-4-0-added] -==== 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]) - -[#release-notes-0-4-0-changed] -==== 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` - -[#release-notes-0-4-0-fixed] -==== Fixed - -* Improve Maven `release` goal to accommodate repetitive invocations diff --git a/src/site/_release-notes/_0.5.0.adoc b/src/site/_release-notes/_0.5.0.adoc deleted file mode 100644 index c014f1f9..00000000 --- a/src/site/_release-notes/_0.5.0.adoc +++ /dev/null @@ -1,60 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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-5-0] -=== 0.5.0 - -Release date:: 2023-09-29 - -This minor release contains various bug fixes and improvements. - - -[#release-notes-0-5-0-added] -==== Added - -* Added OSGi and JPMS support -* Started publishing https://logging.apache.org/log4j/tools[the project website] - -[#release-notes-0-5-0-changed] -==== Changed - -* Made `author` element optional and bumped the XML schema version to `0.1.2` (https://github.com/apache/logging-log4j-tools/issues/81[81]) -* Make `log4j-changelog-maven-plugin` thread-safe (https://github.com/apache/logging-log4j-tools/issues/80[80]) - -[#release-notes-0-5-0-updated] -==== Updated - -* Update `org.apache.logging:logging-parent` to version `10.1.1` (https://github.com/apache/logging-log4j-tools/pull/82[82]) -* Update `org.junit.jupiter:junit-jupiter-engine` to version `5.10.0` diff --git a/src/site/_release-notes/_0.6.0.adoc b/src/site/_release-notes/_0.6.0.adoc deleted file mode 100644 index 227328b6..00000000 --- a/src/site/_release-notes/_0.6.0.adoc +++ /dev/null @@ -1,58 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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-6-0] -=== 0.6.0 - -Release date:: 2023-11-17 - -This minor release contains various bug fixes and improvements. - - -[#release-notes-0-6-0-added] -==== Added - -* Started generating CycloneDX SBOM with the recent update of `logging-parent` to version `10.4.0` - -[#release-notes-0-6-0-fixed] -==== Fixed - -* `log4j-tools-bom` was broken due to removed `parent` during flattening. -This is automatically fixed by the recent `logging-parent` version `10.4.0` update. - -[#release-notes-0-6-0-updated] -==== Updated - -* Update `org.apache.logging:logging-parent` to version `10.4.0` diff --git a/src/site/_release-notes/_0.7.0.adoc b/src/site/_release-notes/_0.7.0.adoc deleted file mode 100644 index 0e876a89..00000000 --- a/src/site/_release-notes/_0.7.0.adoc +++ /dev/null @@ -1,60 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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-7-0] -=== 0.7.0 - -Release date:: 2023-12-14 - -This minor release contains various bug fixes and improvements. - - -[#release-notes-0-7-0-added] -==== Added - -* Add the new `updated` changelog entry type and bump the XSD version to `0.1.3` - -[#release-notes-0-7-0-fixed] -==== Fixed - -* Sort changelog entry types alphanumerically -* Fix `log4j-changelog:release` failure on empty unreleased changelog directory (https://github.com/apache/logging-log4j-tools/issues/90[90]) -* Fix parsing of patch versions in `log4j-changelog:release` goal (https://github.com/apache/logging-log4j-tools/issues/89[89]) - -[#release-notes-0-7-0-updated] -==== Updated - -* Update `commons-io:commons-io` to version `2.15.1` (https://github.com/apache/logging-log4j-tools/pull/86[86]) -* Update `org.apache.maven.plugin-tools:maven-plugin-annotations` to version `3.10.2` (https://github.com/apache/logging-log4j-tools/pull/87[87]) diff --git a/src/site/_release-notes/_0.8.0.adoc b/src/site/_release-notes/_0.8.0.adoc deleted file mode 100644 index ae52f321..00000000 --- a/src/site/_release-notes/_0.8.0.adoc +++ /dev/null @@ -1,74 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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-8-0] -=== 0.8.0 - -Release date:: 2024-03-21 - -This release delivers the first version of Log4j Docgen (Documentation Generator). -It is a set of tools to auto-generate the Log4j plugin documentation (to be integrated into the website) and the Log4j configuration XSD file (for assisting the configuration of the Log4j runtime, i.e., `log4j2.xml`) from the Log4j source code. -See the project website for details. - - -[#release-notes-0-8-0-added] -==== Added - -* Add the `log4j-docgen` et al. containing a universal XML model to document Log4j plugins - -[#release-notes-0-8-0-changed] -==== Changed - -* Move Log4j Changelog XML namespace and schema location to `https://logging.apache.org/xml/ns` and `https://logging.apache.org/xml/ns/log4j-changelog-0.xsd`, respectively - -[#release-notes-0-8-0-removed] -==== Removed - -* Remove `author` from Log4j Changelog. -+ -It was yet another bit to maintain and created role-related (who did what) problems. -Many modern software projects use a VCS (e.g., Git) and support services (e.g., GitHub) which make it trivial to trace back the origin of a change using commit and issue IDs. - -[#release-notes-0-8-0-updated] -==== Updated - -* Update `org.apache.logging:logging-parent` to version `10.6.0` -* Update `jakarta.inject:jakarta.inject-api` to version `2.0.1` (https://github.com/apache/logging-log4j-tools/pull/94[94]) -* Update `org.apache.logging.log4j:log4j-core` to version `2.23.1` (https://github.com/apache/logging-log4j-tools/pull/108[108]) -* Update `org.apache.logging.log4j:log4j-plugins` to version `3.0.0-beta2` (https://github.com/apache/logging-log4j-tools/pull/107[107]) -* Update `org.apache.maven.plugin-tools:maven-plugin-annotations` to version `3.11.0` (https://github.com/apache/logging-log4j-tools/pull/98[98]) -* Update `org.assertj:assertj-core` to version `3.25.3` (https://github.com/apache/logging-log4j-tools/pull/104[104]) -* Update `org.codehaus.modello:modello-maven-plugin` to version `2.3.0` (https://github.com/apache/logging-log4j-tools/pull/105[105]) -* Update `org.junit:junit-bom` to version `5.10.2` (https://github.com/apache/logging-log4j-tools/pull/103[103]) diff --git a/src/site/_release-notes/_0.x.x.adoc b/src/site/_release-notes/_0.x.x.adoc deleted file mode 100644 index fcdd7fff..00000000 --- a/src/site/_release-notes/_0.x.x.adoc +++ /dev/null @@ -1,48 +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. -//// - -//// - ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ - ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ - ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ - ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ - ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ - - 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. - - -[#release-notes-0-x-x-updated] -==== Updated - -* Update `commons-io:commons-io` to version `2.16.1` (https://github.com/apache/logging-log4j-tools/pull/114[114]) -* Update `org.apache.maven.plugin-tools:maven-plugin-annotations` to version `3.12.0` (https://github.com/apache/logging-log4j-tools/pull/113[113]) diff --git a/src/site/antora/antora.tmpl.yml b/src/site/antora/antora.tmpl.yml new file mode 100644 index 00000000..743772b9 --- /dev/null +++ b/src/site/antora/antora.tmpl.yml @@ -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. +# + +# +# ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ +# ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ +# ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ +# ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ +# +# THIS FILE IS USED AS A TEMPLATE TO AUTO-GENERATE `antora.yml`! +# +# The actual `antora.yml` that is used in `target/generated-site/antora` is auto-generated from `.antora.yml`. +# Auto-generation happens during `pre-site` phase of Maven. +# Hence, you must always +# +# 1. Edit `.antora.yml` +# 2. Edit `antora.yml` to match the fields in `.antora.yml` and fill Maven property placeholders with dummy values +# + +name: ROOT +title: Home +version: ~ +start_page: index.adoc +asciidoc: + attributes: + 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}" + logging-services-url: "https://logging.apache.org" + freemarker-link: "https://freemarker.apache.org[FreeMarker]" +nav: + - modules/ROOT/nav.adoc diff --git a/src/site/antora/antora.yml b/src/site/antora/antora.yml new file mode 100644 index 00000000..8b840681 --- /dev/null +++ b/src/site/antora/antora.yml @@ -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. +# + +# +# ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ +# ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ +# ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ +# ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ +# +# THIS FILE IS A STUB! +# +# The actual `antora.yml` that is used in `target/generated-site/antora` is auto-generated from `antora.tmpl.yml`. +# Auto-generation happens during `pre-site` phase of Maven. +# Hence, you must always +# +# 1. Edit `antora.tmpl.yml` +# 2. Edit `antora.yml` to match the fields in `antora.tmpl.yml` and fill Maven property placeholders with dummy values +# + +name: ROOT +title: Home +version: ~ +start_page: index.adoc +asciidoc: + attributes: + project-github-url: "https://github.com/apache/logging-log4j-tools" + project-version: "1.2.3" + project-name: "Log4j Tools" + project-id: "log4j-tools" + java-target-version: "8" + java-compiler-version: "[17,18)" + logging-services-url: "https://logging.apache.org" + freemarker-link: "https://freemarker.apache.org[FreeMarker]" +nav: + - modules/ROOT/nav.adoc diff --git a/src/site/antora/modules/ROOT/nav.adoc b/src/site/antora/modules/ROOT/nav.adoc new file mode 100644 index 00000000..37743285 --- /dev/null +++ b/src/site/antora/modules/ROOT/nav.adoc @@ -0,0 +1,28 @@ +//// + 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. +//// + +* Components +** xref:log4j-changelog.adoc[] +** xref:log4j-changelog-maven-plugin.adoc[] +** xref:log4j-docgen.adoc[] +** xref:log4j-docgen-maven-plugin.adoc[] +** xref:log4j-docgen-asciidoctor-extension.adoc[] +* xref:development.adoc[] +* xref:release-notes.adoc[] +* {logging-services-url}/download.html[Download] +* {logging-services-url}/support.html[Support] +* {logging-services-url}/security.html[Security] diff --git a/src/site/antora/modules/ROOT/pages/development.adoc b/src/site/antora/modules/ROOT/pages/development.adoc new file mode 100644 index 00000000..2bb11445 --- /dev/null +++ b/src/site/antora/modules/ROOT/pages/development.adoc @@ -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. +//// + += 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}`. + +You can build and verify sources using: + +[source,bash] +---- +./mvnw verify +---- + +You can build and view the website as follows: + +[source,bash] +---- +./mvnw -N site +---- + +You can view the generated website with a browser by pointing it to `target/site` directory. + +[#release-instructions] +== Release instructions + +{project-name} employs the CI/CD foundation provided by the {logging-services-url}/logging-parent[`logging-parent`]. +You can simply use its release instructions. diff --git a/src/site/antora/modules/ROOT/pages/index.adoc b/src/site/antora/modules/ROOT/pages/index.adoc new file mode 100644 index 00000000..f0444748 --- /dev/null +++ b/src/site/antora/modules/ROOT/pages/index.adoc @@ -0,0 +1,52 @@ +//// +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. +//// + += Log4j Tools + +Tooling **internally** used by {logging-services-url}/log4j/2.x/[the Apache Log4j project] infrastructure: + +* xref:log4j-changelog.adoc[] +* xref:log4j-changelog-maven-plugin.adoc[] +* xref:log4j-docgen.adoc[] +* xref:log4j-docgen-maven-plugin.adoc[] +* xref:log4j-docgen-asciidoctor-extension.adoc[] + +[#maven-bom] +== Maven Bill of Materials (BOM) + +To keep your {project-name} module versions aligned, a https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms[Maven Bill of Materials (BOM) POM] is provided for your convenience. + +To use this with Maven, add the dependency listed below to your `pom.xml` file. +Note that the `` nesting and the `import` instruction. +This will _import_ all modules bundled with the associated Log4j release to your `dependencyManagement`. +As a result, you don't have to specify versions of the imported modules (`log4j-changelog`, `log4j-docgen`, etc.) while using them as a ``. + +.`pom.xml` snippet importing `log4j-tools-bom` +[source,subs="+attributes"] +---- + + + + org.apache.logging.log4j + log4j-tools-bom + {project-version} + import + pom + + + +---- diff --git a/src/site/_log4j-changelog-maven-plugin.adoc b/src/site/antora/modules/ROOT/pages/log4j-changelog-maven-plugin.adoc similarity index 79% rename from src/site/_log4j-changelog-maven-plugin.adoc rename to src/site/antora/modules/ROOT/pages/log4j-changelog-maven-plugin.adoc index e3d32e3a..b93b2486 100644 --- a/src/site/_log4j-changelog-maven-plugin.adoc +++ b/src/site/antora/modules/ROOT/pages/log4j-changelog-maven-plugin.adoc @@ -15,13 +15,12 @@ See the License for the specific language governing permissions and limitations under the License. //// -[#log4j-changelog-maven-plugin] -== Log4j Changelog Maven Plugin += Log4j Changelog Maven Plugin -This project ships a Maven plugin providing access to the `ChangelogExporter` and `ChangelogReleaser` of xref:#log4j-changelog[Log4j Changelog]. +This project ships a Maven plugin providing access to the `ChangelogExporter` and `ChangelogReleaser` of xref:log4j-changelog.adoc[Log4j Changelog]. -[#log4j-changelog-maven-plugin-dependencies] -=== Dependencies +[#dependencies] +== Dependencies You need to have the `org.apache.logging.log4j:log4j-changelog-maven-plugin` dependency in your classpath: @@ -34,21 +33,21 @@ You need to have the `org.apache.logging.log4j:log4j-changelog-maven-plugin` dep ---- -[#log4j-changelog-maven-plugin-export] -=== Exporting changelogs +[#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:#log4j-changelog-changelog-template[Changelog templates]:: +xref:log4j-changelog.adoc#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:#log4j-changelog-index-template[Index templates]:: +xref:log4j-changelog.adoc#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-export[the Log4j Changelog documentation] for further details. +See xref:#export[the Log4j Changelog documentation] for further details. You can use the `export` goal as follows: @@ -96,14 +95,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:#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. +List of xref:#export-template-type[template]s that will be rendered with release information of all releases. +See xref:log4j-changelog.adoc#index-template[the index template file documentation] for details. `changelogTemplates` (parameter):: -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. +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.adoc#changelog-template[the changelog template file documentation] for details. -[#log4j-changelog-maven-plugin-export-template-type] +[#export-template-type] `Template` (type):: An object composed of following fields: + @@ -120,10 +119,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`. -[#log4j-changelog-maven-plugin-release] -=== Populating a release changelog directory +[#release] +== Populating a release changelog directory -You can use the `release` goal wrapping xref:#log4j-changelog-qa-deploy-release[`ChangelogReleaser` to populate a release changelog directory]. +You can use the `release` goal wrapping xref:log4j-changelog.adoc#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/src/site/_log4j-changelog.adoc b/src/site/antora/modules/ROOT/pages/log4j-changelog.adoc similarity index 89% rename from src/site/_log4j-changelog.adoc rename to src/site/antora/modules/ROOT/pages/log4j-changelog.adoc index 9f6622f3..c75536fa 100644 --- a/src/site/_log4j-changelog.adoc +++ b/src/site/antora/modules/ROOT/pages/log4j-changelog.adoc @@ -15,14 +15,13 @@ See the License for the specific language governing permissions and limitations under the License. //// -[#log4j-changelog] -== 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. -[#log4j-changelog-dependencies] -=== Dependencies +[#dependencies] +== Dependencies You need to have the `org.apache.logging.log4j:log4j-changelog` dependency in your classpath: @@ -37,13 +36,13 @@ You need to have the `org.apache.logging.log4j:log4j-changelog` dependency in yo Java module name and OSGi `Bundle-SymbolicName` are set to `org.apache.logging.log4j.changelog`. -[#log4j-changelog-what-is-a-changelog] -=== What is a changelog? +[#what-is-a-changelog] +== What is a changelog? A changelog is a log of all notable changes made to a project. -[#log4j-changelog-why-different] -=== Why yet another changelog tool? +[#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. @@ -53,8 +52,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. -[#log4j-changelog-look] -=== What does it look like? +[#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`): @@ -88,8 +87,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. -[#log4j-changelog-release-entry-file] -=== Release entry file +[#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. @@ -102,15 +101,15 @@ A sample _release entry_ file is shared below. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" https://logging.apache.org/xml/ns - https://logging.apache.org/xml/ns/log4j-changelog-0.xsd + https://logging.apache.org/xml/ns/log4j-changelog-0.xsd" date="2022-09-09" version="2.19.0"/> ---- 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. -[#log4j-changelog-changelog-entry-file] -=== Changelog entry file +[#changelog-entry-file] +== Changelog entry file A changelog entry file consists of short meta information regarding a particular change. They are named following the `[_].xml` pattern. @@ -125,13 +124,14 @@ A sample _changelog entry_ file is shared below. .`src/changelog/2.19.0/LOG4J2-3556_JsonTemplateLayout_stack_trace_truncation_fix.xml` file contents [source,xml] ---- + - + Make `JsonTemplateLayout` stack trace truncation operate for each label block @@ -151,24 +151,24 @@ Some remarks about the structure of changelog entry files: * `issue` element is optional, can occur multiple times, and, if present, must contain `id` and `link` attributes * There must be a single `description` element with non-blank content and `format` attribute -[#log4j-changelog-export] -=== Exporting changelogs +[#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:#log4j-changelog-changelog-template[Changelog templates]:: +xref:#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:#log4j-changelog-index-template[Index templates]:: +xref:#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. `ChangelogExporter` is responsible for performing the export operation. -[#log4j-changelog-changelog-template] -==== Changelog templates +[#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: @@ -200,8 +200,8 @@ This release primarily contains bug fixes and minor enhancements. ---- -[#log4j-changelog-index-template] -==== Index templates +[#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: @@ -222,22 +222,22 @@ A sample index template file is shared below. ---- -[#log4j-changelog-qa] -=== Q&A +[#qa] +== Q&A -[#log4j-changelog-qa-entry] -==== How can I add an entry for a change I am about to commit? +[#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 <<#log4j-changelog-changelog-entry-file>> and commit it along with your change! +Simply create a <> and commit it along with your change! -[#log4j-changelog-qa-generate] -==== How can I export changelogs to AsciiDoc, Markdown, etc. files? +[#qa-generate] +=== How can I export changelogs to AsciiDoc, Markdown, etc. files? -You need to use xref:#log4j-changelog-maven-plugin-export[the `export` goal the Maven plugin]. +You need to use xref:log4j-changelog-maven-plugin.adoc#export[the `export` goal the Maven plugin]. -[#log4j-changelog-qa-deploy-release] -==== I am about to deploy a new release. What shall I do? +[#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: @@ -258,7 +258,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 `/` directory (e.g., `/src/changelog/2.19.0`) from the upcoming release changelog directory (e.g., `/.2.x.x`) using the xref:#log4j-changelog-maven-plugin-release[`release` Maven goal]: +. Populate the `/` directory (e.g., `/src/changelog/2.19.0`) from the upcoming release changelog directory (e.g., `/.2.x.x`) using the xref:log4j-changelog-maven-plugin.adoc#release[`release` Maven goal]: + [source,bash] ---- diff --git a/src/site/_log4j-docgen-asciidoctor-extension.adoc b/src/site/antora/modules/ROOT/pages/log4j-docgen-asciidoctor-extension.adoc similarity index 89% rename from src/site/_log4j-docgen-asciidoctor-extension.adoc rename to src/site/antora/modules/ROOT/pages/log4j-docgen-asciidoctor-extension.adoc index c2b68dfe..0b6ba932 100644 --- a/src/site/_log4j-docgen-asciidoctor-extension.adoc +++ b/src/site/antora/modules/ROOT/pages/log4j-docgen-asciidoctor-extension.adoc @@ -15,12 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. //// -[#log4j-docgen-asciidoctor-extension] -== Log4j Docgen AsciiDoctor extension += Log4j Docgen AsciiDoctor extension -While xref:#log4j-docgen-descriptor-generator[the descriptor generator] converts Javadoc to AsciiDoc, it cannot resolve links. +While xref:log4j-docgen.adoc#descriptor-generator[the descriptor generator] converts Javadoc to AsciiDoc, it cannot resolve links. That is, it cannot blindly replace a `{@link example.MyAppender foo}` Javadoc snippet with a `\xref:MyAppender.adoc[foo]` AsciiDoc snippet instead. -This is because, the mapping of types to AsciiDoc files are not available to the descriptor generator, but xref:#log4j-docgen-documentation-generator[the documentation generator]. +This is because, the mapping of types to AsciiDoc files are not available to the descriptor generator, but xref:log4j-docgen.adoc#documentation-generator[the documentation generator]. That is, the descriptor generator doesn't know if the type will be mapped to `.adoc` or `/.adoc`. As a matter of fact, it should not need to know this either: descriptors capture immutable metadata, whereas documentation file structure can always change. To work around this, we convert `{@link example.MyAppender foo}` to `apiref:example.MyAppender[foo]` and provide an `apiref` inline AsciiDoc macro to resolve these while generating the documentation. @@ -33,7 +32,7 @@ This attribute defaults to `false`. [#log4j-docgen-asciidoctor-extension-attribute-descriptor-path-matcher] `log4j-docgen-descriptor-path-matcher`:: -The https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[path pattern] (e.g., `glob:**/*.xml`) to locate files produced by xref:#log4j-docgen-descriptor-generator[the descriptor generator]. +The https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[path pattern] (e.g., `glob:**/*.xml`) to locate files produced by xref:log4j-docgen.adoc#descriptor-generator[the descriptor generator]. This attribute is *required*. `log4j-docgen-type-filter-exclude-pattern`:: diff --git a/src/site/_log4j-docgen-maven-plugin.adoc b/src/site/antora/modules/ROOT/pages/log4j-docgen-maven-plugin.adoc similarity index 87% rename from src/site/_log4j-docgen-maven-plugin.adoc rename to src/site/antora/modules/ROOT/pages/log4j-docgen-maven-plugin.adoc index 545edea4..7b824b40 100644 --- a/src/site/_log4j-docgen-maven-plugin.adoc +++ b/src/site/antora/modules/ROOT/pages/log4j-docgen-maven-plugin.adoc @@ -15,13 +15,12 @@ See the License for the specific language governing permissions and limitations under the License. //// -[#log4j-docgen-maven-plugin] -== Log4j Docgen Maven Plugin += Log4j Docgen Maven Plugin -Log4j Docgen Maven Plugin allows you to easily run Log4j Docgen xref:#log4j-docgen-documentation-generator[documentation generator] and xref:#log4j-docgen-schema-generator[schema generator] from your `pom.xml`. +Log4j Docgen Maven Plugin allows you to easily run Log4j Docgen xref:log4j-docgen.adoc#documentation-generator[documentation generator] and xref:log4j-docgen.adoc#schema-generator[schema generator] from your `pom.xml`. -[#log4j-docgen-maven-plugin-dependencies] -=== Dependencies +[#dependencies] +== Dependencies You need to have the `org.apache.logging.log4j:log4j-docgen-maven-plugin` dependency in your classpath: @@ -34,8 +33,8 @@ You need to have the `org.apache.logging.log4j:log4j-docgen-maven-plugin` depend ---- -[#log4j-docgen-maven-plugin-generate-documentation] -=== Generate documentation +[#generate-documentation] +== Generate documentation The `generate-documentation` goal generates an AsciiDoc-formatted documentation using FreeMarker templates that are fed with the types loaded from given descriptors: @@ -70,8 +69,8 @@ The `generate-documentation` goal generates an AsciiDoc-formatted documentation ---- -[#log4j-docgen-maven-plugin-generate-schema] -=== Generate schema +[#generate-schema] +== Generate schema The `generate-schema` goal generates an XSD derived from the types loaded using given descriptors: diff --git a/src/site/_log4j-docgen.adoc b/src/site/antora/modules/ROOT/pages/log4j-docgen.adoc similarity index 89% rename from src/site/_log4j-docgen.adoc rename to src/site/antora/modules/ROOT/pages/log4j-docgen.adoc index e7177bc0..2acc46a7 100644 --- a/src/site/_log4j-docgen.adoc +++ b/src/site/antora/modules/ROOT/pages/log4j-docgen.adoc @@ -15,8 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. //// -[#log4j-docgen] -== Log4j Docgen += Log4j Docgen Log4j Docgen (Documentation Generation) bundles utility classes to generate documentation from Log4j plugins. Given almost all Log4j functionality (layouts, appenders, etc.) is implemented in the form of plugins, this project aims the following goals: @@ -30,8 +29,8 @@ Accurately capture the component configuration:: It is pretty common that source code changes are not reflected to documentation. By generating the documentation from the source code, this discrepancy gets removed. -[#log4j-docgen-dependencies] -=== Dependencies +[#dependencies] +== Dependencies You need to have the `org.apache.logging.log4j:log4j-docgen` dependency in your classpath: @@ -44,8 +43,8 @@ You need to have the `org.apache.logging.log4j:log4j-docgen` dependency in your ---- -[#log4j-docgen-descriptor-generator] -=== Descriptor generator +[#descriptor-generator] +== Descriptor generator `DescriptorGenerator` is an annotation processor that generates an XML file capturing all the metadata needed to document a plugin: @@ -90,8 +89,8 @@ Users are recommended to integrate this annotation processor into their build: ---- -[#log4j-docgen-documentation-generator] -=== Documentation generator +[#documentation-generator] +== Documentation generator `DocumentationGenerator` receives @@ -100,11 +99,11 @@ Users are recommended to integrate this annotation processor into their build: as input arguments, and produces an AsciiDoc-formatted documentation that one can integrate into the website of a project. -Users are recommended to use xref:#log4j-docgen-maven-plugin-generate-documentation[the `generate-documentation` goal of the `log4j-docgen-maven-plugin`] instead. +Users are recommended to use xref:log4j-docgen-maven-plugin.adoc#generate-documentation[the `generate-documentation` goal of the `log4j-docgen-maven-plugin`] instead. -[#log4j-docgen-schema-generator] -=== Schema generator +[#schema-generator] +== Schema generator `SchemaGenerator` receives plugin descriptors (generated by the `DescriptorGenerator`) as input, and produces an XSD describing the structure defined by the descriptors. -Users are recommended to use xref:#log4j-docgen-maven-plugin-generate-schema[the `generate-schema` goal of the `log4j-docgen-maven-plugin`] instead. +Users are recommended to use xref:log4j-docgen-maven-plugin.adoc#generate-schema[the `generate-schema` goal of the `log4j-docgen-maven-plugin`] instead. diff --git a/src/site/antora/modules/ROOT/pages/release-notes.adoc b/src/site/antora/modules/ROOT/pages/release-notes.adoc new file mode 100644 index 00000000..a2bfd86d --- /dev/null +++ b/src/site/antora/modules/ROOT/pages/release-notes.adoc @@ -0,0 +1,21 @@ +//// + 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 + +This file is a stub. +Its content will be auto-generated during build. diff --git a/src/site/index.adoc b/src/site/index.adoc deleted file mode 100644 index 8f035079..00000000 --- a/src/site/index.adoc +++ /dev/null @@ -1,129 +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. -//// - -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. - -include::_log4j-changelog.adoc[] - -include::_log4j-changelog-maven-plugin.adoc[] - -include::_log4j-docgen.adoc[] - -include::_log4j-docgen-maven-plugin.adoc[] - -include::_log4j-docgen-asciidoctor-extension.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}`. - -You can build and verify sources using: - -[source,bash] ----- -./mvnw verify ----- - -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/{project-id}[Distribution directory] - -See xref:#release-instructions[the release instructions] for details. - -[#maven-bom] -=== Maven Bill of Materials (BOM) - -To keep your {project-name} module versions aligned, a https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms[Maven Bill of Materials (BOM) POM] is provided for your convenience. - -To use this with Maven, add the dependency listed below to your `pom.xml` file. -Note that the `` nesting and the `import` instruction. -This will _import_ all modules bundled with the associated Log4j release to your `dependencyManagement`. -As a result, you don't have to specify versions of the imported modules (`log4j-changelog`, `log4j-docgen`, etc.) while using them as a ``. - -.`pom.xml` snippet importing `log4j-tools-bom` -[source,subs="+attributes"] ----- - - - - org.apache.logging.log4j - log4j-tools-bom - {project-version} - import - pom - - - ----- - -[#cyclonedx-sbom] -=== CycloneDX Software Bill of Materials (SBOM) - -Starting with version `0.6.0`, {project-name} distributes https://cyclonedx.org/capabilities/sbom/[CyclenoDX Software Bill of Materials (SBOM)] along with each deployed artifact. -This is streamlined by `logging-parent`, see https://logging.apache.org/logging-parent/latest/#cyclonedx-sbom[its website] 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:security@logging.apache.org[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 `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.