<?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>
		<artifactId>tech-debt-parent</artifactId>
		<groupId>io.github.ihepda</groupId>
		<version>1.1.0</version>
	</parent>

	<artifactId>tech-debt-maven-plugin</artifactId>
	<packaging>maven-plugin</packaging>

	<name>tech-debt-maven-plugin Maven Plugin</name>

	<!-- FIXME change it to the project's website -->

	<prerequisites>
		<maven>${maven.version}</maven>
	</prerequisites>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>8</maven.compiler.source>
		<maven.compiler.target>8</maven.compiler.target>
		<maven.version>3.3.9</maven.version>
		<doxiaVersion>1.9.1</doxiaVersion>
		<doxiaSitetoolsVersion>1.9.1</doxiaSitetoolsVersion>
	</properties>

	<dependencies>
		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>tech-debt-processor</artifactId>
			<version>${project.version}</version>

		</dependency>

		<!-- Doxia API and Doxia Sitetools -->
		<dependency>
			<groupId>org.apache.maven.doxia</groupId>
			<artifactId>doxia-sink-api</artifactId>
			<version>${doxiaVersion}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.doxia</groupId>
			<artifactId>doxia-site-renderer</artifactId>
			<version>${doxiaSitetoolsVersion}</version>
		</dependency>
<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-compat</artifactId>
    <version>3.2.5</version>
    <scope>test</scope>
</dependency>
		<!-- reporting API -->
		<dependency>
			<groupId>org.apache.maven.reporting</groupId>
			<artifactId>maven-reporting-impl</artifactId>
			<version>3.1.0</version>
<!--			<scope>provided</scope>-->
		</dependency>
		<dependency>
			<groupId>org.apache.maven.reporting</groupId>
			<artifactId>maven-reporting-api</artifactId>
			<version>3.1.1</version>
			<scope>provided</scope>
		</dependency>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>3.2.5</version>
			<scope>provided</scope>
    </dependency>  

		<!-- plugin API and plugin-tools -->
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-plugin-api</artifactId>
			<version>3.2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.plugin-tools</groupId>
			<artifactId>maven-plugin-annotations</artifactId>
			<version>3.6.4</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.shared</groupId>
			<artifactId>maven-shared-utils</artifactId>
			<version>3.3.4</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.plugin-testing</groupId>
			<artifactId>maven-plugin-testing-harness</artifactId>
			<version>3.3.0</version>
			<scope>test</scope>
		</dependency>
	    <dependency>
	      <groupId>junit</groupId>
	      <artifactId>junit</artifactId>
	      <version>4.12</version>
	      <scope>test</scope>
	    </dependency>

	</dependencies>

	<build>
		<pluginManagement><!-- lock down plugins versions to avoid using Maven
			defaults (may be moved to parent pom) -->
			<plugins>
				<plugin>
					<artifactId>maven-clean-plugin</artifactId>
					<version>3.4.0</version>
				</plugin>
				<!-- see
				http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_maven-plugin_packaging -->
				<plugin>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.3.1</version>
				</plugin>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.13.0</version>
				</plugin>
				<plugin>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.13.1</version>
				</plugin>
				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>3.3.0</version>
				</plugin>
				<plugin>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.4.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-install-plugin</artifactId>
					<version>3.1.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>3.1.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-invoker-plugin</artifactId>
					<version>3.7.0</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.antlr</groupId>
				<artifactId>antlr4-maven-plugin</artifactId>
				<version>4.13.2</version>
				<executions>
					<execution>
						<goals>
							<goal>antlr4</goal>
						</goals>
						<configuration>
							<visitor>true</visitor>
							<outputDirectory>
								${project.build.directory}/generated-sources/antlr4/io/github/ihepda/techdebt/maven/plugin/filter</outputDirectory>
							<arguments>
								<argument>-package</argument>
								<argument>io.github.ihepda.techdebt.maven.plugin.filter</argument>
							</arguments>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-plugin-plugin</artifactId>
				<configuration>
					<!-- <goalPrefix>maven-archetype-plugin</goalPrefix> -->
					<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
				</configuration>
				<executions>
					<execution>
						<id>mojo-descriptor</id>
						<goals>
							<goal>descriptor</goal>
						</goals>
					</execution>
					<execution>
						<id>help-goal</id>
						<goals>
							<goal>helpmojo</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>run-its</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-invoker-plugin</artifactId>
						<version>3.7.0</version>
						<configuration>
							<postBuildHookScript>verify</postBuildHookScript>
							<localRepositoryPath>
								${project.build.directory}/local-repo</localRepositoryPath>
							<settingsFile>src/it/settings.xml</settingsFile>
							<goals>
								<goal>clean</goal>
								<goal>test-compile</goal>
							</goals>
						</configuration>
						<executions>
							<execution>
								<id>integration-test</id>
								<goals>
									<goal>install</goal>
									<goal>integration-test</goal>
									<goal>verify</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
