<!-- 
	This file is part of Burningwave Tools.                                                                      
	                                                                                                            
	Author: Roberto Gentili                                                                                     
	                                                                                                            
	Hosted at: https://github.com/burningwave/core                                                              
	                                                                                                            
	- -                                                                                                          
	                                                                                                            
	The MIT License (MIT)                                                                                       
	                                                                                                            
	Copyright (c) 2020-2022 Roberto Gentili                                                                          
	                                                                                                            
	Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
	documentation files (the "Software"), to deal in the Software without restriction, including without        
	limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of   
	the Software, and to permit persons to whom the Software is furnished to do so, subject to the following    
	conditions:                                                                                                 
	                                                                                                            
	The above copyright notice and this permission notice shall be included in all copies or substantial        
	portions of the Software.                                                                                   
	                                                                                                           
	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT       
	LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO   
	EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
	AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
	OR OTHER DEALINGS IN THE SOFTWARE.
-->
<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>

	<groupId>org.burningwave</groupId>
	<artifactId>tools</artifactId>

	<version>0.25.4</version>
	<packaging>jar</packaging>
	
	<name>Burningwave Tools</name>
	<description>
		A set of components based on Burningwave Core library that have high-level functionality such as a dependencies extractor and a Java old versions to Java 9 or later application converter
	</description>
	<url>https://burningwave.github.io/tools/</url>

	<licenses>
		<license>
			<name>MIT License</name>
			<url>https://github.com/burningwave/tools/blob/master/LICENSE</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	
	<organization>
		<name>Burningwave</name>
		<url>https://www.burningwave.org/</url>
	</organization>
	
	<developers>
		<developer>
			<name>Roberto Gentili</name>
			<id>roberto.gentili</id>
			<email>info@burningwave.org</email>
			<organization>Burningwave</organization>
			<organizationUrl>https://www.burningwave.org/</organizationUrl>
			<roles>
				<role>Administrator</role>
				<role>Developer</role>
			</roles>
		</developer>
		<developer>
			<name>Alessio Perrotta</name>
			<email>info@burningwave.org</email>
			<organization>Burningwave</organization>
			<organizationUrl>https://www.burningwave.org/</organizationUrl>
			<roles>
				<role>External relationship manager</role>
				<role>Developer</role>
			</roles>
		</developer>
	</developers>

	<properties>
		<copyright.holder>Roberto Gentili</copyright.holder>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<!-- Can be changed with one of this values: 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19-->
		<project_jdk_version>8</project_jdk_version>
		<javadocExecutable.relativePath>bin/javadoc</javadocExecutable.relativePath>
		<skipTests>true</skipTests>
		<project.test.includes>**/AllExceptHeavyTestsSuite.java</project.test.includes>
		<project.test.excludes>**/*Test.java</project.test.excludes>
		<project.generated.artifacts.prefix>bw</project.generated.artifacts.prefix>
		<repository.url>https://burningwave@github.com/burningwave/tools.git</repository.url>
		
		<burningwave-core.version>12.62.5</burningwave-core.version>
		<coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
		<jacoco-maven-plugin.version>0.7.6.201602180812</jacoco-maven-plugin.version>
		<junit-jupiter.version>5.8.2</junit-jupiter.version>
		<junit.version>1.8.2</junit.version>
		<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
		<maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
		<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
		<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
		<maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
		<maven-jxr-plugin.version>2.5</maven-jxr-plugin.version>
		<maven-release-plugin.version>2.5.3</maven-release-plugin.version>
		<maven-source-plugin.version>3.0.1</maven-source-plugin.version>
		<maven-scm-provider-gitexe.version>1.9.5</maven-scm-provider-gitexe.version>
		<maven-surefire-plugin.version>2.21.0</maven-surefire-plugin.version>
		<nexus-staging-maven-plugin.version>1.6.12</nexus-staging-maven-plugin.version>
	</properties>
	
	<issueManagement>
        <system>github.com</system>
        <url>https://github.com/burningwave/tools/issues</url>
    </issueManagement>
	
	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

	<scm>
		<connection>scm:git:${repository.url}</connection>
		<developerConnection>scm:git:${repository.url}</developerConnection>
		<url>https://github.com/burningwave/tools</url>
		<tag>tools-0.25.4</tag>
	</scm>

	<dependencies>
		
		<dependency>
		    <groupId>org.burningwave</groupId>
		    <artifactId>core</artifactId>
		    <version>${burningwave-core.version}</version>
		</dependency>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<version>${junit-jupiter.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.junit.platform</groupId>
			<artifactId>junit-platform-engine</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.junit.platform</groupId>
			<artifactId>junit-platform-commons</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.junit.platform</groupId>
			<artifactId>junit-platform-runner</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<build>
		<finalName>${project.generated.artifacts.prefix}-${project.artifactId}-${project.version}</finalName>
		<resources>
			<resource>
				<directory>${project.basedir}</directory>
				<includes>
					<include>**LICENSE</include>
				</includes>
				<targetPath>META-INF</targetPath>
			</resource>
			<resource>
				<directory>${project.basedir}/src/main/resources</directory>
				<includes>
					<include>**</include>
				</includes>
			</resource>
		</resources>
		<testResources>
			<testResource>
				<directory>${project.basedir}/src/test/java</directory>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</testResource>
			<testResource>
				<directory>${project.basedir}/src/test/resources</directory>
			</testResource>
		</testResources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
				<configuration>
					<source>${project_jdk_version}</source>
					<target>${project_jdk_version}</target>
					<verbose>true</verbose>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven-surefire-plugin.version}</version>
				<configuration>
					<skipTests>${skipTests}</skipTests>
					<excludes>
						<exclude>${project.test.excludes}</exclude>
					</excludes>
					<includes>
						<include>${project.test.includes}</include>
					</includes>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<version>${maven-jar-plugin.version}</version>
				<configuration>
					<excludes>
						<exclude>jdk/</exclude>
						<exclude>META-INF/maven/</exclude>
					</excludes>
					<archive>
						<addMavenDescriptor>false</addMavenDescriptor>
						<manifestEntries>
							<built-by>Burningwave</built-by>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>${maven-deploy-plugin.version}</version>
				<executions>
					<execution>
						<id>default-deploy</id>
						<phase>deploy</phase>
						<goals>
							<goal>deploy</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>${maven-release-plugin.version}</version>
				<configuration>
					<localCheckout>true</localCheckout>
					<pushChanges>true</pushChanges>
					<mavenExecutorId>forked-path</mavenExecutorId>
					<arguments>-Dgpg.passphrase=${gpg.passphrase}</arguments>
					<!-- <tagNameFormat>${project.artifactId}-${project.version}</tagNameFormat> -->
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.scm</groupId>
						<artifactId>maven-scm-provider-gitexe</artifactId>
						<version>${maven-scm-provider-gitexe.version}</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>${nexus-staging-maven-plugin.version}</version>
				<extensions>true</extensions>
				<configuration>
					<stagingProgressTimeoutMinutes>20</stagingProgressTimeoutMinutes>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>${maven-source-plugin.version}</version>
				<configuration>
					<excludes>
						<exclude>org/burningwave/core/classes/ClassLoaderDelegate.bwc</exclude>
					</excludes>
				</configuration>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${maven-javadoc-plugin.version}</version>
				<configuration>
					<javadocExecutable>${java.home}/${javadocExecutable.relativePath}</javadocExecutable>
					<encoding>UTF-8</encoding>
					<source>${project_jdk_version}</source>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadoc</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>${maven-jxr-plugin.version}</version>
			</plugin>
		</plugins>
	</reporting>

	<profiles>
		<!-- GPG Signature on release -->
		<profile>
			<id>release-sign-artifacts</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>${maven-gpg-plugin.version}</version>
						<executions>
							<execution>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<gpgArguments>
										<arg>--pinentry-mode</arg>
										<arg>loopback</arg>
									</gpgArguments>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>run-coveralls</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<!-- Generate coveralls reports from CI server. -->
					<plugin>
						<groupId>org.eluder.coveralls</groupId>
						<artifactId>coveralls-maven-plugin</artifactId>
						<version>${coveralls-maven-plugin.version}</version>
						<configuration>
							<sourceDirectories>
								<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
							</sourceDirectories>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.jacoco</groupId>
						<artifactId>jacoco-maven-plugin</artifactId>
						<version>${jacoco-maven-plugin.version}</version>
						<executions>
							<execution>
								<id>prepare-agent</id>
								<goals>
									<goal>prepare-agent</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>