<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright 2008-2013 Don Brown

  Licensed 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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>9</version>
  </parent>

  <groupId>org.twdata.maven</groupId>
  <artifactId>mojo-executor-parent</artifactId>
  <version>2.4.0</version>
  <packaging>pom</packaging>

  <name>Mojo Executor Parent</name>
  <description>
    The Mojo Executor provides a way to to execute other Mojos (plugins) within a Maven plugin, allowing you to
    easily create Maven plugins that are composed of other plugins.
  </description>
  <url>https://mojo-executor.github.io/mojo-executor/</url>
  <inceptionYear>2008</inceptionYear>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>mrdon</id>
      <name>Don Brown</name>
      <email>mrdon@twdata.org</email>
      <roles>
        <role>Original Author</role>
      </roles>
    </developer>
    <developer>
      <id>TimMoore</id>
      <name>Tim Moore</name>
      <email>tmoore@incrementalism.net</email>
      <roles>
        <role>Current Maintainer</role>
      </roles>
    </developer>
    <developer>
      <id>rnc</id>
      <name>Nick Cross</name>
      <email>ncross@redhat.com</email>
      <roles>
        <role>Current Maintainer</role>
      </roles>
    </developer>
  </developers>
  <contributors>
    <contributor>
      <name>Jelmer Kuperus</name>
    </contributor>
    <contributor>
      <name>Olivier Lamy</name>
      <email>olamy@apache.org</email>
    </contributor>
    <contributor>
      <name>Matthew McCullough</name>
      <email>matthewm@ambientideas.com</email>
    </contributor>
    <contributor>
      <name>Robert Munteanu</name>
      <email>robert.munteanu@gmail.com</email>
    </contributor>
    <contributor>
      <name>Gili Tzabari</name>
      <email>cowwoc2020@gmail.com</email>
    </contributor>
    <contributor>
      <name>Joseph Walton</name>
      <email>joe@kafsemo.org</email>
    </contributor>
  </contributors>

  <modules>
    <module>mojo-executor</module>
    <module>mojo-executor-maven-plugin</module>
  </modules>

  <scm>
    <connection>scm:git:https://github.com/mojo-executor/mojo-executor.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/mojo-executor/mojo-executor.git</developerConnection>
    <url>https://github.com/mojo-executor/mojo-executor</url>
    <tag>mojo-executor-parent-2.4.0</tag>
  </scm>
  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/mojo-executor/mojo-executor/issues</url>
  </issueManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.version>3.3.1</maven.version><!-- this is the minimum Maven distribution being supported -->
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- dependencies exposed from the Maven Core classloader (https://maven.apache.org/guides/mini/guide-maven-classloading.html#2-core-classloader)
           exported via https://github.com/apache/maven/blob/maven-3.3.1/maven-core/src/main/resources/META-INF/maven/extension.xml -->
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven</artifactId>
        <version>${maven.version}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>3.6.4</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-embedder</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>3.0.24</version><!-- should match version exported from Maven: https://github.com/apache/maven/blob/cab6659f9874fa96462afef40fcf6bc033d58c1c/pom.xml#L52
        Using slightly newer (forward-compatible) version to silence warnings from security scanners
         -->
      </dependency>
      <dependency>
        <groupId>org.eclipse.sisu</groupId>
        <artifactId>org.eclipse.sisu.plexus</artifactId>
        <version>0.3.0</version><!-- must match version exported from Maven: https://github.com/apache/maven/blob/cab6659f9874fa96462afef40fcf6bc033d58c1c/pom.xml#L56 -->
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version><!-- must match version exported from Maven: https://github.com/apache/maven/blob/cab6659f9874fa96462afef40fcf6bc033d58c1c/pom.xml#L63 -->
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>mojo-executor</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>2.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>4.3.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.12.0</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.5</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.9.0</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>3.6.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-invoker-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>3.0.0-M2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.3.1</version>
          <executions>
            <execution>
              <id>attach-javadocs</id>
              <goals>
                <goal>jar</goal>
              </goals>
              <configuration>
                <detectOfflineLinks>false</detectOfflineLinks>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.2.1</version>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>0.8.7</version>
          <executions>
            <execution>
              <goals>
                <goal>prepare-agent</goal>
              </goals>
            </execution>
            <execution>
              <id>report</id>
              <phase>test</phase>
              <goals>
                <goal>report</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>enforce-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[3.0,4.0)</version>
                  <message>Version 2.x of Mojo Executor requires Maven ${maven.version}. Use Mojo Executor 1.x with Maven 2.</message>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <mavenExecutorId>forked-path</mavenExecutorId>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>release-sign-artifacts</id>
      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
