| <?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 |
| |
| https://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"> |
| |
| <!-- ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ |
| ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ |
| ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ |
| ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ |
| ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ |
| |
| `log4j-tools` project modules should use `log4j-tools-parent` as their parents, not this POM! |
| This POM constitutes the BOM to be imported by applications using `log4j-tools` project modules. --> |
| |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache.logging</groupId> |
| <artifactId>logging-parent</artifactId> |
| <version>8</version> |
| </parent> |
| |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-tools-bom</artifactId> |
| <packaging>pom</packaging> |
| <version>${revision}</version> |
| |
| <modules> |
| |
| <!-- the parent POM must come first: --> |
| <module>log4j-tools-parent</module> |
| |
| <!-- Modules here must have a corresponding entry in `dependencyManagement > dependencies` block below! --> |
| <module>log4j-changelog</module> |
| <module>log4j-changelog-maven-plugin</module> |
| |
| </modules> |
| |
| <properties> |
| |
| <!-- project version --> |
| <revision>0.4.0-SNAPSHOT</revision> |
| |
| <!-- `minimalJavaBuildVersion` is employed by `org.apache:apache`, which is the parent of `org.apache.logging:logging-parent`, which is the parent of us. |
| `minimalJavaBuildVersion` is used for enforcing the compiler version. |
| We will use `java.version` to enforce the target JVM byte code, which is 8. --> |
| <minimalJavaBuildVersion>[17,18)</minimalJavaBuildVersion> |
| <java.version>8</java.version> |
| |
| <!-- `project.build.outputTimestamp` is required for reproducible builds: https://maven.apache.org/guides/mini/guide-reproducible-builds.html --> |
| <project.build.outputTimestamp>0</project.build.outputTimestamp> |
| |
| <!-- plugin versions --> |
| <flatten-maven-plugin.version>1.4.0</flatten-maven-plugin.version> |
| <maven-deploy-plugin.version>3.0.0</maven-deploy-plugin.version> |
| <sign-maven-plugin.version>1.0.1</sign-maven-plugin.version> |
| |
| </properties> |
| |
| <!-- `dependencyManagement` must only contain `log4j-tools` 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-changelog</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-changelog-maven-plugin</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <version>${flatten-maven-plugin.version}</version> |
| <configuration> |
| <!-- Setting `outputDirectory` to `project.build.directory`, which is cleaned by `default-clean` execution of `clean:clean`. |
| This makes `flatten:clean` redundant. --> |
| <outputDirectory>${project.build.directory}</outputDirectory> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| |
| <!-- BOMs should ideally _only_ contain dependencies for modules of the project. |
| No invasive properties or plugin/dependency management – either from the BOM itself or its parent. |
| The following `flatten-maven-plugin` exactly performs that trimming operation. --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <version>${flatten-maven-plugin.version}</version> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <id>flatten-bom</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>flatten</goal> |
| </goals> |
| <configuration> |
| <flattenMode>bom</flattenMode> |
| <!-- POM `ElementHandling` is pretty cryptic: https://www.mojohaus.org/flatten-maven-plugin/apidocs/org/codehaus/mojo/flatten/ElementHandling.html |
| Trial-and-error has shown that we should use either `remove` or `interpolate`. |
| `remove` simply removes the element. |
| `interpolate` takes the element from the original POM with variables interpolated. |
| Avoid using `resolve`, which uses the effective POM where inherited changes from the parent are also incorporated. --> |
| <pomElements> |
| <properties>remove</properties> |
| <repositories>remove</repositories> |
| <distributionManagement>remove</distributionManagement> |
| <dependencyManagement>interpolate</dependencyManagement> |
| </pomElements> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| |
| </build> |
| |
| <profiles> |
| <profile> |
| |
| <id>release</id> |
| |
| <properties> |
| <deployAtEnd>true</deployAtEnd> |
| <installAtEnd>true</installAtEnd> |
| <skipTests>true</skipTests> |
| <spotbugs.skip>true</spotbugs.skip> |
| <spotless.check.skip>true</spotless.check.skip> |
| </properties> |
| |
| <build> |
| |
| <defaultGoal>deploy</defaultGoal> |
| |
| <plugins> |
| |
| <plugin> |
| <groupId>org.simplify4u.plugins</groupId> |
| <artifactId>sign-maven-plugin</artifactId> |
| <version>${sign-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </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> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| |
| </build> |
| |
| </profile> |
| </profiles> |
| |
| <distributionManagement> |
| <!-- `repository` from parent `org.apache.logging:logging-parent` (id: `apache.releases.https`) --> |
| <!-- `snapshotRepository` from parent `org.apache.logging:logging-parent` (id: `apache.snapshots.https`) --> |
| </distributionManagement> |
| |
| <scm> |
| <url>https://github.com/apache/logging-log4j-tools</url> |
| <connection>scm:git:git@github.com:apache/logging-log4j-tools.git</connection> |
| <developerConnection>scm:git:git@github.com:apache/logging-log4j-tools.git</developerConnection> |
| <tag>HEAD</tag> |
| </scm> |
| |
| <url>https://github.com/apache/logging-log4j-tools</url> |
| |
| <ciManagement> |
| <system>GitHub Actions</system> |
| <url>https://github.com/apache/logging-log4j-tools/actions</url> |
| </ciManagement> |
| |
| <issueManagement> |
| <system>GitHub Issues</system> |
| <url>https://github.com/apache/logging-log4j-tools/issues</url> |
| </issueManagement> |
| |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| <comments>A business-friendly OSS license</comments> |
| </license> |
| </licenses> |
| |
| <organization> |
| <name>Apache Software Foundation</name> |
| <url>https://apache.org</url> |
| </organization> |
| |
| <inceptionYear>2022</inceptionYear> |
| |
| <developers> |
| |
| <developer> |
| <id>rgoers</id> |
| <name>Ralph Goers</name> |
| <email>rgoers@apache.org</email> |
| <organization>Nextiva</organization> |
| <roles> |
| <role>PMC Member</role> |
| </roles> |
| <timezone>America/Phoenix</timezone> |
| </developer> |
| |
| <developer> |
| <id>vy</id> |
| <name>Volkan Yazıcı</name> |
| <email>vy@apache.org</email> |
| <roles> |
| <role>PMC Member</role> |
| </roles> |
| <timezone>Europe/Amsterdam</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> |
| |
| </developers> |
| |
| </project> |