<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2014-2024 Takari, Inc.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-v10.html

-->
<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>io.takari</groupId>
    <artifactId>takari</artifactId>
    <version>70</version>
  </parent>

  <groupId>io.takari.maven.plugins</groupId>
  <artifactId>takari-plugin-testing-project</artifactId>
  <version>3.1.1</version>
  <packaging>pom</packaging>

  <name>${project.groupId}:${project.artifactId}</name>

  <modules>
    <module>takari-plugin-testing</module>
    <module>takari-plugin-integration-testing</module>
    <module>takari-plugin-testing-its</module>
  </modules>

  <scm>
    <connection>scm:git:git@github.com:takari/takari-plugin-testing-project.git</connection>
    <developerConnection>scm:git:git@github.com:takari/takari-plugin-testing-project.git</developerConnection>
    <tag>takari-plugin-testing-3.1.1</tag>
    <url>https://github.com/takari/takari-plugin-testing-project</url>
  </scm>

  <properties>
    <takari.javaSourceVersion>8</takari.javaSourceVersion>
    <takari.lifecycleVersion>2.3.0</takari.lifecycleVersion>

    <mavenVersion>3.9.9</mavenVersion>
    <sisuVersion>0.9.0.M4</sisuVersion>
    <sisuGuiceVersion>6.0.0</sisuGuiceVersion>
    <aetherVersion>1.9.23</aetherVersion>
    <slf4jVersion>1.7.36</slf4jVersion>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
      </dependency>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>5.13.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>3.6.0</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.36</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.36</version>
      </dependency>

      <!-- unit testing -->
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>${mavenVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>${mavenVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${mavenVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-resolver-provider</artifactId>
        <version>${mavenVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-artifact</artifactId>
        <version>${mavenVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-embedder</artifactId>
        <version>${mavenVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-settings</artifactId>
        <version>${mavenVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-settings-builder</artifactId>
        <version>${mavenVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.resolver</groupId>
        <artifactId>maven-resolver-api</artifactId>
        <version>${aetherVersion}</version>
      </dependency>
      <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.sisu</groupId>
        <artifactId>org.eclipse.sisu.inject</artifactId>
        <version>${sisuVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.sisu</groupId>
        <artifactId>org.eclipse.sisu.plexus</artifactId>
        <version>${sisuVersion}</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>${sisuGuiceVersion}</version>
        <classifier>classes</classifier>
      </dependency>

      <!-- integration testing -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-exec</artifactId>
        <version>1.5.0</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-classworlds</artifactId>
        <version>2.9.0</version>
      </dependency>
      <dependency>
        <groupId>io.takari.m2e.workspace</groupId>
        <artifactId>org.eclipse.m2e.workspace.cli</artifactId>
        <version>0.4.0</version>
      </dependency>

      <!-- automatic resolution of maven runtimes during integration tests -->
      <!-- Note: this compress must work with commons-io in Maven: 1.26.1 requires Maven 3.8! -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.26.0</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <tagNameFormat>takari-plugin-testing-@{project.version}</tagNameFormat>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.gaul</groupId>
          <artifactId>modernizer-maven-plugin</artifactId>
          <configuration>
            <!-- TODO: fix MANY violations we have -->
            <failOnViolations>false</failOnViolations>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
