<?xml version="1.0" encoding="UTF-8"?>
<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.codehaus.mojo</groupId>
    <artifactId>mojo-parent</artifactId>
    <version>65</version>
  </parent>

  <artifactId>extra-enforcer-rules</artifactId>
  <version>1.5.1</version>

  <name>Extra Enforcer Rules</name>

  <description>
    Extra Enforcer Rules. These are extra rules for Apache Maven's Enforcer Plugin.
  </description>

  <inceptionYear>2011</inceptionYear>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/mojohaus/extra-enforcer-rules/issues</url>
  </issueManagement>

  <scm>
    <connection>scm:git:https://github.com/mojohaus/extra-enforcer-rules.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/mojohaus/extra-enforcer-rules.git</developerConnection>
    <url>https://github.com/mojohaus/extra-enforcer-rules</url>
    <tag>extra-enforcer-rules-1.5.1</tag>
  </scm>

  <ciManagement>
    <system>Travis</system>
    <url>https://travis-ci.org/mojohaus/extra-enforcer-rules</url>
  </ciManagement>

  <repositories>
    <repository>
      <id>ossrh-snapshots</id>
      <layout>default</layout>
      <name>ossrh-snapshots</name>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <checksumPolicy>fail</checksumPolicy>
        <enabled>true</enabled>
      </snapshots>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
  </repositories>

  <developers>
    <developer>
      <name>Stephen Connolly</name>
      <email>stephen.alan.connolly@gmail.com</email>
      <roles>
        <role>Lead Developer</role>
      </roles>
      <timezone>0</timezone>
    </developer>
    <developer>
      <name>Baptiste Mathus</name>
      <email>baptiste@codehaus.org</email>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>Europe/Paris</timezone>
    </developer>
  </developers>

  <properties>
    <enforcerApiVersion>3.0.0</enforcerApiVersion>
    <!--
    Danger ahead: increasing this to the next patch-level 1.4.1 will
    fail the following ITs:
    *  banduplicate-classes-fail-when-not-identical/pom.xml
    *  enforce-bytecode-version-multirelease/pom.xml
    *  mojo-1682/pom.xml
    *  mojo-1731/pom.xml
    *  mojo-1744/pom.xml
    *  mojo-1769/pom.xml
    *  smokes/pom.xml
-->
    <enforcerPluginVersion>3.0.0</enforcerPluginVersion>
    <maven.version>3.1.1</maven.version>
    <mojo.java.target>1.8</mojo.java.target>
    <scmpublish.content>target/staging/${project.artifactId}</scmpublish.content>
    <project.build.outputTimestamp>2021-12-15T17:22:03Z</project.build.outputTimestamp>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>3.1.1</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.enforcer</groupId>
      <artifactId>enforcer-api</artifactId>
      <version>${enforcerApiVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <version>${maven.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-compat</artifactId>
      <version>${maven.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.shared</groupId>
      <artifactId>maven-dependency-tree</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.15</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>4.1.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.shared</groupId>
      <artifactId>maven-common-artifact-filters</artifactId>
      <version>3.2.0</version>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.9.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-invoker-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>${enforcerPluginVersion}</version>
        <executions>
          <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>${maven.version}</version>
                </requireMavenVersion>
                <bannedDependencies>
                  <excludes>
                    <exclude>org.apache.maven.enforcer:enforcer-rules</exclude>
                  </excludes>
                  <message>Don't depend on the standard Enforcer Rules, only on the API. See MOJO-1949</message>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-invoker-plugin</artifactId>
        <configuration>
          <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
          <showErrors>true</showErrors>
          <streamLogs>true</streamLogs>
          <settingsFile>src/it/settings.xml</settingsFile>
          <preBuildHookScript>setup</preBuildHookScript>
          <postBuildHookScript>verify</postBuildHookScript>
          <addTestClassPath>true</addTestClassPath>
          <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
          <mavenOpts>-Djava.io.tmpdir=${project.build.directory}</mavenOpts>
          <properties>
            <maven.compiler.source>${maven.compiler.source}</maven.compiler.source>
            <maven.compiler.target>${maven.compiler.target}</maven.compiler.target>
            <https.protocols>${https.protocols}</https.protocols>
            <jdk.tls.client.protocols>${https.protocols}</jdk.tls.client.protocols>
          </properties>
          <filterProperties>
            <enforcerPluginVersion>${enforcerPluginVersion}</enforcerPluginVersion>
          </filterProperties>
          <goals>
            <goal>clean</goal>
            <goal>initialize</goal>
          </goals>
        </configuration>
        <executions>
          <execution>
            <id>integration-test</id>
            <goals>
              <goal>install</goal>
              <goal>run</goal>
            </goals>
            <configuration>
              <streamLogs>false</streamLogs>
              <debug>true</debug>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <reporting>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-invoker-plugin</artifactId>
          <version>3.2.1</version>
        </plugin>
      </plugins>
  </reporting>
  <profiles>
    <profile>
      <id>java12</id>
      <activation>
        <jdk>[12,)</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.release>8</maven.compiler.release>
      </properties>
    </profile>
  </profiles>
</project>
