This is an automated email from the ASF dual-hosted git repository. mattsicker pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/logging-log4j-kotlin.git
commit ec3429c693115976ba112a9ad5a3a569a63ea6f5 Author: Matt Sicker <[email protected]> AuthorDate: Sun Jan 29 18:28:07 2023 -0600 Migrate to same changelog and site config as log4j --- CHANGELOG.adoc | 77 +++ log4j-api-kotlin-benchmark/pom.xml | 14 +- log4j-api-kotlin-sample/pom.xml | 13 +- log4j-api-kotlin-sample/src/site/site.xml | 52 -- log4j-api-kotlin/pom.xml | 61 +- log4j-api-kotlin/src/site/site.xml | 52 -- pom.xml | 621 +++++++++++++-------- src/assembly/site.xml | 30 + .../changelog/.1.x.x/.changelog.adoc.ftl | 17 +- src/changelog/.1.x.x/28-Update_Log4j_baseline.xml | 11 + .../29-Add_extension_property_for_logger.xml | 10 + .../30-Add_facade_APIs_for_ThreadContext.xml | 10 + src/changelog/.changelog-entries.adoc.ftl | 37 ++ .../index.adoc => src/changelog/.index.adoc.ftl | 17 +- .../changelog/1.0.0/.changelog.adoc.ftl | 21 +- src/changelog/1.0.0/.release.xml | 18 + .../1.0.0/LOG4J2-1705_Create_Kotlin_API.xml | 11 + ...4J2-2432_Make_namedLogger_more_discoverable.xml | 11 + .../changelog/1.1.0/.changelog.adoc.ftl | 17 +- src/changelog/1.1.0/.release.xml | 18 + .../LOG4J2-2433_Support_MDCs_with_coroutines.xml | 10 + .../LOG4J2-2518_Support_suspend_functions.xml | 10 + ...OG4J2-2843_Update_Kotlin_baseline_to_1.3.72.xml | 10 + .../changelog/1.2.0/.changelog.adoc.ftl | 17 +- src/changelog/1.2.0/.release.xml | 18 + .../1.2.0/LOG4J2-3218_Update_Log4j_baseline.xml | 10 + src/changes/announcement.vm | 90 --- src/changes/changes.xml | 70 --- src/site/asciidoc/build.adoc | 2 +- 29 files changed, 745 insertions(+), 610 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc new file mode 100644 index 0000000..701f863 --- /dev/null +++ b/CHANGELOG.adoc @@ -0,0 +1,77 @@ +//// + 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-changelog-ref: https://github.com/apache/logging-log4j-tools/tree/master/log4j-changelog[log4j-changelog] + +== Where are changelogs stored? + +Changelogs are stored in xref:src/changelog[`src/changelog`] directory. + +{log4j-changelog-ref} is used to generate AsciiDoc-formatted changelog files during Maven `pre-site` phase and export them to xref:target/generated-sources/site/asciidoc/changelog[`target/generated-sources/site/asciidoc/changelog`] directory. +These exported AsciiDoc files are not committed, since they are only relevant for the website, and they cause merge-conflicts between feature branches. +`./mvnw site` command can be used to manually generate these files. + +See {log4j-changelog-ref} project for further details; how to use this changelog system, what steps are needed while making a new release, etc. + +== I am about to deploy a new release. What shall I do? + +Just before a release, three things need to happen in the changelog sources: + +. *changelog entry files needs to be moved* from the _upcoming_ release changelog directory `src/changelog/.<releaseVersionMajor>.x.x` to the _new_ release changelog directory `src/changelog/<releaseVersion>` +. *`.changelog.adoc.ftl` needs to be copied* from the _upcoming_ release changelog directory to the _new_ release changelog directory, unless it already exists in the target +. *`.release.xml` needs to be created* in the _new_ release changelog directory + +Due to the nature of release candidates, above steps might need to be repeated multiple times. + +[TIP] +==== +Log4j _releases_ and _release candidates_ all get deployed to the same https://repository.apache.org/#stagingRepositories[_staging repository_]. +Their `pom.xml` files all contain the same release version, e.g., `1.0.0`. +There are no `-rc1`, `-rc2`, etc. suffixes in the version of a release candidate. +Once a release candidate voting reaches to a consensus for release, associated artifacts simply get promoted from the _staging_ to the _public_ repository. +Hence, there are no differences between releases and release candidates. +==== + +How to carry out aforementioned changes are explained below in steps: + +. Populate the `src/changelog/<releaseVersion>` directory (e.g., `src/changelog/1.0.0`) from the upcoming release changelog directory (e.g., `src/changelog/.1.x.x`): ++ +[source,bash] +---- +./mvnw -N -P changelog-releaser +---- ++ +[IMPORTANT] +==== +`changelog-releaser` Maven profile obtains the new release version from `Log4jReleaseVersion` property. +If needed, you can override it to point to another release version: + +[source,bash] +---- +./mvnw -N -P changelog-releaser -DLog4jReleaseVersion=6.6.6 +---- +==== +. Verify that all changelog entry files are moved from `src/changelog/.<releaseVersionMajor>.x.x` directory (e.g., `src/changelog/.1.x.x`) +. Verify that `src/changelog/<releaseVersion>` directory (e.g., `src/changelog/1.0.0`) is created, and it contains `.changelog.adoc.ftl`, `.release.xml`, and changelog entry files ++ +[IMPORTANT] +==== +If `src/changelog/<releaseVersion>` directory (e.g., `src/changelog/1.0.0`) already exists with certain content, `changelog-releaser` profile will only move new changelog entry files and override `.release.xml`; `.changelog.adoc.ftl` will not be touched, if it already exists. +This allows one to run `changelog-releaser` profile multiple times, e.g., to incorporate changes added to a release candidate. +==== +. Edit the populated `.changelog.adoc.ftl` +. `git add` the changes in `src/changelog` and commit them diff --git a/log4j-api-kotlin-benchmark/pom.xml b/log4j-api-kotlin-benchmark/pom.xml index ff39951..bc15835 100644 --- a/log4j-api-kotlin-benchmark/pom.xml +++ b/log4j-api-kotlin-benchmark/pom.xml @@ -16,7 +16,9 @@ limitations under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api-kotlin-parent</artifactId> @@ -26,9 +28,9 @@ <artifactId>log4j-api-kotlin-benchmark</artifactId> <version>1.3.0-SNAPSHOT</version> <packaging>jar</packaging> + <name>Apache Log4j Kotlin API Benchmark</name> <description>Benchmarking the Log4j Kotlin API</description> - <url>http://http://logging.apache.org/log4j/2.x/</url> <properties> <log4jParentDir>${basedir}/..</log4jParentDir> @@ -40,35 +42,39 @@ </properties> <dependencies> + <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> - <version>${kotlin.version}</version> </dependency> + <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> - <version>${kotlin.version}</version> </dependency> + <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-jdk8</artifactId> - <version>${kotlinx.coroutines.version}</version> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api-kotlin</artifactId> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <scope>runtime</scope> </dependency> + <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${jmh.version}</version> </dependency> + </dependencies> <build> diff --git a/log4j-api-kotlin-sample/pom.xml b/log4j-api-kotlin-sample/pom.xml index 974cd27..1679e84 100644 --- a/log4j-api-kotlin-sample/pom.xml +++ b/log4j-api-kotlin-sample/pom.xml @@ -16,7 +16,9 @@ limitations under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api-kotlin-parent</artifactId> @@ -26,39 +28,42 @@ <artifactId>log4j-api-kotlin-sample</artifactId> <version>1.3.0-SNAPSHOT</version> <packaging>jar</packaging> + <name>Apache Log4j Kotlin API Samples</name> <description>Sample usage of the Log4j Kotlin API</description> - <url>http://http://logging.apache.org/log4j/2.x/</url> <properties> <log4jParentDir>${basedir}/..</log4jParentDir> </properties> <dependencies> + <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> - <version>${kotlin.version}</version> </dependency> + <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> - <version>${kotlin.version}</version> </dependency> + <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-jdk8</artifactId> - <version>${kotlinx.coroutines.version}</version> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api-kotlin</artifactId> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <scope>runtime</scope> </dependency> + </dependencies> <build> diff --git a/log4j-api-kotlin-sample/src/site/site.xml b/log4j-api-kotlin-sample/src/site/site.xml deleted file mode 100644 index c438475..0000000 --- a/log4j-api-kotlin-sample/src/site/site.xml +++ /dev/null @@ -1,52 +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. - ---> -<project name="Log4j Kotlin API Samples" - xmlns="http://maven.apache.org/DECORATION/1.4.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/DECORATION/1.4.0 http://maven.apache.org/xsd/decoration-1.4.0.xsd"> - <body> - <links> - <item name="Logging Wiki" href="https://wiki.apache.org/logging"/> - <item name="Apache" href="https://www.apache.org/"/> - <item name="Logging Services" href="https://logging.apache.org/"/> - <item name="GitHub" href="https://github.com/apache/logging-log4j-audit"/> - <item name="Log4j Kotlin" href="../index.html"/> - </links> - - <!-- Component-specific reports --> - <menu ref="reports"/> - - <menu name="Project Information" img="icon-info-sign"> - <item name="Dependencies" href="/dependencies.html" /> - <item name="Dependency Convergence" href="/dependency-convergence.html" /> - <item name="Dependency Management" href="/dependency-management.html" /> - <item name="Mailing Lists" href="/mail-lists.html" /> - <item name="Issue Tracking" href="/issue-tracking.html" /> - <item name="Project License" href="/license.html" /> - <item name="Source Repository" href="/source-repository.html" /> - <item name="Project Summary" href="/project-summary.html" /> - </menu> - - <menu name="Project Reports" img="icon-cog"> - <item name="Changes Report" href="/changes-report.html" /> - <item name="JIRA Report" href="/jira-report.html" /> - <item name="RAT Report" href="/rat-report.html" /> - </menu> - - </body> -</project> \ No newline at end of file diff --git a/log4j-api-kotlin/pom.xml b/log4j-api-kotlin/pom.xml index f349a79..3a06480 100644 --- a/log4j-api-kotlin/pom.xml +++ b/log4j-api-kotlin/pom.xml @@ -16,7 +16,9 @@ limitations under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api-kotlin-parent</artifactId> @@ -26,6 +28,7 @@ <artifactId>log4j-api-kotlin</artifactId> <version>1.3.0-SNAPSHOT</version> <packaging>jar</packaging> + <name>Apache Log4j Kotlin API</name> <description>Kotlin wrapper for Log4j API</description> @@ -34,82 +37,78 @@ </properties> <dependencies> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </dependency> + <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> - <version>${kotlin.version}</version> + <!-- this is a minimum kotlin version only --> <scope>provided</scope> </dependency> + <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> - <version>${kotlin.version}</version> + <!-- this is a minimum kotlin version only --> <scope>provided</scope> </dependency> + <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-jdk8</artifactId> - <version>${kotlinx.coroutines.version}</version> + <!-- this is a minimum kotlin version only --> <scope>provided</scope> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <type>test-jar</type> <scope>test</scope> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <scope>test</scope> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <type>test-jar</type> <scope>test</scope> </dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.13.1</version> <scope>test</scope> </dependency> + + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-test-junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.mockito.kotlin</groupId> <artifactId>mockito-kotlin</artifactId> - <version>4.0.0</version> <scope>test</scope> </dependency> + </dependencies> <build> <sourceDirectory>src/main/kotlin</sourceDirectory> <testSourceDirectory>src/test/kotlin</testSourceDirectory> <plugins> - <plugin> - <artifactId>kotlin-maven-plugin</artifactId> - <groupId>org.jetbrains.kotlin</groupId> - <version>${kotlin.version}</version> - <executions> - <execution> - <id>compile</id> - <goals> - <goal>compile</goal> - </goals> - </execution> - <execution> - <id>test-compile</id> - <goals> - <goal>test-compile</goal> - </goals> - </execution> - </executions> - </plugin> + <plugin> <groupId>org.jetbrains.dokka</groupId> <artifactId>dokka-maven-plugin</artifactId> @@ -125,6 +124,7 @@ <skip>false</skip> </configuration> </plugin> + <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-maven-plugin</artifactId> @@ -139,6 +139,7 @@ </execution> </executions> </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> @@ -148,6 +149,7 @@ </archive> </configuration> </plugin> + <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> @@ -163,16 +165,9 @@ </execution> </executions> </plugin> + </plugins> + </build> - <reporting> - <plugins> - <plugin> - <groupId>org.jetbrains.kotlin</groupId> - <artifactId>kotlin-maven-plugin</artifactId> - <version>${kotlin.version}</version> - </plugin> - </plugins> - </reporting> </project> diff --git a/log4j-api-kotlin/src/site/site.xml b/log4j-api-kotlin/src/site/site.xml deleted file mode 100644 index 2aec388..0000000 --- a/log4j-api-kotlin/src/site/site.xml +++ /dev/null @@ -1,52 +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. - ---> -<project name="Log4j Kotlin API" - xmlns="http://maven.apache.org/DECORATION/1.4.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/DECORATION/1.4.0 http://maven.apache.org/xsd/decoration-1.4.0.xsd"> - <body> - <links> - <item name="Logging Wiki" href="https://wiki.apache.org/logging"/> - <item name="Apache" href="https://www.apache.org/"/> - <item name="Logging Services" href="https://logging.apache.org/"/> - <item name="GitHub" href="https://github.com/apache/logging-log4j-audit"/> - <item name="Log4j Kotlin" href="../index.html"/> - </links> - - <!-- Component-specific reports --> - <menu ref="reports"/> - - <menu name="Project Information" img="icon-info-sign"> - <item name="Dependencies" href="/dependencies.html" /> - <item name="Dependency Convergence" href="/dependency-convergence.html" /> - <item name="Dependency Management" href="/dependency-management.html" /> - <item name="Mailing Lists" href="/mail-lists.html" /> - <item name="Issue Tracking" href="/issue-tracking.html" /> - <item name="Project License" href="/license.html" /> - <item name="Source Repository" href="/source-repository.html" /> - <item name="Project Summary" href="/project-summary.html" /> - </menu> - - <menu name="Project Reports" img="icon-cog"> - <item name="Changes Report" href="/changes-report.html" /> - <item name="JIRA Report" href="/jira-report.html" /> - <item name="RAT Report" href="/rat-report.html" /> - </menu> - - </body> -</project> \ No newline at end of file diff --git a/pom.xml b/pom.xml index ea77ec7..b250782 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the license. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> <groupId>org.apache.logging</groupId> <artifactId>logging-parent</artifactId> @@ -26,12 +28,72 @@ <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api-kotlin-parent</artifactId> - <version>1.3.0-SNAPSHOT</version> <packaging>pom</packaging> - <name>Apache Log4j Kotlin API Parent</name> - <description>Apache Log4j Kotlin API parent project</description> + <version>1.3.0-SNAPSHOT</version> + <name>Apache Log4j Kotlin API</name> + <description> + Apache Log4j Kotlin API is a logging API library for Kotlin based on Log4j API. A logging backend such as + Log4j Core must also be used for configuring what happens to log messages. + </description> <url>https://logging.apache.org/log4j/kotlin/</url> + <issueManagement> + <system>GitHub Issues</system> + <url>https://github.com/apache/logging-log4j-kotlin/issues</url> + </issueManagement> + + <ciManagement> + <system>Jenkins</system> + <url>https://builds.apache.org/job/Logging/job/log4j-kotlin/</url> + </ciManagement> + + <!-- Developer IDs are used to map author IDs to names while exporting changelogs. + Hence, updates here need to be reflected to `.changelog-entries.adoc.ftl` too. --> + <developers> + + <developer> + <id>rgupta</id> + <name>Raman Gupta</name> + <email>[email protected]</email> + <roles> + <role>Committer</role> + </roles> + </developer> + + <developer> + <id>mattsicker</id> + <name>Matt Sicker</name> + <email>[email protected]</email> + <organization>Apple</organization> + <roles> + <role>PMC Member</role> + <role>Committer</role> + </roles> + <timezone>America/Chicago</timezone> + </developer> + + </developers> + + <mailingLists> + + <mailingList> + <name>log4j-user</name> + <subscribe>[email protected]</subscribe> + <unsubscribe>[email protected]</unsubscribe> + <post>[email protected]</post> + <archive>https://lists.apache.org/[email protected]</archive> + </mailingList> + + <mailingList> + <name>dev</name> + <subscribe>[email protected]</subscribe> + <unsubscribe>[email protected]</unsubscribe> + <post>[email protected]</post> + <archive>https://lists.apache.org/[email protected]</archive> + </mailingList> + + </mailingLists> + <scm> <connection>scm:git:https://gitbox.apache.org/repos/asf/logging-log4j-kotlin.git</connection> <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/logging-log4j-kotlin.git</developerConnection> @@ -39,96 +101,155 @@ <tag>HEAD</tag> </scm> - <distributionManagement> - <site> - <id>apache.website</id> - <url>scp://people.apache.org/www/logging.apache.org/log4j-kotlin-api</url> - </site> - </distributionManagement> - - <issueManagement> - <system>GitHub Issues</system> - <url>https://github.com/apache/logging-log4j-kotlin/issues</url> - </issueManagement> - <properties> + + <!-- =========================== + Release-specific properties + =========================== --> + <log4jParentDir>${basedir}</log4jParentDir> <Log4jKotlinVersion>1.3.0</Log4jKotlinVersion> + <Log4jReleaseVersion>${Log4jKotlinVersion}</Log4jReleaseVersion> <Log4jReleaseManager>Matt Sicker</Log4jReleaseManager> <Log4jReleaseKey>8378BFAAD82FE5AA602AC356031EE010CA15D1EE</Log4jReleaseKey> - <changes.plugin.version>2.12</changes.plugin.version> - <checkstyle.plugin.version>2.17</checkstyle.plugin.version> - <dokka.plugin.version>0.9.17</dokka.plugin.version> - <bnd.plugin.version>5.2.0</bnd.plugin.version> - <findbugs.plugin.version>3.0.5</findbugs.plugin.version> - <javadoc.plugin.version>3.4.0</javadoc.plugin.version> - <jxr.plugin.version>2.5</jxr.plugin.version> + <Log4jSigningUserName>[email protected]</Log4jSigningUserName> + + <!-- ================= + Common properties + ================= --> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <!-- Skipping `maven-site-plugin` globally. + It is manually enabled only for the parent module below. --> + <maven.site.skip>true</maven.site.skip> + <maven.site.deploy.skip>true</maven.site.deploy.skip> + + <!-- ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ + ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ + ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ + ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ + ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ + + Dependency and plugin version properties might have many implications beyond their simple appearance! + Walk through the following checklist before making a change in these properties! + + 1. Follow the `<artifactId>.version` naming convention + 2. Make sure properties are sorted in alphabetical order + 3. Check parent POMs for any associations. + For instance, Maven Surefire Plugin version property is such an exception. + It is named as `surefire.version` rather than `maven-surefire-plugin.version`, since `surefire.version` is already employed by `apache.org:apache` parent POM. + 4. Think of consequences when users _import_ this POM along with, e.g., `spring-boot-dependencies` BOM --> + + <!-- ================================================= + Plugin version properties (in alphabetical order) + ================================================= --> + <apache-rat-plugin.version>0.12</apache-rat-plugin.version> + <asciidoctor-maven-plugin.version>2.2.2</asciidoctor-maven-plugin.version> + <bnd-maven-plugin.version>5.2.0</bnd-maven-plugin.version> + <dokka-maven-plugin.version>0.9.17</dokka-maven-plugin.version> + <exec-maven-plugin.version>3.1.0</exec-maven-plugin.version> + <findbugs-maven-plugin.version>3.0.5</findbugs-maven-plugin.version> + <log4j-tools.version>0.1.0</log4j-tools.version> + <maven-changes-plugin.version>2.12</maven-changes-plugin.version> + <maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version> + <maven-javadoc-plugin.version>3.4.0</maven-javadoc-plugin.version> + <maven-jxr-plugin.version>2.5</maven-jxr-plugin.version> + <maven-pmd-plugin.version>3.8</maven-pmd-plugin.version> + <maven-site-plugin.version>3.11.0</maven-site-plugin.version> + <!-- `surefire.version` property used in `apache.org:apache`: --> + <surefire.version>2.22.1</surefire.version> + + <!-- ===================================================== + Dependency version properties (in alphabetical order) + ===================================================== --> + <log4j.version>2.19.0</log4j.version> <kotlin.version>1.3.72</kotlin.version> <kotlinx.coroutines.version>1.3.6</kotlinx.coroutines.version> - <log4j.version>2.19.0</log4j.version> - <pmd.plugin.version>3.8</pmd.plugin.version> - <rat.plugin.version>0.12</rat.plugin.version> - <site.plugin.version>3.11.0</site.plugin.version> - <asciidoc.plugin.version>2.2.2</asciidoc.plugin.version> - <surefire.plugin.version>2.22.1</surefire.plugin.version> - <log4jParentDir>${basedir}</log4jParentDir> + </properties> <dependencyManagement> <dependencies> + <dependency> <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-api-kotlin</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-api</artifactId> + <artifactId>log4j-bom</artifactId> <version>${log4j.version}</version> + <type>pom</type> + <scope>import</scope> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - <version>${log4j.version}</version> + <artifactId>log4j-api-kotlin</artifactId> + <version>${project.version}</version> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j.version}</version> <type>test-jar</type> - <scope>test</scope> </dependency> + <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> <type>test-jar</type> - <scope>test</scope> </dependency> + + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-stdlib</artifactId> + <version>${kotlin.version}</version> + </dependency> + + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-reflect</artifactId> + <version>${kotlin.version}</version> + </dependency> + + <dependency> + <groupId>org.jetbrains.kotlinx</groupId> + <artifactId>kotlinx-coroutines-jdk8</artifactId> + <version>${kotlinx.coroutines.version}</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.13.2</version> + </dependency> + + <dependency> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-test-junit</artifactId> + <version>${kotlin.version}</version> + </dependency> + + <dependency> + <groupId>org.mockito.kotlin</groupId> + <artifactId>mockito-kotlin</artifactId> + <version>4.0.0</version> + </dependency> + </dependencies> - </dependencyManagement> - <dependencies> - <dependency> - <groupId>org.jetbrains.kotlin</groupId> - <artifactId>kotlin-stdlib</artifactId> - <version>${kotlin.version}</version> - </dependency> - <dependency> - <groupId>org.jetbrains.kotlin</groupId> - <artifactId>kotlin-test</artifactId> - <version>${kotlin.version}</version> - <scope>test</scope> - </dependency> - </dependencies> + </dependencyManagement> <build> + <defaultGoal>verify</defaultGoal> + <pluginManagement> + <plugins> + <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>${surefire.plugin.version}</version> + <groupId>org.jetbrains.kotlin</groupId> + <artifactId>kotlin-maven-plugin</artifactId> + <version>${kotlin.version}</version> </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> @@ -141,19 +262,55 @@ </execution> </executions> </plugin> + <plugin> <groupId>org.jetbrains.dokka</groupId> <artifactId>dokka-maven-plugin</artifactId> - <version>${dokka.plugin.version}</version> + <version>${dokka-maven-plugin.version}</version> </plugin> + <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-maven-plugin</artifactId> - <version>${bnd.plugin.version}</version> + <version>${bnd-maven-plugin.version}</version> + </plugin> + + <plugin> + <groupId>org.asciidoctor</groupId> + <artifactId>asciidoctor-maven-plugin</artifactId> + <version>${asciidoctor-maven-plugin.version}</version> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>${maven-site-plugin.version}</version> + <dependencies> + <dependency> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-ssh</artifactId> + <version>2.9</version> + </dependency> + <dependency> + <groupId>org.asciidoctor</groupId> + <artifactId>asciidoctor-maven-plugin</artifactId> + <version>${asciidoctor-maven-plugin.version}</version> + </dependency> + </dependencies> + </plugin> + + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>${exec-maven-plugin.version}</version> </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> @@ -175,59 +332,122 @@ </execution> </executions> </plugin> + + <!-- ███████ ████████ █████ ██████ ████████ ███████ ██ ████████ ███████ + ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ + ███████ ██ ███████ ██████ ██ ███████ ██ ██ █████ + ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ + ███████ ██ ██ ██ ██ ██ ██ ███████ ██ ██ ███████ + + This section consists of plugins responsible for generating the site. + Note that only parent is supposed to have a `site` goal, it is skipped for modules! --> + + <!-- export AsciiDoc-formatted sources to `target/generated-sources/site/asciidoc/changelog` --> <plugin> - <groupId>org.asciidoctor</groupId> - <artifactId>asciidoctor-maven-plugin</artifactId> - <version>${asciidoc.plugin.version}</version> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <inherited>false</inherited> <executions> <execution> - <id>output-html</id> - <phase>generate-resources</phase> + <id>changelog-export</id> + <phase>pre-site</phase> <goals> - <goal>process-asciidoc</goal> + <goal>java</goal> </goals> </execution> </executions> <configuration> - <backend>html5</backend> + <includeProjectDependencies>false</includeProjectDependencies> + <includePluginDependencies>true</includePluginDependencies> + <executableDependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-changelog</artifactId> + </executableDependency> + <mainClass>org.apache.logging.log4j.changelog.exporter.ChangelogExporter</mainClass> + <systemProperties> + <systemProperty> + <key>log4j.changelog.directory</key> + <value>${project.basedir}/src/changelog</value> + </systemProperty> + <systemProperty> + <key>log4j.changelog.exporter.outputDirectory</key> + <value>${project.build.directory}/generated-sources/site/asciidoc/changelog</value> + </systemProperty> + </systemProperties> </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-site-plugin</artifactId> - <version>${site.plugin.version}</version> <dependencies> <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-ssh</artifactId> - <version>2.9</version> - </dependency> - <dependency> - <groupId>org.asciidoctor</groupId> - <artifactId>asciidoctor-maven-plugin</artifactId> - <version>${asciidoc.plugin.version}</version> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-changelog</artifactId> + <version>${log4j-tools.version}</version> </dependency> </dependencies> - <configuration> + </plugin> + + <!-- copy `src/site` to `target/generated-sources/site` --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <inherited>false</inherited> + <executions> + <!-- copy `src/site` to `target/generated-sources/site` --> + <execution> + <id>copy-site</id> + <phase>pre-site</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/generated-sources/site</outputDirectory> + <resources> + <resource> + <directory>${log4jParentDir}/src/site</directory> + <excludes> + <exclude>/resources/glyphicons-halflings-2-1.zip</exclude> + <exclude>/resources/logo/**/*</exclude> + </excludes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <inherited>false</inherited> + <configuration combine.self="override"> + <skip>false</skip> + <generateProjectInfo>false</generateProjectInfo> + <generateReports>false</generateReports> + <siteDirectory>${project.build.directory}/generated-sources/site</siteDirectory> <!-- only build English site even on other language OS --> <locales>en</locales> <!-- Exclude the navigation file for Maven 1 sites - and the changes file used by the changes-plugin, - as they interfere with the site generation. --> + as it interfere with the site generation. --> <moduleExcludes> - <xdoc>navigation.xml,changes.xml</xdoc> + <xdoc>navigation.xml</xdoc> </moduleExcludes> - <asciidoc> <attributes> <!-- copy any site properties wanted in asciidoc files --> - <Log4jReleaseVersion>${Log4jReleaseVersion}</Log4jReleaseVersion> + <Log4jKotlinVersion>${Log4jKotlinVersion}</Log4jKotlinVersion> + <Log4jReleaseVersion>${Log4jKotlinVersion}</Log4jReleaseVersion> <Log4jReleaseManager>${Log4jReleaseManager}</Log4jReleaseManager> <Log4jReleaseKey>${Log4jReleaseKey}</Log4jReleaseKey> </attributes> </asciidoc> </configuration> + <dependencies> + <dependency> + <groupId>org.asciidoctor</groupId> + <artifactId>asciidoctor-maven-plugin</artifactId> + <version>${asciidoctor-maven-plugin.version}</version> + </dependency> + </dependencies> </plugin> + <plugin> <groupId>org.jetbrains.dokka</groupId> <artifactId>dokka-maven-plugin</artifactId> @@ -235,171 +455,86 @@ <skip>true</skip> </configuration> </plugin> + + <!-- ███████ ███ ██ ██████ ███████ ██ ████████ ███████ + ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ + █████ ██ ██ ██ ██ ██ ███████ ██ ██ █████ + ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ + ███████ ██ ████ ██████ ███████ ██ ██ ███████ --> + </plugins> + </build> - <reporting> - <plugins> - <!-- Changes report --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-changes-plugin</artifactId> - <version>${changes.plugin.version}</version> - <reportSets> - <reportSet> - <reports> - <report>changes-report</report> - <report>jira-report</report> - </reports> - </reportSet> - </reportSets> - <configuration> - <statusIds>Resolved, Closed</statusIds> - <columnNames>Type,Key,Summary,Assignee,Status,Resolution,Fix Version</columnNames> - <component>Kotlin API</component> - <useJql>true</useJql> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.8.1</version> - <reportSets> - <reportSet> - <reports> - <report>index</report> - <report>dependencies</report> - <report>dependency-info</report> - <report>dependency-convergence</report> - <report>dependency-management</report> - <report>mailing-list</report> - <report>issue-tracking</report> - <report>license</report> - <report>scm</report> - <report>summary</report> - </reports> - </reportSet> - </reportSets> - <configuration> - <!-- you'd think these would be the defaults, right? --> - <customBundle>${project.basedir}/src/site/custom/project-info-report.properties</customBundle> - <webAccessUrl>${project.scm.url}</webAccessUrl> - <anonymousConnection>${project.scm.connection}</anonymousConnection> - <developerConnection>${project.scm.developerConnection}</developerConnection> - <dependencyLocationsEnabled>false</dependencyLocationsEnabled> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>${javadoc.plugin.version}</version> - <configuration> - <aggregate>true</aggregate> - <bottom><![CDATA[<p align="center">Copyright © {inceptionYear}-{currentYear} {organizationName}. All Rights Reserved.<br /> - Apache Logging, Apache Log4j, Apache Log4j Audit, Log4j, Log4j Audit, Apache, the Apache feather logo, the Apache Logging project logo, - and the Apache Log4j logo are trademarks of The Apache Software Foundation.</p>]]></bottom> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - <version>${checkstyle.plugin.version}</version> - <configuration> - <!--<propertiesLocation>${vfs.parent.dir}/checkstyle.properties</propertiesLocation> --> - <configLocation>${log4jParentDir}/checkstyle.xml</configLocation> - <suppressionsLocation>${log4jParentDir}/checkstyle-suppressions.xml</suppressionsLocation> - <enableRulesSummary>false</enableRulesSummary> - <propertyExpansion>basedir=${basedir}</propertyExpansion> - <propertyExpansion>licensedir=${log4jParentDir}/checkstyle-header.txt</propertyExpansion> - </configuration> - </plugin> - <!-- Surefire report --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-report-plugin</artifactId> - <version>${surefire.plugin.version}</version> - <reportSets> - <reportSet> - <id>integration-tests</id> - <reports> - <report>failsafe-report-only</report> - </reports> - </reportSet> - </reportSets> - </plugin> - <!-- RAT report --> - <plugin> - <groupId>org.apache.rat</groupId> - <artifactId>apache-rat-plugin</artifactId> - <version>${rat.plugin.version}</version> - <configuration> - <excludes> - <exclude>**/*.asc</exclude> - <exclude>.idea/**/*</exclude> - <exclude>src/site/resources/js/jquery.js</exclude> - <exclude>src/site/resources/js/jquery.min.js</exclude> - <!-- Generated files --> - <exclude>log4j-api-kotlin-distribution/target/**/*</exclude> - <exclude>log4j-api-kotlin-distribution/.project</exclude> - <exclude>log4j-api-kotlin-distribution/.settings/**</exclude> - <exclude>RELEASE-NOTES.md</exclude> - </excludes> - </configuration> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>findbugs-maven-plugin</artifactId> - <version>${findbugs.plugin.version}</version> - <configuration> - <fork>true</fork> - <jvmArgs>-Duser.language=en</jvmArgs> - <threshold>Normal</threshold> - <effort>Default</effort> - <excludeFilterFile>${log4jParentDir}/findbugs-exclude-filter.xml</excludeFilterFile> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jxr-plugin</artifactId> - <version>${jxr.plugin.version}</version> - <reportSets> - <reportSet> - <id>non-aggregate</id> - <reports> - <report>jxr</report> - </reports> - </reportSet> - <reportSet> - <id>aggregate</id> - <reports> - <report>aggregate</report> - </reports> - </reportSet> - </reportSets> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-pmd-plugin</artifactId> - <version>${pmd.plugin.version}</version> - <configuration> - <targetJdk>${maven.compiler.target}</targetJdk> - </configuration> - </plugin> - </plugins> - </reporting> - <repositories> - <repository> - <id>apache.snapshots</id> - <name>Apache Snapshot Repository</name> - <url>https://repository.apache.org/snapshots</url> - <releases> - <enabled>false</enabled> - </releases> - </repository> - </repositories> + + <distributionManagement> + <downloadUrl>https://logging.apache.org/log4j/kotlin/download.html</downloadUrl> + <!-- `site` is only included to make `maven-site-plugin` stop complaining: --> + <site> + <id>www.example.com</id> + <url>scp://www.example.com/www/docs/project/</url> + </site> + <!-- `repository` from ASF parent POM (id: apache.releases.https) --> + <!-- `snapshotRepository` from ASF parent POM (id: apache.snapshots.https) --> + </distributionManagement> <modules> <module>log4j-api-kotlin</module> <module>log4j-api-kotlin-sample</module> <module>log4j-api-kotlin-benchmark</module> </modules> + + <profiles> + + <!-- Shortcut to populate `src/changelog/<releaseVersion>` from `src/changelog/.<releaseVersionMajor>.x.x` --> + <profile> + <id>changelog-releaser</id> + <build> + <defaultGoal>validate</defaultGoal> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <executions> + <execution> + <id>changelog-releaser</id> + <!-- Choosing the earlier possible phase, since `ChangelogReleaser` execution doesn't depend on anything: --> + <phase>validate</phase> + <goals> + <goal>java</goal> + </goals> + </execution> + </executions> + <configuration> + <includeProjectDependencies>false</includeProjectDependencies> + <includePluginDependencies>true</includePluginDependencies> + <executableDependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-changelog</artifactId> + </executableDependency> + <mainClass>org.apache.logging.log4j.changelog.releaser.ChangelogReleaser</mainClass> + <systemProperties> + <systemProperty> + <key>log4j.changelog.directory</key> + <value>${project.basedir}/src/changelog</value> + </systemProperty> + <systemProperty> + <key>log4j.changelog.releaseVersion</key> + <value>${Log4jKotlinVersion}</value> + </systemProperty> + </systemProperties> + </configuration> + <dependencies> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-changelog</artifactId> + <version>${log4j-tools.version}</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> + </profile> + + </profiles> + </project> diff --git a/src/assembly/site.xml b/src/assembly/site.xml new file mode 100644 index 0000000..e143555 --- /dev/null +++ b/src/assembly/site.xml @@ -0,0 +1,30 @@ +<!-- + 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. +--> +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> + <id>site</id> + <formats> + <format>zip</format> + </formats> + <fileSets> + <fileSet> + <directory>${stagingSiteURL}</directory> + <outputDirectory>${stagingSiteURL}</outputDirectory> + </fileSet> + </fileSets> +</assembly> diff --git a/log4j-api-kotlin-sample/src/site/asciidoc/index.adoc b/src/changelog/.1.x.x/.changelog.adoc.ftl similarity index 73% copy from log4j-api-kotlin-sample/src/site/asciidoc/index.adoc copy to src/changelog/.1.x.x/.changelog.adoc.ftl index 8679a19..b916a36 100644 --- a/log4j-api-kotlin-sample/src/site/asciidoc/index.adoc +++ b/src/changelog/.1.x.x/.changelog.adoc.ftl @@ -6,7 +6,7 @@ (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 + 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, @@ -14,14 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. //// -= Apache Log4j Kotlin API Samples -:toc: left -Log4j Kotlin API Samples provides samples that illustrate how to use the Log4j API for Kotlin. -//// -TODO: -* Apache logo -* License report -* Project links -* Dependency report -//// += ${release.version}<#if release.date?has_content> (${release.date})</#if> + +Changes staged for the next 1.x.x version that is yet to be released. + +<#include "../.changelog-entries.adoc.ftl"> diff --git a/src/changelog/.1.x.x/28-Update_Log4j_baseline.xml b/src/changelog/.1.x.x/28-Update_Log4j_baseline.xml new file mode 100644 index 0000000..6c7f443 --- /dev/null +++ b/src/changelog/.1.x.x/28-Update_Log4j_baseline.xml @@ -0,0 +1,11 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="changed"> + <issue id="28" link="https://github.com/apache/logging-log4j-kotlin/pull/28"/> + <author name="u-ways"/> + <author id="mattsicker"/> + <description format="asciidoc"> + Update Log4j dependency to 2.19.0. + </description> +</entry> diff --git a/src/changelog/.1.x.x/29-Add_extension_property_for_logger.xml b/src/changelog/.1.x.x/29-Add_extension_property_for_logger.xml new file mode 100644 index 0000000..0d6f547 --- /dev/null +++ b/src/changelog/.1.x.x/29-Add_extension_property_for_logger.xml @@ -0,0 +1,10 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="added"> + <issue id="29" link="https://github.com/apache/logging-log4j-kotlin/issues/29"/> + <author id="mattsicker"/> + <description format="asciidoc"> + Add an extension property for storing a cached logger. + </description> +</entry> diff --git a/src/changelog/.1.x.x/30-Add_facade_APIs_for_ThreadContext.xml b/src/changelog/.1.x.x/30-Add_facade_APIs_for_ThreadContext.xml new file mode 100644 index 0000000..57a7fb8 --- /dev/null +++ b/src/changelog/.1.x.x/30-Add_facade_APIs_for_ThreadContext.xml @@ -0,0 +1,10 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="added"> + <issue id="30" link="https://github.com/apache/logging-log4j-kotlin/issues/30"/> + <author id="mattsicker"/> + <description format="asciidoc"> + Add facade APIs for manipulating the context map and stack. + </description> +</entry> diff --git a/src/changelog/.changelog-entries.adoc.ftl b/src/changelog/.changelog-entries.adoc.ftl new file mode 100644 index 0000000..7fd48fb --- /dev/null +++ b/src/changelog/.changelog-entries.adoc.ftl @@ -0,0 +1,37 @@ +<#-- + 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 entriesByType?size gt 0>== Changes +<#list entriesByType as entryType, entries> + +== ${entryType?capitalize} + +<#list entries as entry> +* ${entry.description.text?replace("\\s+", " ", "r")} (for <@compress single_line=true> +<#list entry.issues as issue>${issue.link}[${issue.id}]<#if issue?has_next>, </#if></#list> by +<#list entry.authors as author> +<@compress single_line=true> +<#if !author.id?has_content>${author.name} +<#elseif author.id == "rgupta">Raman Gupta +<#elseif author.id == "mattsicker">Matt Sicker +<#else>`${author.id}` +</#if> +</@compress><#if author?has_next>, </#if> +</#list> +</@compress>) +</#list> +</#list> +</#if> diff --git a/log4j-api-kotlin-sample/src/site/asciidoc/index.adoc b/src/changelog/.index.adoc.ftl similarity index 73% copy from log4j-api-kotlin-sample/src/site/asciidoc/index.adoc copy to src/changelog/.index.adoc.ftl index 8679a19..e6e82ba 100644 --- a/log4j-api-kotlin-sample/src/site/asciidoc/index.adoc +++ b/src/changelog/.index.adoc.ftl @@ -6,7 +6,7 @@ (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 + 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, @@ -14,14 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. //// -= Apache Log4j Kotlin API Samples -:toc: left -Log4j Kotlin API Samples provides samples that illustrate how to use the Log4j API for Kotlin. -//// -TODO: -* Apache logo -* License report -* Project links -* Dependency report -//// += Release changelogs + +<#list releases as release> +* xref:${release.changelogFileName}[${release.version}]<#if release.date?has_content> (${release.date})</#if> +</#list> diff --git a/log4j-api-kotlin/src/site/asciidoc/index.adoc b/src/changelog/1.0.0/.changelog.adoc.ftl similarity index 52% rename from log4j-api-kotlin/src/site/asciidoc/index.adoc rename to src/changelog/1.0.0/.changelog.adoc.ftl index 147d52e..b916a36 100644 --- a/log4j-api-kotlin/src/site/asciidoc/index.adoc +++ b/src/changelog/1.0.0/.changelog.adoc.ftl @@ -6,7 +6,7 @@ (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 + 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, @@ -14,22 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. //// -= Apache Log4j Kotlin API -:toc: left -Log4j Kotlin API is a https://kotlinlang.org/[Kotlin] logging facade based on https://logging.apache.org/log4j/2.x/[Log4j 2]. += ${release.version}<#if release.date?has_content> (${release.date})</#if> -Log4j Kotlin API uses Log4j 2.x as its logging backend. +Changes staged for the next 1.x.x version that is yet to be released. -Log4j Kotlin API uses Log4j 2.x as its logging backend by default, but this can also be replaced with compatible libraries (e.g., https://logback.qos.ch/[Logback]). - -While this library is not required to use Log4j API in Kotlin, it does provide idiomatic Kotlin APIs which are friendlier to use in Kotlin programs than the Java APIs. - - -//// -TODO: -* Apache logo -* License report -* Project links -* Dependency report -//// +<#include "../.changelog-entries.adoc.ftl"> diff --git a/src/changelog/1.0.0/.release.xml b/src/changelog/1.0.0/.release.xml new file mode 100644 index 0000000..c2c84d7 --- /dev/null +++ b/src/changelog/1.0.0/.release.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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 date="2018-11-03" version="1.0.0"/> diff --git a/src/changelog/1.0.0/LOG4J2-1705_Create_Kotlin_API.xml b/src/changelog/1.0.0/LOG4J2-1705_Create_Kotlin_API.xml new file mode 100644 index 0000000..016b4cb --- /dev/null +++ b/src/changelog/1.0.0/LOG4J2-1705_Create_Kotlin_API.xml @@ -0,0 +1,11 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="added"> + <issue id="LOG4J2-3556" link="https://issues.apache.org/jira/browse/LOG4J2-1705"/> + <author id="mattsicker"/> + <author id="rgupta"/> + <description format="asciidoc"> + Create Kotlin wrapper API for Log4j. + </description> +</entry> diff --git a/src/changelog/1.0.0/LOG4J2-2432_Make_namedLogger_more_discoverable.xml b/src/changelog/1.0.0/LOG4J2-2432_Make_namedLogger_more_discoverable.xml new file mode 100644 index 0000000..1cf2279 --- /dev/null +++ b/src/changelog/1.0.0/LOG4J2-2432_Make_namedLogger_more_discoverable.xml @@ -0,0 +1,11 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="changed"> + <issue id="LOG4J2-2432" link="https://issues.apache.org/jira/browse/LOG4J2-2432"/> + <author id="mattsicker"/> + <author id="rgupta"/> + <description format="asciidoc"> + Make `namedLogger` more discoverable. + </description> +</entry> diff --git a/log4j-api-kotlin-sample/src/site/asciidoc/index.adoc b/src/changelog/1.1.0/.changelog.adoc.ftl similarity index 73% copy from log4j-api-kotlin-sample/src/site/asciidoc/index.adoc copy to src/changelog/1.1.0/.changelog.adoc.ftl index 8679a19..b916a36 100644 --- a/log4j-api-kotlin-sample/src/site/asciidoc/index.adoc +++ b/src/changelog/1.1.0/.changelog.adoc.ftl @@ -6,7 +6,7 @@ (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 + 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, @@ -14,14 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. //// -= Apache Log4j Kotlin API Samples -:toc: left -Log4j Kotlin API Samples provides samples that illustrate how to use the Log4j API for Kotlin. -//// -TODO: -* Apache logo -* License report -* Project links -* Dependency report -//// += ${release.version}<#if release.date?has_content> (${release.date})</#if> + +Changes staged for the next 1.x.x version that is yet to be released. + +<#include "../.changelog-entries.adoc.ftl"> diff --git a/src/changelog/1.1.0/.release.xml b/src/changelog/1.1.0/.release.xml new file mode 100644 index 0000000..1cfd6a2 --- /dev/null +++ b/src/changelog/1.1.0/.release.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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 date="2021-08-28" version="1.1.0"/> diff --git a/src/changelog/1.1.0/LOG4J2-2433_Support_MDCs_with_coroutines.xml b/src/changelog/1.1.0/LOG4J2-2433_Support_MDCs_with_coroutines.xml new file mode 100644 index 0000000..14e3136 --- /dev/null +++ b/src/changelog/1.1.0/LOG4J2-2433_Support_MDCs_with_coroutines.xml @@ -0,0 +1,10 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="added"> + <issue id="LOG4J2-2433" link="https://issues.apache.org/jira/browse/LOG4J2-2433"/> + <author id="rgupta"/> + <description format="asciidoc"> + Support MDCs with Kotlin coroutines. + </description> +</entry> diff --git a/src/changelog/1.1.0/LOG4J2-2518_Support_suspend_functions.xml b/src/changelog/1.1.0/LOG4J2-2518_Support_suspend_functions.xml new file mode 100644 index 0000000..b23ce88 --- /dev/null +++ b/src/changelog/1.1.0/LOG4J2-2518_Support_suspend_functions.xml @@ -0,0 +1,10 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="added"> + <issue id="LOG4J2-2518" link="https://issues.apache.org/jira/browse/LOG4J2-2518"/> + <author id="rgupta"/> + <description format="asciidoc"> + Support suspend functions in supplier lambdas. + </description> +</entry> diff --git a/src/changelog/1.1.0/LOG4J2-2843_Update_Kotlin_baseline_to_1.3.72.xml b/src/changelog/1.1.0/LOG4J2-2843_Update_Kotlin_baseline_to_1.3.72.xml new file mode 100644 index 0000000..698af04 --- /dev/null +++ b/src/changelog/1.1.0/LOG4J2-2843_Update_Kotlin_baseline_to_1.3.72.xml @@ -0,0 +1,10 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="changed"> + <issue id="LOG4J2-2843" link="https://issues.apache.org/jira/browse/LOG4J2-2843"/> + <author id="rgupta"/> + <description format="asciidoc"> + Update Kotlin baseline version to 1.3.72. + </description> +</entry> diff --git a/log4j-api-kotlin-sample/src/site/asciidoc/index.adoc b/src/changelog/1.2.0/.changelog.adoc.ftl similarity index 73% rename from log4j-api-kotlin-sample/src/site/asciidoc/index.adoc rename to src/changelog/1.2.0/.changelog.adoc.ftl index 8679a19..b916a36 100644 --- a/log4j-api-kotlin-sample/src/site/asciidoc/index.adoc +++ b/src/changelog/1.2.0/.changelog.adoc.ftl @@ -6,7 +6,7 @@ (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 + 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, @@ -14,14 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. //// -= Apache Log4j Kotlin API Samples -:toc: left -Log4j Kotlin API Samples provides samples that illustrate how to use the Log4j API for Kotlin. -//// -TODO: -* Apache logo -* License report -* Project links -* Dependency report -//// += ${release.version}<#if release.date?has_content> (${release.date})</#if> + +Changes staged for the next 1.x.x version that is yet to be released. + +<#include "../.changelog-entries.adoc.ftl"> diff --git a/src/changelog/1.2.0/.release.xml b/src/changelog/1.2.0/.release.xml new file mode 100644 index 0000000..4afac69 --- /dev/null +++ b/src/changelog/1.2.0/.release.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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 date="2021-12-20" version="1.2.0"/> diff --git a/src/changelog/1.2.0/LOG4J2-3218_Update_Log4j_baseline.xml b/src/changelog/1.2.0/LOG4J2-3218_Update_Log4j_baseline.xml new file mode 100644 index 0000000..3753114 --- /dev/null +++ b/src/changelog/1.2.0/LOG4J2-3218_Update_Log4j_baseline.xml @@ -0,0 +1,10 @@ +<entry xmlns="http://logging.apache.org/log4j/changelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd" + type="changed"> + <issue id="LOG4J2-3218" link="https://issues.apache.org/jira/browse/LOG4J2-3218"/> + <author id="rgupta"/> + <description format="asciidoc"> + Update Kotlin baseline version to 1.3.72. + </description> +</entry> diff --git a/src/changes/announcement.vm b/src/changes/announcement.vm deleted file mode 100644 index 5a14cdf..0000000 --- a/src/changes/announcement.vm +++ /dev/null @@ -1,90 +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. -#set($h1='#') -#set($h2='##') -#set($h3='###') -#set($relVersion=$announceParameters.releaseVersion) -#set($relCount=$announceParameters.releaseCount) -#macro(formatAction $item) -## Use replaceAll to fix up LF-only line ends on Windows. -## Also replace < and > with entity versions to avoid HTML being misinterpreted. - #set($action=$item.action.replaceAll("\n"," -").replaceAll("<", "<").replaceAll(">", ">")) - #if($item.issue) - #set($issue = $item.issue) - #set($url = "https://issues.apache.org/jira/browse/$issue") - #else - #set($issue = "") - #end -* #if($issue)[$issue]($url):#end - - ${action}#if($item.dueTo) Thanks to ${item.dueTo}.#end - -#end -## ----------------------------------------- -$h1 Apache Log4j ${relVersion} Release Notes - -The ${developmentTeam} is pleased to announce the Log4j Audit ${relVersion} release! - -Apache Log4j Audit is a framework for performing - -## Hack to improve layout: replace all pairs of spaces with a single new-line -$h2 $release.description.replaceAll(" ", " -") - -#if ($release.actions.size() == 0) -No changes defined in this version. -#else -Changes in this version include: - - #if ($release.getActions('add').size() !=0) - $h3 New Features - #foreach($actionItem in $release.getActions('add')) - #formatAction($actionItem) - #end - #end - - #if ($release.getActions('fix').size() !=0) - $h3 Fixed Bugs - #foreach($actionItem in $release.getActions('fix')) - #formatAction($actionItem) - #end - #end - - #if ($release.getActions('update').size() !=0) - $h3 Changes - #foreach($actionItem in $release.getActions('update')) - #formatAction($actionItem) - #end - #end - - #if ($release.getActions('remove').size() !=0) - $h3 Removed - #foreach($actionItem in $release.getActions('remove')) - #formatAction($actionItem) - #end - #end -## End of main loop -#end ---- - -Apache Log4j Kotlin API ${relVersion} requires a minimum of Java 8 to build and run. - -For complete information on ${project.name}, including instructions on how to submit bug -reports, patches, or suggestions for improvement, see the Apache ${project.name} website: - -${project.url} diff --git a/src/changes/changes.xml b/src/changes/changes.xml deleted file mode 100644 index 4f7afa3..0000000 --- a/src/changes/changes.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- vi: set sw=2: --> -<!-- - 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. ---> -<document xmlns="http://maven.apache.org/changes/1.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> - <properties> - <title>Changes</title> - </properties> - <body> - <!-- NOTE: the text node in an action element is interpreted as Markdown in the release notes! --> - <!-- The "type" attribute can have the following values: - - "add" - New Feature - - "fix" - Fixed Bug - - "update" - Change - - "remove" - Removed - --> - <release version="1.3.0" date="2023-??-??" description="Release 1.3.0"> - <action issue="GH-30" dev="mattsicker" type="add"> - Add facade APIs for manipulating the context map and stack. - </action> - <action issue="GH-29" dev="mattsicker" type="add"> - Add an extension property for storing a cached logger. - </action> - <action issue="GH-28" dev="mattsicker" type="update" due-to="u-ways"> - Update Log4j dependency to 2.19.0. - </action> - </release> - <release version="1.2.0" date="2021-12-20" description="Release 1.2.0"> - <action issue="LOG4J2-3218" dev="rgupta" type="update"> - Update Log4j dependency to 2.17.0. Includes dependency updates to resolve - CVE-2021-44228, CVE-2021-45046, and CVE-2021-45105. - </action> - </release> - <release version="1.1.0" date="2021-08-28" description="Release 1.1.0"> - <action issue="LOG4J2-2433" dev="rgupta" type="add"> - Support MDCs with Kotlin coroutines. - </action> - <action issue="LOG4J2-2518" dev="rgupta" type="add"> - Support suspend functions in supplier lambdas. - </action> - <action issue="LOG4J2-2843" dev="rgupta" type="update"> - Update Kotlin baseline version to 1.3.72. - </action> - </release> - <release version="1.0.0" date="2018-11-03" description="Release 1.0.0"> - <action issue="LOG4J2-1705" dev="mattsicker" type="add" due-to="Raman Gupta"> - Create Kotlin wrapper API for Log4j. - </action> - <action issue="LOG4J2-2432" dev="mattsicker" type="update" due-to="Raman Gupta"> - Make `namedLogger` more discoverable. - </action> - </release> - </body> -</document> diff --git a/src/site/asciidoc/build.adoc b/src/site/asciidoc/build.adoc index cf7eca5..6f34b90 100644 --- a/src/site/asciidoc/build.adoc +++ b/src/site/asciidoc/build.adoc @@ -22,5 +22,5 @@ If your goal is to add logging to your application, then you can use the link:bu .Building [source,bash] ---- -mvn package +mvn ----
