log4j
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j</artifactId> <version>3.0.0-alpha1</version> </dependency>
<?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 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache.logging</groupId> <artifactId>logging-parent</artifactId> <version>9</version> <relativePath /> </parent> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j</artifactId> <version>3.0.0-alpha1</version> <packaging>pom</packaging> <name>Apache Log4j 2</name> <description>Apache Log4j 2</description> <url>https://logging.apache.org/log4j/3.x/</url> <inceptionYear>1999</inceptionYear> <!-- 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>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> </mailingLists> <!-- Modules in alphabetical order: --> <modules> <module>log4j-1.2-api</module> <module>log4j-api</module> <module>log4j-api-test</module> <module>log4j-appserver</module> <module>log4j-bom</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-csv</module> <!-- `log4j-distribution` is excluded to speed up the build. It is only needed while creating a release. It is enabled by the `apache-release` profile defined below. --> <module>log4j-docker</module> <module>log4j-flume-ng</module> <module>log4j-gctests</module> <module>log4j-iostreams</module> <module>log4j-jakarta-smtp</module> <module>log4j-jakarta-web</module> <module>log4j-jcl</module> <module>log4j-jdbc</module> <module>log4j-jdbc-dbcp2</module> <module>log4j-jeromq</module> <module>log4j-jms</module> <module>log4j-jmx-gui</module> <module>log4j-jndi</module> <module>log4j-jndi-test</module> <module>log4j-jpa</module> <module>log4j-jpl</module> <module>log4j-jul</module> <module>log4j-kafka</module> <module>log4j-kubernetes</module> <module>log4j-layout-jackson</module> <module>log4j-layout-jackson-json</module> <module>log4j-layout-jackson-xml</module> <module>log4j-layout-jackson-yaml</module> <module>log4j-layout-template-json</module> <module>log4j-layout-template-json-test</module> <module>log4j-liquibase</module> <module>log4j-mongodb3</module> <module>log4j-mongodb4</module> <module>log4j-osgi</module> <module>log4j-perf</module> <module>log4j-plugin-processor</module> <module>log4j-plugins</module> <module>log4j-plugins-test</module> <module>log4j-script</module> <module>log4j-slf4j2-impl</module> <module>log4j-slf4j-impl</module> <module>log4j-smtp</module> <module>log4j-spring-boot</module> <module>log4j-spring-cloud-config</module> <module>log4j-taglib</module> <module>log4j-to-jul</module> <module>log4j-to-slf4j</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>log4j-3.0.0-alpha1-rc2</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> <!-- =========================== Release-specific properties =========================== --> <log4jParentDir>${basedir}</log4jParentDir> <log4jReleaseVersion>3.0.0-alpha1</log4jReleaseVersion> <log4jReleaseManager>Ralph Goers</log4jReleaseManager> <log4jReleaseKey>B3D8E1BA</log4jReleaseKey> <log4jSigningUserName>rgoers@apache.org</log4jSigningUserName> <!-- ================= Common properties ================= --> <manifestfile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestfile> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <maven.compiler.release>11</maven.compiler.release> <maven.compiler.parameters>true</maven.compiler.parameters> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- Fixed `project.build.outputTimestamp` is required for reproducible builds: https://maven.apache.org/guides/mini/guide-reproducible-builds.html --> <project.build.outputTimestamp>1687047644</project.build.outputTimestamp> <docLabel>Site Documentation</docLabel> <projectDir /> <module.name /> <!-- ======================== 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.skip>true</javadoc.skip> <!-- 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) ================================================= --> <asciidoctor-maven-plugin.version>2.2.4</asciidoctor-maven-plugin.version> <build-helper-maven-plugin.version>3.3.0</build-helper-maven-plugin.version> <checksum-maven-plugin.version>1.11</checksum-maven-plugin.version> <docker-maven-plugin.version>0.40.2</docker-maven-plugin.version> <exam-maven-plugin.version>4.13.5</exam-maven-plugin.version> <findsecbugs-plugin.version>1.12.0</findsecbugs-plugin.version> <log4j-tools.version>0.3.0</log4j-tools.version> <maven-artifact-plugin.version>3.4.0</maven-artifact-plugin.version> <maven-bundle-plugin.version>5.1.8</maven-bundle-plugin.version> <maven-checkstyle-plugin.version>3.2.0</maven-checkstyle-plugin.version> <maven-dependency-plugin.version>3.3.0</maven-dependency-plugin.version> <maven-pmd-plugin.version>3.19.0</maven-pmd-plugin.version> <maven-scm-plugin.version>1.12.2</maven-scm-plugin.version> <maven-source-plugin.version>3.2.1</maven-source-plugin.version> <maven-taglib-plugin.version>2.4</maven-taglib-plugin.version> <rewrite-maven-plugin.version>5.0.0</rewrite-maven-plugin.version> <spotbugs-maven-plugin.version>4.7.2.1</spotbugs-maven-plugin.version> <!-- `surefire.version` property used in `apache.org:apache`: --> <surefire.version>3.0.0-M7</surefire.version> <!-- Maven site depends on Velocity and the escaping rules are different in newer versions. --> <!-- See https://maven.apache.org/plugins/maven-site-plugin/migrate.html --> <velocity.plugin.version>1.5</velocity.plugin.version> <xml-maven-plugin.version>1.0.2</xml-maven-plugin.version> <!-- ===================================================== Dependency version properties (in alphabetical order) ===================================================== --> <activemq.version>5.18.1</activemq.version> <angus-activation.version>2.0.0</angus-activation.version> <angus-mail.version>2.0.1</angus-mail.version> <assertj.version>3.23.1</assertj.version> <awaitility.version>4.2.0</awaitility.version> <bsh.version>2.0b6</bsh.version> <cassandra.version>3.11.14</cassandra.version> <cassandra-driver.version>3.11.3</cassandra-driver.version> <commons-codec.version>1.15</commons-codec.version> <commons-compress.version>1.22</commons-compress.version> <commons-csv.version>1.9.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.12.0</commons-lang3.version> <commons-logging.version>1.2</commons-logging.version> <commons-pool2.version>2.11.1</commons-pool2.version> <conversant.disruptor.version>1.2.21</conversant.disruptor.version> <disruptor.version>3.4.4</disruptor.version> <elasticsearch.version>7.17.8</elasticsearch.version> <embedded-ldap.version>0.9.0</embedded-ldap.version> <embedded-mongo.version>3.5.1</embedded-mongo.version> <errorprone.version>2.7.1</errorprone.version> <felix.version>7.0.5</felix.version> <flume.version>1.11.0</flume.version> <graalvm.version>21.3.0</graalvm.version> <groovy.version>4.0.6</groovy.version> <guava.version>32.0.0-jre</guava.version> <h2.version>2.1.214</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.14.1</jackson-bom.version> <!-- Override the version in Jakarta EE 9 BOM --> <jakarta-activation.version>2.1.1</jakarta-activation.version> <jakarta-mail.version>2.1.1</jakarta-mail.version> <!-- BOM with Jakarta EE 9 APIs: --> <jakartaee-bom.version>9.0.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-jaxb.version>2.3.1</javax-jaxb.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.0</java-allocation-instrumenter.version> <jctools.version>3.3.0</jctools.version> <je.version>18.3.12</je.version> <jeromq.version>0.5.3</jeromq.version> <jetty.version>9.4.50.v20221201</jetty.version> <jmdns.version>3.5.8</jmdns.version> <jmh.version>1.36</jmh.version> <jna.version>5.12.1</jna.version> <json-unit.version>2.36.0</json-unit.version> <junit.version>4.13.2</junit.version> <junit-jupiter.version>5.9.1</junit-jupiter.version> <junit-pioneer.version>1.9.1</junit-pioneer.version> <kafka.version>1.1.1</kafka.version> <kubernetes-client.version>5.12.2</kubernetes-client.version> <lightcouch.version>0.2.0</lightcouch.version> <!-- Liquibase 3.6.0 to 4.3.2 breaks binary compatibility: --> <liquibase.version>3.5.5</liquibase.version> <log4j.version>1.2.17</log4j.version> <log4j2-custom-layout.version>1.1.0</log4j2-custom-layout.version> <log4j2-ecs-layout.version>1.5.0</log4j2-ecs-layout.version> <log4j2-logstash-layout.version>0.18</log4j2-logstash-layout.version> <logback.version>1.2.11</logback.version> <maven.version>3.8.6</maven.version> <mockito.version>4.11.0</mockito.version> <mongodb.version>4.9.0</mongodb.version> <nashorn.version>15.3</nashorn.version> <netty.version>4.1.86.Final</netty.version> <opentest4j.version>1.2.0</opentest4j.version> <org.eclipse.osgi.version>3.16.200</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.framework.version>1.10.0</osgi.framework.version> <osgi.resource.version>1.0.1</osgi.resource.version> <pax-exam.version>4.13.5</pax-exam.version> <plexus-utils.version>3.5.0</plexus-utils.version> <rewrite-java.version>8.0.0</rewrite-java.version> <rewrite-static-analysis.version>1.0.0</rewrite-static-analysis.version> <slf4j.version>1.7.36</slf4j.version> <spring-boot.version>2.7.10</spring-boot.version> <spring-framework.version>5.3.26</spring-framework.version> <system-stubs.version>2.0.2</system-stubs.version> <tomcat-juli.version>10.0.23</tomcat-juli.version> <velocity.version>1.7</velocity.version> <wiremock.version>2.35.0</wiremock.version> <woodstox.version>6.5.0</woodstox.version> <xmlunit.version>2.9.0</xmlunit.version> <xz.version>1.9</xz.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-bom</artifactId> <version>${project.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy-bom</artifactId> <version>${groovy.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>${jackson-bom.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-bom</artifactId> <version>${jakartaee-bom.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-bom</artifactId> <version>${jetty.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit-jupiter.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.fabric8</groupId> <artifactId>kubernetes-client-bom</artifactId> <version>${kubernetes-client.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-bom</artifactId> <version>${netty.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-framework-bom</artifactId> <version>${spring-framework.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jdbc</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-layout-jackson</artifactId> <version>${project.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-broker</artifactId> <version>${activemq.version}</version> </dependency> <dependency> <groupId>org.eclipse.angus</groupId> <artifactId>angus-activation</artifactId> <version>${angus-activation.version}</version> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${assertj.version}</version> </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> <version>${awaitility.version}</version> </dependency> <dependency> <groupId>org.apache-extras.beanshell</groupId> <artifactId>bsh</artifactId> <version>${bsh.version}</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>bson</artifactId> <version>${mongodb.version}</version> </dependency> <dependency> <groupId>org.apache.cassandra</groupId> <artifactId>cassandra-all</artifactId> <version>${cassandra.version}</version> </dependency> <dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId> <version>${cassandra-driver.version}</version> </dependency> <dependency> <groupId>org.apache.cassandra</groupId> <artifactId>cassandra-thrift</artifactId> <version>${cassandra.version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons-codec.version}</version> </dependency> <!-- Used for compressing to formats other than `zip` and `gz`: --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>${commons-compress.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>${commons-csv.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>${commons-dbcp2.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>${commons-logging.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>${commons-pool2.version}</version> </dependency> <dependency> <groupId>de.flapdoodle.embed</groupId> <artifactId>de.flapdoodle.embed.mongo</artifactId> <version>${embedded-mongo.version}</version> </dependency> <dependency> <groupId>com.conversantmedia</groupId> <artifactId>disruptor</artifactId> <version>${conversant.disruptor.version}</version> </dependency> <dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifactId> <version>${disruptor.version}</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>${elasticsearch.version}</version> </dependency> <dependency> <groupId>org.zapodot</groupId> <artifactId>embedded-ldap-junit</artifactId> <version>${embedded-ldap.version}</version> </dependency> <dependency> <groupId>org.apache.flume.flume-ng-channels</groupId> <artifactId>flume-file-channel</artifactId> <version>${flume.version}</version> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api-2.5</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-core</artifactId> <version>${flume.version}</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-embedded-agent</artifactId> <version>${flume.version}</version> <exclusions> <exclusion> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-node</artifactId> <version>${flume.version}</version> <exclusions> <exclusion> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-sdk</artifactId> <version>${flume.version}</version> <exclusions> <exclusion> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.guava</groupId> <!-- https://javadoc.io/doc/com.google.guava/guava-testlib/latest/com/google/common/testing/TestLogHandler.html used in log4j-to-jul tests --> <artifactId>guava-testlib</artifactId> <version>${guava.version}</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${h2.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>${hadoop.version}</version> <exclusions> <exclusion> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> </exclusion> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <version>${hamcrest.version}</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>${hamcrest.version}</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>${hamcrest.version}</version> </dependency> <dependency> <groupId>org.hdrhistogram</groupId> <artifactId>HdrHistogram</artifactId> <version>${HdrHistogram.version}</version> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>${hsqldb.version}</version> </dependency> <dependency> <groupId>jakarta.activation</groupId> <artifactId>jakarta.activation-api</artifactId> <version>${jakarta-activation.version}</version> </dependency> <dependency> <groupId>org.eclipse.angus</groupId> <artifactId>jakarta.mail</artifactId> <version>${angus-mail.version}</version> </dependency> <dependency> <groupId>jakarta.mail</groupId> <artifactId>jakarta.mail-api</artifactId> <version>${jakarta-mail.version}</version> </dependency> <dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>${jansi.version}</version> </dependency> <!-- Used for garbage-free tests: --> <dependency> <groupId>com.google.code.java-allocation-instrumenter</groupId> <artifactId>java-allocation-instrumenter</artifactId> <version>${java-allocation-instrumenter.version}</version> </dependency> <dependency> <groupId>com.sun.activation</groupId> <artifactId>javax.activation</artifactId> <version>${javax-activation.version}</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>javax.activation-api</artifactId> <version>${javax-activation.version}</version> </dependency> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>${javax-inject.version}</version> </dependency> <dependency> <groupId>javax.jms</groupId> <artifactId>javax.jms-api</artifactId> <version>${javax-jms.version}</version> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>${javax-mail.version}</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <version>${javax-mail.version}</version> </dependency> <dependency> <groupId>javax.persistence</groupId> <artifactId>javax.persistence-api</artifactId> <version>${javax-persistence.version}</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>${javax-servlet-jsp.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${javax-servlet.version}</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>${javax-jaxb.version}</version> </dependency> <dependency> <groupId>org.jctools</groupId> <artifactId>jctools-core</artifactId> <version>${jctools.version}</version> </dependency> <dependency> <groupId>com.sleepycat</groupId> <artifactId>je</artifactId> <version>${je.version}</version> </dependency> <dependency> <groupId>org.zeromq</groupId> <artifactId>jeromq</artifactId> <version>${jeromq.version}</version> </dependency> <!-- Zeroconf advertiser tests: --> <dependency> <groupId>org.jmdns</groupId> <artifactId>jmdns</artifactId> <version>${jmdns.version}</version> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${jmh.version}</version> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> <version>${jmh.version}</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> </dependency> <dependency> <groupId>net.javacrumbs.json-unit</groupId> <artifactId>json-unit</artifactId> <version>${json-unit.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> <dependency> <groupId>org.junit-pioneer</groupId> <artifactId>junit-pioneer</artifactId> <version>${junit-pioneer.version}</version> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>${kafka.version}</version> </dependency> <dependency> <groupId>org.lightcouch</groupId> <artifactId>lightcouch</artifactId> <version>${lightcouch.version}</version> </dependency> <dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>${liquibase.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!-- Tested as a legacy 2.x plugin: --> <dependency> <groupId>com.github.ivandzf</groupId> <artifactId>log4j2-custom-layout</artifactId> <version>${log4j2-custom-layout.version}</version> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </exclusion> </exclusions> </dependency> <!-- Used for testing `JsonTemplateLayout`: --> <dependency> <groupId>co.elastic.logging</groupId> <artifactId>log4j2-ecs-layout</artifactId> <version>${log4j2-ecs-layout.version}</version> </dependency> <!-- Tested as a legacy 2.x plugin: --> <dependency> <groupId>com.vlkan.log4j2</groupId> <artifactId>log4j2-logstash-layout</artifactId> <version>${log4j2-logstash-layout.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> <version>${maven.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-inline</artifactId> <version>${mockito.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>${mockito.version}</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-legacy</artifactId> <version>${mongodb.version}</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>${mongodb.version}</version> </dependency> <dependency> <groupId>org.openjdk.nashorn</groupId> <artifactId>nashorn-core</artifactId> <version>${nashorn.version}</version> </dependency> <dependency> <groupId>org.opentest4j</groupId> <artifactId>opentest4j</artifactId> <version>${opentest4j.version}</version> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.framework</artifactId> <version>${felix.version}</version> </dependency> <dependency> <groupId>org.eclipse.platform</groupId> <artifactId>org.eclipse.osgi</artifactId> <version>${org.eclipse.osgi.version}</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.jpa</artifactId> <version>${org.eclipse.persistence.version}</version> <exclusions> <!-- A copy of `javax.persistence:javax.persistence-api`: --> <exclusion> <groupId>org.eclipse.persistence</groupId> <artifactId>jakarta.persistence</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.framework</artifactId> <version>${osgi.framework.version}</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.resource</artifactId> <version>${osgi.resource.version}</version> </dependency> <dependency> <groupId>oro</groupId> <artifactId>oro</artifactId> <version>${oro.version}</version> </dependency> <dependency> <groupId>org.ops4j.pax.exam</groupId> <artifactId>pax-exam</artifactId> <version>${pax-exam.version}</version> </dependency> <dependency> <groupId>org.ops4j.pax.exam</groupId> <artifactId>pax-exam-container-native</artifactId> <version>${pax-exam.version}</version> </dependency> <dependency> <groupId>org.ops4j.pax.exam</groupId> <artifactId>pax-exam-junit4</artifactId> <version>${pax-exam.version}</version> </dependency> <dependency> <groupId>org.ops4j.pax.exam</groupId> <artifactId>pax-exam-link-assembly</artifactId> <version>${pax-exam.version}</version> </dependency> <dependency> <groupId>org.ops4j.pax.exam</groupId> <artifactId>pax-exam-spi</artifactId> <version>${pax-exam.version}</version> </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> <version>${plexus-utils.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-ext</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot</artifactId> <version>${spring-boot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>${spring-boot.version}</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>uk.org.webcompere</groupId> <artifactId>system-stubs-core</artifactId> <version>${system-stubs.version}</version> </dependency> <!-- Environment and system properties support for JUnit Jupiter: --> <dependency> <groupId>uk.org.webcompere</groupId> <artifactId>system-stubs-jupiter</artifactId> <version>${system-stubs.version}</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-juli</artifactId> <version>${tomcat-juli.version}</version> </dependency> <dependency> <groupId>org.graalvm.truffle</groupId> <artifactId>truffle-api</artifactId> <version>${graalvm.version}</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>${velocity.version}</version> </dependency> <!-- Used for testing `HttpAppender`: --> <dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock-jre8</artifactId> <version>${wiremock.version}</version> </dependency> <dependency> <groupId>com.fasterxml.woodstox</groupId> <artifactId>woodstox-core</artifactId> <version>${woodstox.version}</version> </dependency> <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-core</artifactId> <version>${xmlunit.version}</version> <!-- This POM bumps these deps to Jakartified versions. Using the corresponding `javax.*` deps is safer. --> <exclusions> <exclusion> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-matchers</artifactId> <version>${xmlunit.version}</version> </dependency> <dependency> <groupId>org.tukaani</groupId> <artifactId>xz</artifactId> <version>${xz.version}</version> </dependency> </dependencies> </dependencyManagement> <build> <defaultGoal>clean install</defaultGoal> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${build-helper-maven-plugin.version}</version> </plugin> <!-- used by `log4j-distribution` module which is enabled via `apache-release` profile: --> <plugin> <groupId>net.nicoulaj.maven.plugins</groupId> <artifactId>checksum-maven-plugin</artifactId> <version>${checksum-maven-plugin.version}</version> </plugin> <!-- used by `docker` profile in `log4j-layout-template-json-test`: --> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.ops4j.pax.exam</groupId> <artifactId>exam-maven-plugin</artifactId> <version>${exam-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-changelog-maven-plugin</artifactId> <version>${log4j-tools.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-artifact-plugin</artifactId> <version>${maven-artifact-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>${maven-bundle-plugin.version}</version> <extensions>true</extensions> <inherited>true</inherited> <executions> <execution> <goals> <goal>manifest</goal> </goals> <phase>process-classes</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${maven-checkstyle-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> <encoding>UTF-8</encoding> <compilerArgs> <arg>-XDcompilePolicy=simple</arg> <arg>-Xplugin:ErrorProne</arg> <!-- JEP 396 shipped with Java 16 encapsulates internals that Error Prone needs. For details, see https://errorprone.info/docs/installation --> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> </compilerArgs> <compilerArguments> <Xmaxwarns>10000</Xmaxwarns> <Xlint /> </compilerArguments> <annotationProcessorPaths> <path> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-plugin-processor</artifactId> <version>${project.version}</version> </path> <path> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${errorprone.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${maven-dependency-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <id>default-jar</id> <goals> <goal>jar</goal> </goals> <configuration> <archive> <manifestFile>${manifestfile}</manifestFile> <manifestEntries> <Specification-Title>${project.name}</Specification-Title> <Specification-Version>${project.version}</Specification-Version> <Specification-Vendor>${project.organization.name}</Specification-Vendor> <Implementation-Title>${project.name}</Implementation-Title> <Implementation-Version>${project.version}</Implementation-Version> <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id> <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> </manifestEntries> </archive> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>${maven-pmd-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>${maven-scm-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> </plugin> <plugin> <groupId>net.sourceforge.maven-taglib</groupId> <artifactId>maven-taglib-plugin</artifactId> <version>${maven-taglib-plugin.version}</version> </plugin> <plugin> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <version>${rewrite-maven-plugin.version}</version> <dependencies> <dependency> <groupId>org.openrewrite</groupId> <artifactId>rewrite-java</artifactId> <version>${rewrite-java.version}</version> </dependency> <dependency> <groupId>org.openrewrite.recipe</groupId> <artifactId>rewrite-static-analysis</artifactId> <version>${rewrite-static-analysis.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <version>${xml-maven-plugin.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <!-- 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> <exclude>**/target/**/*</exclude> <!-- Matches other RAT configurations in this POM --> <exclude>src/main/resources/META-INF/services/**/*</exclude> <!-- IntelliJ files --> <exclude>.idea/**/*</exclude> <exclude>**/*.iml</exclude> <exclude>src/test/resources/**/*</exclude> <!-- IDE settings imports --> <exclude>src/ide/**</exclude> <!-- does it even make sense to apply a license to a GPG signature? --> <exclude>**/*.asc</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>log4j-distribution/target/**/*</exclude> <exclude>log4j-distribution/.project</exclude> <exclude>log4j-distribution/.settings/**</exclude> <exclude>**/.toDelete</exclude> <exclude>velocity.log</exclude> <!-- Other --> <exclude>felix-cache/**</exclude> <exclude>**/README.md</exclude> <exclude>SECURITY.md</exclude> <exclude>.java-version</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> <exclude>**/*.slim</exclude> </excludes> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <!-- Ensure that version for each dependency resolved during a build, is equal to or higher than all transitive dependency declarations. A failure here requires adding the dependency to the dependency management. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-upper-bound-deps</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireUpperBoundDeps /> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> <goal>test-jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <configuration> <plugins> <plugin> <groupId>com.h3xstream.findsecbugs</groupId> <artifactId>findsecbugs-plugin</artifactId> <version>${findsecbugs-plugin.version}</version> </plugin> </plugins> <excludeFilterFile>${log4jParentDir}/findbugs-exclude-filter.xml</excludeFilterFile> <fork>true</fork> <effort>Default</effort> <threshold>Normal</threshold> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <systemPropertyVariables> <java.awt.headless>true</java.awt.headless> </systemPropertyVariables> <argLine>-Xms256m -Xmx1024m</argLine> <forkCount>1</forkCount> <reuseForks>false</reuseForks> <encoding>UTF-8</encoding> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemPropertyVariables> <java.awt.headless>true</java.awt.headless> </systemPropertyVariables> <forkCount>1</forkCount> <reuseForks>false</reuseForks> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <inherited>false</inherited> <configuration> <validationSets> <validationSet> <dir>src/changelog</dir> <includes>**/*.xml</includes> <publicId>http://logging.apache.org/log4j/changelog</publicId> <systemId>https://logging.apache.org/log4j/changelog-0.1.1.xsd</systemId> <validating>true</validating> </validationSet> </validationSets> </configuration> <executions> <execution> <goals> <goal>validate</goal> </goals> <phase>validate</phase> </execution> </executions> </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> <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> <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 © {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> <failOnError>false</failOnError> </configuration> <executions> <execution> <id>generate-site-javadoc</id> <goals> <goal>javadoc-no-fork</goal> </goals> <phase>pre-site</phase> </execution> </executions> </plugin> <!-- Export AsciiDoc-formatted sources to `target/generated-sources/site/asciidoc/release-notes` --> <plugin> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-changelog-maven-plugin</artifactId> <inherited>false</inherited> <configuration> <outputDirectory>${project.build.directory}/generated-sources/site/asciidoc/release-notes</outputDirectory> <indexTemplates> <template> <source>.index.adoc.ftl</source> </template> </indexTemplates> <changelogTemplates> <template> <source>.release-notes.adoc.ftl</source> <target>%v.adoc</target> </template> </changelogTemplates> </configuration> <executions> <execution> <id>generate-changelog</id> <goals> <goal>export</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <!-- 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>${log4jParentDir}/src/site</directory> <excludes> <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> <configuration> <skip>${javadoc.skip}</skip> <outputDirectory>${log4jParentDir}/target/site/javadoc/${project.artifactId}</outputDirectory> <resources> <resource> <directory>${project.build.directory}/site/apidocs</directory> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <inherited>false</inherited> <executions> <execution> <id>team-list</id> <goals> <goal>team</goal> </goals> <phase>site</phase> </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> <!-- copy any site properties wanted in asciidoc files --> <Log4jReleaseVersion>${log4jReleaseVersion}</Log4jReleaseVersion> <Log4jReleaseVersionJava6>${log4jReleaseVersionJava6}</Log4jReleaseVersionJava6> <Log4jReleaseVersionJava7>${log4jReleaseVersionJava7}</Log4jReleaseVersionJava7> <Log4jReleaseManager>${log4jReleaseManager}</Log4jReleaseManager> <Log4jReleaseKey>${log4jReleaseKey}</Log4jReleaseKey> </attributes> </configuration> <dependencies> <dependency> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> <version>${asciidoctor-maven-plugin.version}</version> </dependency> </dependencies> </plugin> <!-- ███████ ███ ██ ██████ ███████ ██ ████████ ███████ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ █████ ██ ██ ██ ██ ██ ███████ ██ ██ █████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███████ ██ ████ ██████ ███████ ██ ██ ███████ --> </plugins> </build> <profiles> <!-- Shortcut to populate `src/changelog/<releaseVersion>` from `src/changelog/.<releaseVersionMajor>.x.x` --> <profile> <id>changelog-release</id> <build> <defaultGoal>validate</defaultGoal> <plugins> <plugin> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-changelog-maven-plugin</artifactId> <inherited>false</inherited> <configuration> <releaseVersion>${log4jReleaseVersion}</releaseVersion> </configuration> <executions> <execution> <id>changelog-release</id> <goals> <goal>release</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- shortcut to enable `log4j-distribution` module creating the release distribution containing artifacts, sources, etc. --> <profile> <id>apache-release</id> <modules> <module>log4j-distribution</module> </modules> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>source-release-assembly</id> <configuration> <skipAssembly>true</skipAssembly> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>enable-plugin-annotation-processor</id> <activation> <property> <name>log4j.compilePlugins</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <annotationProcessorPaths combine.children="append"> <path> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-plugin-processor</artifactId> <version>${project.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>