<?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.3.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>
