blob: 3dd6558a1c20bc9ab2ac06c6e3e53615a4e3862c [file] [log] [blame]
<?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.
-->
<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 https://maven.apache.org/maven-v4_0_0.xsd">
<!-- ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
Log4j project modules should use `log4j-parent` as their parents, not this POM!
This POM constitutes the BOM to be imported by applications using Log4j project modules. -->
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.logging</groupId>
<artifactId>logging-parent</artifactId>
<version>10.1.1</version>
<relativePath />
</parent>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<name>Apache Log4j BOM</name>
<description>Apache Log4j Bill-of-Materials</description>
<url>https://logging.apache.org/log4j/2.x/</url>
<inceptionYear>1999</inceptionYear>
<developers>
<developer>
<id>rgoers</id>
<name>Ralph Goers</name>
<email>rgoers@apache.org</email>
<organization>Nextiva</organization>
<roles>
<role>PMC Member</role>
</roles>
<timezone>America/Phoenix</timezone>
</developer>
<developer>
<id>ggregory</id>
<name>Gary Gregory</name>
<email>ggregory@apache.org</email>
<url>https://www.garygregory.com</url>
<organization>The Apache Software Foundation</organization>
<organizationUrl>https://www.apache.org/</organizationUrl>
<roles>
<role>PMC Member</role>
</roles>
<timezone>America/New_York</timezone>
</developer>
<developer>
<id>sdeboy</id>
<name>Scott Deboy</name>
<email>sdeboy@apache.org</email>
<roles>
<role>PMC Member</role>
</roles>
<timezone>America/Los_Angeles</timezone>
</developer>
<developer>
<id>rpopma</id>
<name>Remko Popma</name>
<email>rpopma@apache.org</email>
<roles>
<role>PMC Member</role>
</roles>
<timezone>Asia/Tokyo</timezone>
</developer>
<developer>
<id>nickwilliams</id>
<name>Nick Williams</name>
<email>nickwilliams@apache.org</email>
<roles>
<role>PMC Member</role>
</roles>
<timezone>America/Chicago</timezone>
</developer>
<developer>
<id>mattsicker</id>
<name>Matt Sicker</name>
<email>mattsicker@apache.org</email>
<organization>Apple</organization>
<roles>
<role>PMC Member</role>
</roles>
<timezone>America/Chicago</timezone>
</developer>
<developer>
<id>bbrouwer</id>
<name>Bruce Brouwer</name>
<email>bruce.brouwer@gmail.com</email>
<roles>
<role>Committer</role>
</roles>
<timezone>America/Detroit</timezone>
</developer>
<developer>
<id>rgupta</id>
<name>Raman Gupta</name>
<email>rgupta@apache.org</email>
<roles>
<role>Committer</role>
</roles>
<timezone>Asia/Kolkata</timezone>
</developer>
<developer>
<id>mikes</id>
<name>Mikael Ståldal</name>
<email>mikes@apache.org</email>
<organization>Spotify</organization>
<roles>
<role>PMC Member</role>
</roles>
<timezone>Europe/Stockholm</timezone>
</developer>
<developer>
<id>ckozak</id>
<name>Carter Kozak</name>
<email>ckozak@apache.org</email>
<url>https://github.com/carterkozak</url>
<roles>
<role>PMC Member</role>
</roles>
<timezone>America/New York</timezone>
</developer>
<developer>
<id>vy</id>
<name>Volkan Yazıcı</name>
<email>vy@apache.org</email>
<roles>
<role>PMC Chair</role>
</roles>
<timezone>Europe/Amsterdam</timezone>
</developer>
<developer>
<id>rgrabowski</id>
<name>Ron Grabowski</name>
<email>rgrabowski@apache.org</email>
<roles>
<role>PMC Member</role>
</roles>
<timezone>America/New_York</timezone>
</developer>
<developer>
<id>pkarwasz</id>
<name>Piotr P. Karwasz</name>
<email>pkarwasz@apache.org</email>
<roles>
<role>PMC Member</role>
</roles>
<timezone>Europe/Warsaw</timezone>
</developer>
<developer>
<id>grobmeier</id>
<name>Christian Grobmeier</name>
<email>grobmeier@apache.org</email>
<roles>
<role>PMC Member</role>
</roles>
<timezone>Europe/Berlin</timezone>
</developer>
</developers>
<mailingLists>
<mailingList>
<name>log4j-user</name>
<subscribe>log4j-user-subscribe@logging.apache.org</subscribe>
<unsubscribe>log4j-user-unsubscribe@logging.apache.org</unsubscribe>
<post>log4j-user@logging.apache.org</post>
<archive>https://lists.apache.org/list.html?log4j-user@logging.apache.org</archive>
</mailingList>
<mailingList>
<name>dev</name>
<subscribe>dev-subscribe@logging.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@logging.apache.org</unsubscribe>
<post>dev@logging.apache.org</post>
<archive>https://lists.apache.org/list.html?dev@logging.apache.org</archive>
</mailingList>
<mailingList>
<name>security</name>
<subscribe>security-subscribe@logging.apache.org</subscribe>
<unsubscribe>security-unsubscribe@logging.apache.org</unsubscribe>
<post>security@logging.apache.org</post>
<archive>https://lists.apache.org/list.html?security@logging.apache.org</archive>
</mailingList>
</mailingLists>
<modules>
<!-- the parent POM must come first: -->
<module>log4j-parent</module>
<!-- Next unpublished modules in alphabetical order: -->
<module>log4j-api-java9</module>
<module>log4j-core-java9</module>
<!-- Last comes the rest of the modules in alphabetical order.
Note that modules here must have a corresponding entry in `dependencyManagement > dependencies` block below! -->
<module>log4j-1.2-api</module>
<module>log4j-api</module>
<module>log4j-api-test</module>
<module>log4j-appserver</module>
<module>log4j-cassandra</module>
<module>log4j-core</module>
<module>log4j-core-its</module>
<module>log4j-core-test</module>
<module>log4j-couchdb</module>
<module>log4j-docker</module>
<module>log4j-flume-ng</module>
<module>log4j-iostreams</module>
<module>log4j-jakarta-smtp</module>
<module>log4j-jakarta-web</module>
<module>log4j-jcl</module>
<module>log4j-jpa</module>
<module>log4j-jpl</module>
<module>log4j-jdbc-dbcp2</module>
<module>log4j-jul</module>
<module>log4j-kubernetes</module>
<module>log4j-layout-template-json</module>
<module>log4j-layout-template-json-test</module>
<module>log4j-mongodb3</module>
<module>log4j-mongodb4</module>
<module>log4j-osgi</module>
<module>log4j-perf</module>
<module>log4j-slf4j-impl</module>
<module>log4j-slf4j2-impl</module>
<module>log4j-spring-boot</module>
<module>log4j-spring-cloud-config</module>
<module>log4j-taglib</module>
<module>log4j-to-slf4j</module>
<module>log4j-to-jul</module>
<module>log4j-web</module>
</modules>
<scm>
<connection>scm:git:https://github.com/apache/logging-log4j2.git</connection>
<developerConnection>scm:git:https://github.com/apache/logging-log4j2.git</developerConnection>
<tag>2.x</tag>
<url>https://github.com/apache/logging-log4j2</url>
</scm>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/apache/logging-log4j2/issues</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>https://github.com/apache/logging-log4j2/actions</url>
</ciManagement>
<distributionManagement>
<!-- `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>
<downloadUrl>https://logging.apache.org/log4j/2.x/download.html</downloadUrl>
<!-- `repository` from ASF parent POM (id: apache.releases.https) -->
<!-- `snapshotRepository` from ASF parent POM (id: apache.snapshots.https) -->
</distributionManagement>
<properties>
<!-- project version -->
<revision>2.21.0-SNAPSHOT</revision>
<!-- =================
Common properties
================= -->
<manifestfile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestfile>
<maven.compiler.release>8</maven.compiler.release>
<maven.compiler.target>${maven.compiler.release}</maven.compiler.target>
<!-- JDK version of the main Maven process (used in ASF parent POM) -->
<minimalJavaBuildVersion>[11,12)</minimalJavaBuildVersion>
<docLabel>Site Documentation</docLabel>
<projectDir />
<module.name />
<!-- TODO: fix errors and re-enable SpotBugs -->
<spotbugs.skip>true</spotbugs.skip>
<!-- ========================
Site-specific properties
======================== -->
<!-- `maven-javadoc-plugin` is only used to generate Javadoc HTML used in the website.
We don't deploy any Javadoc JARs.
We also don't generate Javadoc HTML for all modules, but only for two modules: `log4j-api` and `log4j-core`. -->
<javadoc.doclint>all,-missing,-html</javadoc.doclint>
<javadoc.skip>true</javadoc.skip>
<!-- Skipping `maven-site-plugin` globally.
It is manually enabled only for this root 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)
================================================= -->
<docker-maven-plugin.version>0.43.4</docker-maven-plugin.version>
<exam-maven-plugin.version>4.13.5</exam-maven-plugin.version>
<maven-taglib-plugin.version>2.4</maven-taglib-plugin.version>
<!-- `surefire.version` property used in `apache.org:apache`: -->
<surefire.version>3.1.2</surefire.version>
<!-- =====================================================
Direct dependency version properties (in alphabetical order)
===================================================== -->
<activemq.version>5.17.4</activemq.version>
<angus-activation.version>2.0.1</angus-activation.version>
<angus-mail.version>2.0.2</angus-mail.version>
<assertj.version>3.24.2</assertj.version>
<awaitility.version>4.2.0</awaitility.version>
<bsh.version>2.0b6</bsh.version>
<cassandra.version>3.11.16</cassandra.version>
<cassandra-driver.version>3.11.5</cassandra-driver.version>
<commons-codec.version>1.15</commons-codec.version>
<commons-compress.version>1.24.0</commons-compress.version>
<commons-csv.version>1.10.0</commons-csv.version>
<commons-dbcp2.version>2.9.0</commons-dbcp2.version>
<commons-io.version>2.11.0</commons-io.version>
<commons-lang3.version>3.13.0</commons-lang3.version>
<commons-logging.version>1.2</commons-logging.version>
<!-- `com.conversantmedia:disruptor` version 1.2.16 requires Java 9: -->
<conversant.disruptor.version>1.2.15</conversant.disruptor.version>
<disruptor.version>3.4.4</disruptor.version>
<elasticsearch.version>7.17.13</elasticsearch.version>
<embedded-ldap.version>0.9.0</embedded-ldap.version>
<felix.version>7.0.5</felix.version>
<flapdoodle-embed.version>4.7.1</flapdoodle-embed.version>
<flapdoodle-reverse.version>1.6.0</flapdoodle-reverse.version>
<flume.version>1.11.0</flume.version>
<groovy.version>3.0.19</groovy.version>
<guava.version>32.1.2-jre</guava.version>
<h2.version>2.2.224</h2.version>
<hadoop.version>1.2.1</hadoop.version>
<hamcrest.version>2.2</hamcrest.version>
<HdrHistogram.version>2.1.12</HdrHistogram.version>
<hsqldb.version>2.7.2</hsqldb.version>
<jackson-bom.version>2.15.2</jackson-bom.version>
<!-- Override the version in Jakarta EE 9 BOM: -->
<jakarta-activation.version>2.1.2</jakarta-activation.version>
<jakarta-mail.version>2.1.2</jakarta-mail.version>
<!-- BOM with Jakarta EE 9 APIs: -->
<jakartaee-bom.version>9.1.0</jakartaee-bom.version>
<!-- No BOM for Java EE 8 APIs, so we list them separately: -->
<javax-activation.version>1.2.0</javax-activation.version>
<javax-inject.version>1</javax-inject.version>
<javax-jms.version>2.0.1</javax-jms.version>
<javax-mail.version>1.6.2</javax-mail.version>
<javax-persistence.version>2.2</javax-persistence.version>
<javax-servlet.version>4.0.1</javax-servlet.version>
<javax-servlet-jsp.version>2.3.3</javax-servlet-jsp.version>
<jansi.version>2.4.0</jansi.version>
<java-allocation-instrumenter.version>3.3.3</java-allocation-instrumenter.version>
<jconsole.version>1.7.0</jconsole.version>
<jctools.version>4.0.1</jctools.version>
<je.version>18.3.12</je.version>
<jeromq.version>0.5.4</jeromq.version>
<jetty.version>9.4.52.v20230823</jetty.version>
<jmdns.version>3.5.8</jmdns.version>
<jmh.version>1.37</jmh.version>
<json-unit.version>2.38.0</json-unit.version>
<junit.version>4.13.2</junit.version>
<junit-jupiter.version>5.10.0</junit-jupiter.version>
<junit-pioneer.version>1.9.1</junit-pioneer.version>
<kafka.version>3.4.0</kafka.version>
<kubernetes-client.version>5.12.4</kubernetes-client.version>
<lightcouch.version>0.2.0</lightcouch.version>
<log4j.version>1.2.17</log4j.version>
<log4j2-cachefile-transformer.version>2.15.0</log4j2-cachefile-transformer.version>
<log4j2-ecs-layout.version>1.5.0</log4j2-ecs-layout.version>
<logback.version>1.2.12</logback.version>
<maven.version>3.9.0</maven.version>
<mockito.version>4.11.0</mockito.version>
<mongodb.version>4.10.2</mongodb.version>
<netty.version>4.1.97.Final</netty.version>
<org.eclipse.osgi.version>3.13.0.v20180226-1711</org.eclipse.osgi.version>
<org.eclipse.persistence.version>2.7.11</org.eclipse.persistence.version>
<oro.version>2.0.8</oro.version>
<!-- The OSGi API version MUST always be the MINIMUM version Log4j supports: -->
<osgi.api.version>6.0.0</osgi.api.version>
<pax-exam.version>4.13.5</pax-exam.version>
<plexus-utils.version>3.5.0</plexus-utils.version>
<slf4j.version>1.7.36</slf4j.version>
<spring-boot.version>2.7.16</spring-boot.version>
<spring-framework.version>5.3.30</spring-framework.version>
<system-stubs.version>2.0.2</system-stubs.version>
<tomcat-juli.version>10.0.27</tomcat-juli.version>
<velocity.version>1.7</velocity.version>
<wiremock.version>2.35.1</wiremock.version>
<woodstox.version>6.5.1</woodstox.version>
<xmlunit.version>2.9.1</xmlunit.version>
<xz.version>1.9</xz.version>
<!-- =====================================================
Pinned transitive dependency version properties (in alphabetical order)
These are not directly used in the code, but ensure
the independence of transitive dependencies from the order
of dependencies (requireUpperBoundDeps rule).
===================================================== -->
<asm.version>9.6</asm.version>
<byte-buddy.version>1.14.8</byte-buddy.version>
<commons-httpclient.version>3.1</commons-httpclient.version>
<commons-pool2.version>2.11.1</commons-pool2.version>
<httpclient.version>4.5.14</httpclient.version>
<httpcore.version>4.4.16</httpcore.version>
<jna.version>5.13.0</jna.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api-test</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-appserver</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-cassandra</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core-test</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-couchdb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-docker</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-flume-ng</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-iostreams</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jakarta-smtp</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jakarta-web</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jmx-gui</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jpa</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jpl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jul</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-kubernetes</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-layout-template-json</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-mongodb3</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-mongodb4</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-spring-boot</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-spring-cloud-config-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-taglib</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-jul</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-baseline-maven-plugin</artifactId>
<version>${bnd-maven-plugin.version}</version>
<executions>
<execution>
<id>baseline</id>
<goals>
<goal>baseline</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Enable BOM flattening -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin.version}</version>
<executions>
<execution>
<id>flatten-bom</id>
<goals>
<goal>flatten</goal>
</goals>
<phase>process-resources</phase>
<inherited>false</inherited>
<configuration>
<pomElements>
<build>remove</build>
<!-- Keep the `parent`!
This is a temporary fix and can be removed with the next `logging-parent` release fixing https://github.com/apache/logging-parent/issues/37 -->
<parent>keep</parent>
</pomElements>
</configuration>
</execution>
</executions>
</plugin>
<!-- Apache RAT (Release Audit Tool) check to verify licenses.
`apache-rat-plugin`: https://creadur.apache.org/rat/apache-rat-plugin/
Release Audit Tool: https://creadur.apache.org/rat/index.html -->
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<consoleOutput>true</consoleOutput>
<excludes combine.children="append">
<!-- Matches other RAT configurations in this POM -->
<exclude>src/main/resources/META-INF/services/**/*</exclude>
<exclude>src/test/resources/**/*</exclude>
<!-- IDE settings imports -->
<exclude>src/ide/**</exclude>
<!-- jQuery is MIT-licensed, but RAT can't figure it out -->
<exclude>src/site/resources/js/jquery.js</exclude>
<exclude>src/site/resources/js/jquery.min.js</exclude>
<!-- Generated files -->
<exclude>**/.toDelete</exclude>
<exclude>velocity.log</exclude>
<!-- Other -->
<exclude>felix-cache/**</exclude>
<exclude>**/README.md</exclude>
<exclude>SECURITY.md</exclude>
<exclude>**/*.yml</exclude>
<exclude>**/*.yaml</exclude>
<exclude>**/*.json</exclude>
<excllude>**/images/*.drawio</excllude>
<exclude>**/fluent-bit.conf</exclude>
<exclude>**/rabbitmq.config</exclude>
<exclude>**/MANIFEST.MF</exclude>
<exclude>.surefire-*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkCount>1C</forkCount>
<reuseForks>false</reuseForks>
<runOrder>alphabetical</runOrder>
<systemPropertyVariables>
<java.awt.headless>true</java.awt.headless>
</systemPropertyVariables>
</configuration>
</plugin>
<!-- ███████ ████████ █████ ██████ ████████ ███████ ██ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███████ ██ ███████ ██████ ██ ███████ ██ ██ █████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███████ ██ ██ ██ ██ ██ ██ ███████ ██ ██ ███████
This section consists of plugins responsible for generating the site.
Note that only this (i.e., the parent) module is supposed to have a `site` goal, it is skipped for all other modules! -->
<!-- Define `currentYear` property used while generating the site -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>define-currentYear-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<phase>pre-site</phase>
<inherited>false</inherited>
<configuration>
<name>currentYear</name>
<pattern>yyyy</pattern>
<locale>en_US</locale>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>generate-site-javadoc</id>
<goals>
<goal>javadoc-no-fork</goal>
</goals>
<phase>pre-site</phase>
<!-- This execution must be inherited and enabled by modules publishing javadocs: `-api` and `-core`.
Such modules enable this execution via `javadoc.skip` property.
Hence, don't insert a `<inherited>false</inherited>`, please! -->
<configuration combine.self="override">
<!-- `notimestamp` avoids `diff` noise and is required for reproducible builds: https://maven.apache.org/guides/mini/guide-reproducible-builds.html -->
<notimestamp>true</notimestamp>
<skip>${javadoc.skip}</skip>
<bottom><![CDATA[<p align="center">
Copyright &copy; {inceptionYear}-{currentYear} {organizationName}.
All Rights Reserved.<br/>
Apache Logging, Apache Log4j, Log4j, 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>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<!-- Copy `src/site/_release-notes` to `src/site/asciidoc/_release-notes`.
This is necessary since `logging-parent` version `<=10.1.1` exports changelogs to `src/site/_release-notes`.
Though `maven-site-plugin` expects them to be at `src/site/asciidoc/_release-notes`.
We could have simply solved the problem using symbolic links.
Though they are not supported by Java's `ZipEntry`, and hence, breaking the `distribution` profile while creating `src.zip`. -->
<execution>
<id>copy-exported-release-notes</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>pre-site</phase>
<inherited>false</inherited>
<configuration>
<outputDirectory>${project.build.directory}/generated-sources/site/asciidoc/_release-notes</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/site/_release-notes</directory>
</resource>
</resources>
</configuration>
</execution>
<!-- Copy `src/site` to `target/generated-sources/site` -->
<execution>
<id>copy-site</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>pre-site</phase>
<inherited>false</inherited>
<configuration>
<outputDirectory>${project.build.directory}/generated-sources/site</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/site</directory>
<excludes>
<exclude>/_release-notes/*</exclude>
<exclude>/_release-notes.adoc</exclude>
<exclude>/resources/glyphicons-halflings-2-1.zip</exclude>
<exclude>/resources/logo/**/*</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
<!-- Copy `target/site/apidocs` to the parent module's `target/site/javadoc/<artifactId>` folder -->
<execution>
<id>copy-javadoc</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>site</phase>
<!-- This execution must be inherited and enabled by modules publishing javadocs: `-api` and `-core`.
Such modules enable this execution via `javadoc.skip` property.
Hence, don't insert a `<inherited>false</inherited>`, please! -->
<configuration>
<skip>${javadoc.skip}</skip>
<outputDirectory>${maven.multiModuleProjectDirectory}/target/site/javadoc/${project.artifactId}</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/site/apidocs</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- copy `src/site/_release-notes.adoc` to `target/site/asciidoc/release-notes.adoc` -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>copy-release-notes-adoc</id>
<goals>
<goal>run</goal>
</goals>
<phase>generate-sources</phase>
<inherited>false</inherited>
<configuration>
<target>
<copy file="${project.basedir}/src/site/_release-notes.adoc" overwrite="true" tofile="${project.build.directory}/generated-sources/site/asciidoc/release-notes.adoc" />
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<executions>
<execution>
<id>team-list</id>
<goals>
<goal>team</goal>
</goals>
<phase>site</phase>
<inherited>false</inherited>
</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>
<locales>en</locales>
<!-- Exclude the navigation file for Maven 1 sites as it interferes with the site generation. -->
<moduleExcludes>
<xdoc>navigation.xml</xdoc>
</moduleExcludes>
<attributes>
<Log4jReleaseVersion>${revision}</Log4jReleaseVersion>
</attributes>
</configuration>
<dependencies>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>${asciidoctor-maven-plugin.version}</version>
</dependency>
</dependencies>
</plugin>
<!-- We (sadly) use `maven-site-plugin`, which handles AsciiDoc files.
Hence, skip the `asciidoctor-maven-plugin` redundant execution inherited from the parent. -->
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<executions>
<execution>
<id>export-asciidoc-to-html</id>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
<!-- ███████ ███ ██ ██████ ███████ ██ ████████ ███████
██ ████ ██ ██ ██ ██ ██ ██ ██ ██
█████ ██ ██ ██ ██ ██ ███████ ██ ██ █████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███████ ██ ████ ██████ ███████ ██ ██ ███████ -->
</plugins>
</build>
<profiles>
<profile>
<id>java8-doclint-disabled</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<properties>
<doclint>${javadoc.doclint}</doclint>
</properties>
</profile>
<profile>
<id>java8-tests</id>
<activation>
<property>
<name>env.CI</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<jdkToolchain>
<version>[1.8, 9)</version>
</jdkToolchain>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>sequential-tests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkCount>1</forkCount>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>