blob: 400dcf73b1817dd514e9a1d65927b19459f85cb3 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to you under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" child.project.url.inherit.append.path="false" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!-- ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██
██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██
██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██
██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██
`log4j-transform` project modules should use `log4j-transform-parent` as their parents, not this POM!
This POM constitutes the BOM to be imported by applications using `log4j-transform` project modules. -->
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.logging</groupId>
<artifactId>logging-parent</artifactId>
<version>11.3.0</version>
</parent>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-transform-bom</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<url>https://logging.apache.org/log4j/transform</url>
<inceptionYear>2022</inceptionYear>
<developers>
<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>vy</id>
<name>Volkan Yazıcı</name>
<email>vy@apache.org</email>
<roles>
<role>PMC Member</role>
</roles>
<timezone>Europe/Amsterdam</timezone>
</developer>
</developers>
<modules>
<!-- the parent POM must come first: -->
<module>log4j-transform-parent</module>
<!-- Modules here must have a corresponding entry in `dependencyManagement > dependencies` block below! -->
<module>log4j-codegen</module>
<module>log4j-converter-config</module>
<module>log4j-converter-plugin-descriptor</module>
<module>log4j-transform-maven-plugin</module>
<module>log4j-transform-maven-shade-plugin-extensions</module>
<module>log4j-weaver</module>
</modules>
<scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">
<connection>scm:git:git@github.com:apache/logging-log4j-transform.git</connection>
<developerConnection>scm:git:git@github.com:apache/logging-log4j-transform.git</developerConnection>
<tag>HEAD</tag>
<url>https://github.com/apache/logging-log4j-transform</url>
</scm>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/apache/logging-log4j-transform/issues</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>https://github.com/apache/logging-log4j-transform/actions</url>
</ciManagement>
<distributionManagement>
<downloadUrl>https://logging.apache.org/log4j/transform/latest/#distribution</downloadUrl>
</distributionManagement>
<properties>
<!-- project version -->
<revision>0.3.0-SNAPSHOT</revision>
<!-- disable Javadoc generation. Can be overridden in child modules -->
<maven.javadoc.skip>true</maven.javadoc.skip>
<!-- disable `maven-site-plugin`-->
<maven.site.skip>true</maven.site.skip>
<maven.site.deploy.skip>true</maven.site.deploy.skip>
<!-- `project.build.outputTimestamp` is required to be present for reproducible builds.
We actually inherit one from the `org.apache:apache` through our parent `org.apache.logging:logging-parent`.
Though inheriting this property has two undesired consequences:
1. `artifact:compare` dumps an `ERROR` log stating that this `property should not be inherited but defined` (apache/logging-parent#50)
2. This value is employed in various places while creating the distribution
To mitigate these, we define a *dummy* value here and let the CI replace it during a release.
Hence, *DO NOT MANUALLY EDIT THIS VALUE*! -->
<project.build.outputTimestamp>2024-10-27T05:39:02Z</project.build.outputTimestamp>
</properties>
<!-- `dependencyManagement` must only contain `log4j-transform` modules and nothing else!
Modules here must have a corresponding entry in `modules` block above! -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-codegen</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-converter-config</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-converter-plugin-descriptor</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-transform-maven-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-transform-maven-shade-plugin-extensions</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-weaver</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<!-- Enable BOM flattening -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin.version}</version>
<executions>
<execution>
<id>flatten-bom</id>
<goals>
<goal>flatten</goal>
</goals>
<phase>process-resources</phase>
<inherited>false</inherited>
</execution>
</executions>
</plugin>
<!-- ███████ ████████ █████ ██████ ████████ ███████ ██ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███████ ██ ███████ ██████ ██ ███████ ██ ██ █████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███████ ██ ██ ██ ██ ██ ██ ███████ ██ ██ ███████
This section consists of plugins responsible for generating the site.
Note that only this (i.e., the root) module is supposed to have a `site` goal, it is skipped for all other modules! -->
<!-- Remove the Maven Site Plugin execution -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<executions>
<execution>
<id>default-site</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<!--
~ JAVADOC GENERATION
~ 1. Define `currentYear` property used by the `maven-javadoc-plugin` configuration
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>define-currentYear-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<phase>pre-site</phase>
<inherited>false</inherited>
<configuration>
<name>currentYear</name>
<pattern>yyyy</pattern>
<locale>en_US</locale>
</configuration>
</execution>
</executions>
</plugin>
<!-- 2. Generate the JavaDoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>generate-site-javadoc</id>
<goals>
<goal>javadoc-no-fork</goal>
</goals>
<phase>pre-site</phase>
<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>${maven.javadoc.skip}</skip>
<bottom><![CDATA[<p align="center">
Copyright &copy; {inceptionYear}-{currentYear} {organizationName}.
All Rights Reserved.<br/>
Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of {organizationName}.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
</p>]]></bottom>
</configuration>
</execution>
</executions>
</plugin>
<!-- 3. Move the JavaDoc to the main module -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-javadoc</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>pre-site</phase>
<configuration>
<outputDirectory>${maven.multiModuleProjectDirectory}/target/site/javadoc/${project.artifactId}</outputDirectory>
<resources>
<resource>
<directory>target/site/apidocs</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>