| <?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/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-bom</artifactId> |
| <version>${revision}</version> |
| </parent> |
| |
| <!-- Using `log4j` instead of `log4j-parent` for backward compatibility: --> |
| <artifactId>log4j</artifactId> |
| <packaging>pom</packaging> |
| |
| <name>Apache Log4j Parent</name> |
| <description>Apache Log4j Parent</description> |
| |
| <properties> |
| <!-- ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ |
| ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ |
| ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ |
| ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ |
| ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ |
| |
| 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> |
| <docker-maven-plugin.version>0.44.0</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.2.5</surefire.version> |
| |
| <!-- ===================================================== |
| Direct dependency version properties (in alphabetical order) |
| ===================================================== --> |
| <activemq.version>6.1.0</activemq.version> |
| <angus-activation.version>2.0.2</angus-activation.version> |
| <angus-mail.version>2.0.3</angus-mail.version> |
| <assertj.version>3.25.3</assertj.version> |
| <awaitility.version>4.2.1</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.16.1</commons-codec.version> |
| <commons-compress.version>1.26.1</commons-compress.version> |
| <commons-csv.version>1.10.0</commons-csv.version> |
| <commons-dbcp2.version>2.12.0</commons-dbcp2.version> |
| <commons-io.version>2.16.0</commons-io.version> |
| <commons-lang3.version>3.14.0</commons-lang3.version> |
| <commons-logging.version>1.3.1</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-java.version>8.13.1</elasticsearch-java.version> |
| <embedded-ldap.version>0.9.0</embedded-ldap.version> |
| <felix.version>7.0.5</felix.version> |
| <flapdoodle-embed.version>4.9.0</flapdoodle-embed.version> |
| <flapdoodle-reverse.version>1.7.2</flapdoodle-reverse.version> |
| <flume.version>1.11.0</flume.version> |
| <groovy.version>3.0.21</groovy.version> |
| <guava.version>33.1.0-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.17.0</jackson-bom.version> |
| <!-- Override the version in Jakarta EE 9 BOM: --> |
| <jakarta-activation.version>2.1.3</jakarta-activation.version> |
| <jakarta-mail.version>2.1.3</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.1</jansi.version> |
| <java-allocation-instrumenter.version>3.3.4</java-allocation-instrumenter.version> |
| <jconsole.version>1.7.0</jconsole.version> |
| <jctools.version>4.0.3</jctools.version> |
| <je.version>18.3.12</je.version> |
| <jeromq.version>0.6.0</jeromq.version> |
| <jetty.version>9.4.54.v20240208</jetty.version> |
| <jmdns.version>3.5.9</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.2</junit-jupiter.version> |
| <junit-pioneer.version>1.9.1</junit-pioneer.version> |
| <kafka.version>3.7.0</kafka.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.6.0</log4j2-ecs-layout.version> |
| <logback.version>1.3.14</logback.version> |
| <maven.version>3.9.6</maven.version> |
| <mockito.version>4.11.0</mockito.version> |
| <nashorn.version>15.4</nashorn.version> |
| <netty.version>4.1.108.Final</netty.version> |
| <org.eclipse.osgi.version>3.13.0.v20180226-1711</org.eclipse.osgi.version> |
| <org.eclipse.persistence.version>2.7.14</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.1</plexus-utils.version> |
| <spring-boot.version>2.7.18</spring-boot.version> |
| <spring-framework.version>5.3.33</spring-framework.version> |
| <system-stubs.version>2.0.3</system-stubs.version> |
| <tomcat-juli.version>10.0.27</tomcat-juli.version> |
| <velocity.version>1.7</velocity.version> |
| <wiremock.version>2.35.2</wiremock.version> |
| <xmlunit.version>2.9.1</xmlunit.version> |
| <xz.version>1.9</xz.version> |
| <zstd.version>1.5.6-1</zstd.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.9</byte-buddy.version> |
| <commons-pool2.version>2.12.0</commons-pool2.version> |
| <httpclient.version>4.5.14</httpclient.version> |
| <httpcore.version>4.4.16</httpcore.version> |
| <jna.version>5.14.0</jna.version> |
| |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| |
| <!-- BEGIN: Modules that are not published (and hence missing in the BOM) --> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-osgi-test</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-layout-template-json-test</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- END: Modules that are not published (and hence missing in the BOM) --> |
| |
| <dependency> |
| <groupId>org.codehaus.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>org.mockito</groupId> |
| <artifactId>mockito-bom</artifactId> |
| <version>${mockito.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-api-java9</artifactId> |
| <version>${project.version}</version> |
| <type>zip</type> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core-java9</artifactId> |
| <version>${project.version}</version> |
| <type>zip</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.apache.cassandra</groupId> |
| <artifactId>cassandra-all</artifactId> |
| <version>${cassandra.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>log4j-over-slf4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| </exclusion> |
| </exclusions> |
| </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> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>log4j-over-slf4j</artifactId> |
| </exclusion> |
| </exclusions> |
| </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>${flapdoodle-embed.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>de.flapdoodle.embed</groupId> |
| <artifactId>de.flapdoodle.embed.process</artifactId> |
| <version>${flapdoodle-embed.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>de.flapdoodle.reverse</groupId> |
| <artifactId>de.flapdoodle.reverse</artifactId> |
| <version>${flapdoodle-reverse.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>co.elastic.clients</groupId> |
| <artifactId>elasticsearch-java</artifactId> |
| <version>${elasticsearch-java.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> |
| |
| <!-- Transitive dependency: setting upper bound of declared versions --> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </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> |
| <classifier>jdk8</classifier> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${httpclient.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| <version>${httpcore.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>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>com.sun</groupId> |
| <artifactId>jconsole</artifactId> |
| <version>${jconsole.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>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <version>${log4j.version}</version> |
| </dependency> |
| |
| <!-- Used for testing `JsonTemplateLayout`: --> |
| <dependency> |
| <groupId>co.elastic.logging</groupId> |
| <artifactId>log4j2-ecs-layout</artifactId> |
| <version>${log4j2-ecs-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.apache.maven</groupId> |
| <artifactId>maven-model</artifactId> |
| <version>${maven.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.openjdk.nashorn</groupId> |
| <artifactId>nashorn-core</artifactId> |
| <version>${nashorn.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>org.apache.felix.framework</artifactId> |
| <version>${felix.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.eclipse.tycho</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.core</artifactId> |
| <version>${osgi.api.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.springframework.boot</groupId> |
| <artifactId>spring-boot</artifactId> |
| <version>${spring-boot.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-autoconfigure</artifactId> |
| <version>${spring-boot.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-log4j2</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>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| <version>${spring-framework.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-jcl</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.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>org.xmlunit</groupId> |
| <artifactId>xmlunit-core</artifactId> |
| <version>${xmlunit.version}</version> |
| </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> |
| |
| <dependency> |
| <groupId>com.github.luben</groupId> |
| <artifactId>zstd-jni</artifactId> |
| <version>${zstd.version}</version> |
| </dependency> |
| |
| </dependencies> |
| </dependencyManagement> |
| |
| <!-- Common annotations used in all the modules --> |
| <dependencies> |
| |
| <dependency> |
| <groupId>biz.aQute.bnd</groupId> |
| <artifactId>biz.aQute.bnd.annotation</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_annotations</artifactId> |
| <version>${error-prone.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>osgi.annotation</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>org.osgi.annotation.bundle</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-annotations</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| |
| <!-- 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> |
| |
| <!-- used by OSGi tests --> |
| <plugin> |
| <groupId>org.ops4j.pax.exam</groupId> |
| <artifactId>exam-maven-plugin</artifactId> |
| <version>${exam-maven-plugin.version}</version> |
| </plugin> |
| |
| <!-- used to generate taglib documentation --> |
| <plugin> |
| <groupId>net.sourceforge.maven-taglib</groupId> |
| <artifactId>maven-taglib-plugin</artifactId> |
| <version>${maven-taglib-plugin.version}</version> |
| </plugin> |
| |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| |
| <!-- |
| ~ A previous `generate-module-descriptors` execution leaves: |
| ~ * `target/classes/module-info.class` files, which interferes with `maven-compiler-plugin`, |
| ~ * `target/classes/META-INF/versions` folder, which switch `bnd-maven-plugin` into MRJ mode. |
| ~ |
| ~ TODO: test BND multi-release mode in 2.23.0. |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>delete-module-descriptors</id> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| <phase>process-sources</phase> |
| <configuration> |
| <excludeDefaultDirectories>true</excludeDefaultDirectories> |
| <filesets> |
| <fileset> |
| <directory>${project.build.outputDirectory}</directory> |
| <includes> |
| <include>module-info.class</include> |
| <include>META-INF/versions/**</include> |
| </includes> |
| </fileset> |
| </filesets> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- |
| ~ Some external logging bridges can interfere with our tests, giving false negatives. |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>ban-logging-dependencies</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <!-- JCL replacements --> |
| <exclude>org.slf4j:jcl-over-slf4j</exclude> |
| <exclude>org.springframework:spring-jcl</exclude> |
| <!-- Log4j 1.x replacements --> |
| <exclude>org.slf4j:log4j-over-slf4j</exclude> |
| <exclude>ch.qos.reload4j:reload4j</exclude> |
| <!-- Bridges to Log4j 1.x --> |
| <exclude>org.slf4j:slf4j-log4j12</exclude> |
| <exclude>org.slf4j:slf4j-reload4j</exclude> |
| <!-- PAX Logging just to be safe --> |
| <exclude>org.ops4j.pax.logging:*</exclude> |
| <!-- Logback --> |
| <exclude>ch.qos.logback:*</exclude> |
| </excludes> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| <profiles> |
| |
| <!-- `plugin-processing` profile containing configuration specific to `@Plugin`-annotated members --> |
| <profile> |
| |
| <id>plugin-processing</id> |
| |
| <!-- Profile gets activated using a file instead of, say, a property defined by the child `pom.xml`. |
| Since a Maven property lookup requires model interpolation and that happens after the profile activation phase. |
| See: https://maven.apache.org/ref/3.9.6/maven-model-builder --> |
| <activation> |
| <file> |
| <exists>.log4j-plugin-processing-activator</exists> |
| </file> |
| </activation> |
| |
| <build> |
| <plugins> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <annotationProcessorPaths combine.children="append"> |
| <!-- Include `org.apache.logging.log4j.docgen.processor.DescriptorGenerator` that generates `log4j-plugins.xml`. |
| `DescriptorGenerator` must precede `PluginProcessor`, since the latter *claims* the `@Plugin`. |
| Once claimed, `javac` doesn't pass those sources to other processors. --> |
| <path> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-docgen</artifactId> |
| <version>${log4j-docgen.version}</version> |
| </path> |
| <!-- `org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor` for generating `META-INF/org/apache/.../Log4j2Plugins.dat`: --> |
| <path> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| <version>${project.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| <compilerArgs combine.children="append"> |
| <!-- Provide `org.apache.logging.log4j.docgen.processor.DescriptorGenerator` arguments: --> |
| <arg>-Alog4j.docgen.descriptorFilePath=${log4j.docgen.pluginDescriptorsDir.phase2}/${project.artifactId}-plugins.xml</arg> |
| <arg>-Alog4j.docgen.groupId=${project.groupId}</arg> |
| <arg>-Alog4j.docgen.artifactId=${project.artifactId}</arg> |
| <arg>-Alog4j.docgen.version=${project.version}</arg> |
| <arg>-Alog4j.docgen.description=${project.description}</arg> |
| <arg>-Alog4j.docgen.typeFilter.excludePattern=${log4j.docgen.typeFilter.excludePattern}</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| </profile> |
| |
| </profiles> |
| |
| </project> |