Skip to content

Commit

Permalink
Bump logging-parent version to 11.0.0 and migrate to Antora (apac…
Browse files Browse the repository at this point in the history
  • Loading branch information
vy committed Apr 22, 2024
1 parent aefeb5d commit e34d076
Show file tree
Hide file tree
Showing 53 changed files with 588 additions and 535 deletions.
10 changes: 9 additions & 1 deletion .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,24 @@

# `.asf.yaml` documentation: https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+features

notifications:
# GitHub already provides notifications for PRs and issues.
# Please don't duplicate that noise here!
commits: [email protected]
pullrequests_bot_dependabot: [email protected]

github:
description: "Tools for binary post-processing of projects using Apache Log4j."
homepage: https://logging.apache.org/log4j/2.x/
homepage: https://logging.apache.org/log4j/transform
labels:
- apache
- java
- log4j
- log4j2
- logging

del_branch_on_merge: true

features:
issues: true

Expand Down
9 changes: 7 additions & 2 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@

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
url: https://repo.maven.apache.org/maven2

updates:

- package-ecosystem: maven
directory: "/"
schedule:
Expand All @@ -41,3 +41,8 @@ updates:
directory: "/"
schedule:
interval: weekly

- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
21 changes: 10 additions & 11 deletions .github/generate-email.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ PROJECT_VERSION="$2"
COMMIT_ID="$3"

# Check release notes file
RELEASE_NOTES_FILE="$SCRIPT_DIR/../src/site/_release-notes/_$PROJECT_VERSION.adoc"
RELEASE_NOTES_FILE="$SCRIPT_DIR/../target/generated-site/antora/modules/ROOT/pages/_release-notes/$PROJECT_VERSION.adoc"
[ -f "$RELEASE_NOTES_FILE" ] || {
stderr "Couldn't find release notes file: $RELEASE_NOTES_FILE"
exit 1
Expand All @@ -69,11 +69,11 @@ case $1 in
vote)
cat <<EOF
To: [email protected]
Title: [VOTE] Release $PROJECT_NAME $PROJECT_VERSION
Title: [VOTE] Release $PROJECT_NAME \`$PROJECT_VERSION\`
This is a vote to release the $PROJECT_NAME $PROJECT_VERSION.
This is a vote to release the $PROJECT_NAME \`$PROJECT_VERSION\`.
Website: $PROJECT_STAGING_SITE
Website: $PROJECT_STAGING_SITE-$PROJECT_VERSION
GitHub: $PROJECT_REPO
Commit: $COMMIT_ID
Distribution: $PROJECT_DIST_DIR
Expand All @@ -91,32 +91,31 @@ everyone to test the release, but only the Logging Services PMC
votes are officially counted. At least 3 +1 votes and more
positive than negative votes are required.
=== Review kit
== Review kit
The minimum set of steps needed to review the uploaded distribution
files in the Subversion repository can be summarized as follows:
$(dump_review_kit)
# Release notes
$(dump_release_notes)
== Release Notes
EOF
dump_release_notes
;;

announce)
cat <<EOF
To: [email protected], [email protected]
Title: [ANNOUNCE] $PROJECT_NAME $PROJECT_VERSION released
Title: [ANNOUNCE] $PROJECT_NAME \`$PROJECT_VERSION\` released
${PROJECT_NAME} team is pleased to announce the $PROJECT_VERSION
${PROJECT_NAME} team is pleased to announce the \`$PROJECT_VERSION\`
release. This project contains tools for binary postprocessing of
projects that use the Apache Log4j API. For further information
(support, download, etc.) see the project website[1].
[1] $PROJECT_SITE
=== Release Notes
== Release Notes
EOF
dump_release_notes
;;
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,33 +38,32 @@ 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-transform' && 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-transform' && 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.LOGGING_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.LOGGING_SVN_DEV_USERNAME }}
SVN_PASSWORD: ${{ secrets.LOGGING_SVN_DEV_PASSWORD }}
# Write permissions to allow the Maven `revision` property update, changelog release, etc.
permissions:
contents: write
with:
project-id: log4j-transform
site-enabled: true
95 changes: 95 additions & 0 deletions .github/workflows/deploy-site.yaml
Original file line number Diff line number Diff line change
@@ -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-transform' && 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/transform
target-branch: ${{ github.ref_name }}-site-stg-out

deploy-site-pro:
if: github.repository == 'apache/logging-log4j-transform' && 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/transform
target-branch: ${{ github.ref_name }}-out

export-version:
if: github.repository == 'apache/logging-log4j-transform' && 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/transform-${{ needs.export-version.outputs.version }}
target-branch: ${{ github.ref_name }}-site-stg-out
6 changes: 4 additions & 2 deletions .github/workflows/merge-dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,13 @@ jobs:

build:
if: github.repository == 'apache/logging-log4j-transform' && 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
with:
site-enabled: true

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
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,7 @@ target/
.project
.classpath
.settings/
# Node
node
node_modules
package-lock.json
117 changes: 117 additions & 0 deletions antora-playbook.yaml
Original file line number Diff line number Diff line change
@@ -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 Transform
url: "https://logging.apache.org/log4j/transform"
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: |
<script id="site-script" src="{{{uiRootPath}}}/js/site.js" data-ui-root-path="{{{uiRootPath}}}"></script>
<script async src="{{{uiRootPath}}}/js/vendor/highlight.js"></script>
<!-- `@asciidoctor/tabs` extension scripts -->
<script async src="{{{uiRootPath}}}/js/vendor/tabs.js"></script>
{{#if env.SITE_SEARCH_PROVIDER}}
{{> search-scripts}}
{{/if}}
- path: partials/head-styles.hbs
contents: |
<link rel="stylesheet" href="{{{uiRootPath}}}/css/site.css">
<link rel="icon" href="{{{uiRootPath}}}/../_images/favicon.ico" type="image/x-icon">
<!-- `@asciidoctor/tabs` extension styles -->
<link rel="stylesheet" href="{{{uiRootPath}}}/css/vendor/tabs.css">
<style>
/* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
.toc .toc-menu li[data-level="4"] a {
padding-left: 2.75rem
}
/* Replace the default highlight.js color for strings from red to green: */
.hljs-string {
color: #0f8532;
}
</style>
- path: partials/header-content.hbs
contents: |
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<span class="navbar-item title">{{site.title}}</span>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="https://logging.apache.org">a subproject of&nbsp;<strong>Apache Logging Services</strong></a>
</div>
</div>
</nav>
</header>
- path: partials/footer-content.hbs
contents: |
<footer class="footer">
<p>
Copyright © 1999-{{{year}}} <a href="https://www.apache.org/">The Apache Software Foundation</a>.
Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
</p>
<p>
Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
</p>
</footer>
# Disable component version selector
- path: partials/nav-explore.hbs
contents: ""

# Fix the `Edit this page` link
- path: partials/edit-this-page.hbs
contents: |
<div class="edit-this-page"><a href="https://github.com/apache/logging-log4j-transform/edit/main/src/site/antora/modules/{{page.module}}/pages/{{page.relativeSrcPath}}">Edit this Page</a></div>
Loading

0 comments on commit e34d076

Please sign in to comment.