| <?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</groupId> |
| <artifactId>logging-parent</artifactId> |
| <version>11.3.0</version> |
| <relativePath /> |
| </parent> |
| |
| <groupId>org.apache.logging.log4j.samples</groupId> |
| <artifactId>log4j-samples</artifactId> |
| <version>${revision}</version> |
| <packaging>pom</packaging> |
| |
| <name>Apache Log4j Samples</name> |
| |
| <modules> |
| <module>log4j-samples-aspectj</module> |
| <module>log4j-samples-asynclogger</module> |
| <module>log4j-samples-configuration</module> |
| <module>log4j-samples-flume-common</module> |
| <module>log4j-samples-flume-embedded</module> |
| <module>log4j-samples-flume-remote</module> |
| <module>log4j-samples-jlink</module> |
| <module>log4j-samples-loggerProperties</module> |
| <module>log4j-samples-parser</module> |
| <!-- Disabled, since compilation fails |
| <module>log4j-server</module> |
| --> |
| <module>log4j-spring-cloud-config-sample-application</module> |
| <module>log4j-spring-cloud-config-sample-server</module> |
| </modules> |
| |
| <properties> |
| |
| <!-- This project contains only samples and aims no releases. |
| Hence, we use a fake version and DO NOT CHANGE IT! --> |
| <revision>0.0.0-SNAPSHOT</revision> |
| |
| <!-- |
| ~ Version of Log4j Core |
| ~ |
| ~ Set to latest stable 2.x release for users. |
| ~ Our workflows override this. |
| --> |
| <log4j.version>2.24.3</log4j.version> |
| |
| <!-- Some samples require JDK 17+ --> |
| <minimalJavaBuildVersion>17</minimalJavaBuildVersion> |
| <maven.compiler.release>17</maven.compiler.release> |
| <maven.compiler.source /> |
| <maven.compiler.target /> |
| |
| <!-- Skip `bnd-baseline-maven-plugin` since this is not deployed --> |
| <bnd.baseline.skip>true</bnd.baseline.skip> |
| |
| <!-- |
| ~ Skip CycloneDX since this artifact is not deployed. |
| ~ CycloneDX attempts to download non-existent snapshots from `repository.apache.org`, |
| ~ which ends up in a ban of the Github Runner IP. |
| ~ |
| ~ See: https://infra.apache.org/infra-ban.html |
| --> |
| <cyclonedx.skip>true</cyclonedx.skip> |
| |
| <!-- dependency versions --> |
| <disruptor.version>4.0.0</disruptor.version> |
| <flatten-maven-plugin.version>1.5.0</flatten-maven-plugin.version> |
| <flume.version>1.11.0</flume.version> |
| <jetty.version>11.0.24</jetty.version> |
| <javax-jms.version>2.0.1</javax-jms.version> |
| <spring-boot.version>3.4.1</spring-boot.version> |
| <spring-cloud.version>2024.0.0</spring-cloud.version> |
| |
| <!-- Pinned transitive dependencies --> |
| <!-- Try removing from time to time --> |
| <guava.version>33.4.0-jre</guava.version> |
| <httpclient.version>4.5.14</httpclient.version> |
| <jackson.version>2.18.2</jackson.version> |
| <kotlin.version>2.1.0</kotlin.version> |
| |
| <snakeyaml.version>2.3</snakeyaml.version> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| |
| <!-- Internal dependencies --> |
| <dependency> |
| <groupId>org.apache.logging.log4j.samples</groupId> |
| <artifactId>log4j-samples-configuration</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j.samples</groupId> |
| <artifactId>log4j-samples-flume-common</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- External dependencies --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-bom</artifactId> |
| <version>${log4j.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.lmax</groupId> |
| <artifactId>disruptor</artifactId> |
| <version>${disruptor.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flume.flume-ng-channels</groupId> |
| <artifactId>flume-file-channel</artifactId> |
| <version>${flume.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-jmx</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlet</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlet</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flume</groupId> |
| <artifactId>flume-ng-embedded-agent</artifactId> |
| <version>${flume.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flume</groupId> |
| <artifactId>flume-ng-sdk</artifactId> |
| <version>${flume.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.tomcat.embed</groupId> |
| <artifactId>tomcat-embed-core</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>javax.jms</groupId> |
| <artifactId>javax.jms-api</artifactId> |
| <version>${javax-jms.version}</version> |
| </dependency> |
| |
| <!-- Transitive dependency of multiple dependencies --> |
| <!-- We fix a common version --> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| |
| <!-- Transitive dependency of multiple dependencies --> |
| <!-- We fix a common version --> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${httpclient.version}</version> |
| </dependency> |
| |
| <!-- Transitive dependency of multiple dependencies --> |
| <!-- We fix a common version --> |
| <dependency> |
| <groupId>org.yaml</groupId> |
| <artifactId>snakeyaml</artifactId> |
| <version>${snakeyaml.version}</version> |
| </dependency> |
| |
| <!-- Transitive dependency of multiple dependencies --> |
| <!-- We fix a common version --> |
| <dependency> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-bom</artifactId> |
| <version>${kotlin.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <!-- Transitive dependency of multiple dependencies --> |
| <!-- We fix a common version --> |
| <dependency> |
| <groupId>com.fasterxml.jackson</groupId> |
| <artifactId>jackson-bom</artifactId> |
| <version>${jackson.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <!-- Should be at the end, so it does not override the versions above --> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-dependencies</artifactId> |
| <version>${spring-boot.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <!-- Allow `spring-boot-dependencies` to override these versions --> |
| <dependency> |
| <groupId>org.springframework.cloud</groupId> |
| <artifactId>spring-cloud-dependencies</artifactId> |
| <version>${spring-cloud.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| |
| <pluginManagement> |
| <plugins> |
| |
| <plugin> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-maven-plugin</artifactId> |
| <version>${jetty.version}</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <version>${spring-boot.version}</version> |
| </plugin> |
| |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <annotationProcessorPaths combine.children="append"> |
| <!-- `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>${log4j.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| <compilerArgs combine.children="append"> |
| <!-- Provide arguments for the GraalVM processor --> |
| <arg>-Alog4j.graalvm.groupId=${project.groupId}</arg> |
| <arg>-Alog4j.graalvm.artifactId=${project.artifactId}</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| |
| </plugins> |
| |
| </build> |
| |
| <profiles> |
| |
| <!-- |
| ~ An additional Maven staging repository if the `log4j.repository.url` property is not empty. |
| --> |
| <profile> |
| <id>staging-repo</id> |
| <activation> |
| <property> |
| <name>log4j.repository.url</name> |
| <value>!</value> |
| </property> |
| </activation> |
| |
| <repositories> |
| <!-- Use primarily Maven Central --> |
| <repository> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| <id>central</id> |
| <name>Central Repository</name> |
| <url>https://repo.maven.apache.org/maven2</url> |
| </repository> |
| <!-- The repository that contains the requested Log4j version --> |
| <repository> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| <id>log4j-staging</id> |
| <name>Log4j Staging Repository</name> |
| <url>${log4j.repository.url}</url> |
| </repository> |
| </repositories> |
| |
| </profile> |
| |
| </profiles> |
| |
| </project> |