<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.vaadin</groupId>
	<artifactId>modernization-tools</artifactId>
	<version>2.1.1</version>
	<packaging>pom</packaging>

	<properties>
		<maven.compiler.target>11</maven.compiler.target>
		<maven.compiler.source>11</maven.compiler.source>
		<license.checker.version>1.13.0</license.checker.version>
		<vmtversion>1.3.60</vmtversion>
		<tycho.version>3.0.1</tycho.version>
		<byte-buddy.version>1.17.6</byte-buddy.version>
		<maven-plugin-tools.version>3.9.0</maven-plugin-tools.version>
		<maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<vaadin.modernization.pluginVersionNew>2.1.0</vaadin.modernization.pluginVersionNew>
		<vaadin.modernization.pluginVersionOld>2.0.25</vaadin.modernization.pluginVersionOld>
	</properties>

	<licenses>
        <license>
            <name>Vaadin Commercial License and Service Terms</name>
            <url>https://vaadin.com/commercial-license-and-service-terms</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    
	<repositories>
		<repository>
			<id>central</id>
			<url>https://repo.maven.apache.org/maven2/</url>
		</repository>
		<repository>
			<id>eclipse</id>
			<url>https://download.eclipse.org/releases/latest</url>
			<layout>p2</layout>
		</repository>
	</repositories>

	<dependencyManagement>
		<dependencies>

			<!-- Vaadin dependencies -->
			<dependency>
				<groupId>com.vaadin.addons.modernization</groupId>
				<artifactId>finder-common</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>com.vaadin.addons.modernization</groupId>
				<artifactId>mtk-core</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>com.vaadin</groupId>
				<artifactId>pathfinder-core</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>com.vaadin</groupId>
				<artifactId>dragonfly-core</artifactId>
				<version>${project.version}</version>
			</dependency>
			
			<dependency>
				<groupId>com.vaadin.addons.modernization</groupId>
				<artifactId>dragonfly-remote-api</artifactId>
				<version>${project.version}</version>
			</dependency>
			
			<dependency>
				<groupId>com.vaadin</groupId>
				<artifactId>license-checker</artifactId>
				<version>${license.checker.version}</version>
			</dependency>

			<!-- 3rd party dependencies -->
			<dependency>
				<groupId>org.eclipse.jdt</groupId>
				<artifactId>org.eclipse.jdt.core</artifactId>
				<version>3.34.0</version>
			</dependency>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.13.2</version>
			</dependency>

			<!-- Maven plugin development dependencies -->
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-plugin-api</artifactId>
				<version>${maven-plugin-tools.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.plugin-tools</groupId>
				<artifactId>maven-plugin-annotations</artifactId>
				<version>${maven-plugin-tools.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.plugin-tools</groupId>
				<artifactId>maven-plugin-tools-annotations</artifactId>
				<version>${maven-plugin-tools.version}</version>
				<scope>provided</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>


	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>3.1.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>3.3.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.3</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.4.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>3.3.0</version>
				</plugin>
			</plugins>

		</pluginManagement>

		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>flatten-maven-plugin</artifactId>
				<version>1.6.0</version>
				<executions>
					<execution>
						<id>flatten</id>
						<phase>process-resources</phase>
						<goals>
							<goal>flatten</goal>
						</goals>
					</execution>
					<execution>
						<id>flatten.clean</id>
						<phase>clean</phase>
						<goals>
							<goal>clean</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>3.1.0</version>
				<inherited>false</inherited>
				<executions>
					<execution>
						<id>default-cli</id>
						<inherited>false</inherited>
						<configuration>
							<target>
								<replace summary="true" file="./dragonfly-core/src/main/java/META-INF/MANIFEST.MF" token="Bundle-Version: ${vaadin.modernization.pluginVersionOld}" 	value="Bundle-Version: ${vaadin.modernization.pluginVersionNew}" />
								<replace summary="true" file="./dragonfly-eclipse-plugin/plugin.xml" 			token="(${vaadin.modernization.pluginVersionOld})" 					value="(${vaadin.modernization.pluginVersionNew})" />
								<replace summary="true" file="./dragonfly-eclipse-plugin/META-INF/MANIFEST.MF" 	token="Bundle-Version: ${vaadin.modernization.pluginVersionOld}" 	value="Bundle-Version: ${vaadin.modernization.pluginVersionNew}" />
								<replace summary="true" file="./mtk-eclipse-plugin/plugin.xml" 			token="(${vaadin.modernization.pluginVersionOld})" 					value="(${vaadin.modernization.pluginVersionNew})" />
								<replace summary="true" file="./mtk-eclipse-plugin/META-INF/MANIFEST.MF" token="Bundle-Version: ${vaadin.modernization.pluginVersionOld}" 	value="Bundle-Version: ${vaadin.modernization.pluginVersionNew}" />
								<replace summary="true" file="./pathfinder-eclipse-plugin/plugin.xml" 			token="(${vaadin.modernization.pluginVersionOld})" 					value="(${vaadin.modernization.pluginVersionNew})" />
								<replace summary="true" file="./pathfinder-eclipse-plugin/META-INF/MANIFEST.MF" token="Bundle-Version: ${vaadin.modernization.pluginVersionOld}" 	value="Bundle-Version: ${vaadin.modernization.pluginVersionNew}" />
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>net.revelc.code.formatter</groupId>
				<artifactId>formatter-maven-plugin</artifactId>
				<version>2.23.0</version>
				<configuration>
					<configFile>https://raw.githubusercontent.com/vaadin/flow/main/eclipse/VaadinJavaConventions.xml</configFile>
					<!-- Provide a dummy JS config file to avoid errors -->
					<configJsFile>https://raw.githubusercontent.com/vaadin/flow/main/eclipse/VaadinJavaConventions.xml</configJsFile>
					<lineEnding>LF</lineEnding>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<modules>
		<module>finder-common</module>
		<module>mtk-core</module>
		<module>mtk-maven-plugin</module>
		<module>dragonfly-maven-plugin</module>
		<module>dragonfly-remote-api</module>
		
	</modules>

	<profiles>
		<profile>
			<id>eclipse-plugins</id>
			<activation>
				<property><name>!release</name></property>
			</activation>
			<modules>
				<module>pathfinder-core</module>
                <module>pathfinder-maven-plugin</module>
				
				<module>dragonfly-test</module>
				<module>dragonfly-refactorutils</module>
				<module>dragonfly-core</module>
				
				<module>pathfinder-eclipse-plugin</module>
				<module>dragonfly-eclipse-plugin</module>
				<module>mtk-eclipse-plugin</module>
				
				<module>it-maven-plugin</module>
				<module>it-testcases</module>
			</modules>
		</profile>
	</profiles>

</project>
