<?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/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<groupId>org.bitbucket.kudaopenapi</groupId>
	<artifactId>crypto</artifactId>
	<packaging>jar</packaging>
	<version>1.0.0</version>

	<name>${project.groupId}:${project.artifactId}</name>
	<description>Kuda Open API Crypto Library for Java 8+</description>
	<url>https://www.kuda.com</url>

	<licenses>
		<license>
			<name>The Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Dipo Aina</name>
			<email>openapi@kudabank.com</email>
			<organization>Kuda MFB</organization>
			<organizationUrl>https://www.kuda.com</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:git://bitbucket.org/kudaopenapi/maven-repo.git</connection>
		<developerConnection>scm:git:ssh://bitbucket.org/kudaopenapi/maven-repo.git</developerConnection>
		<url>https://bitbucket.org/kudaopenapi/maven-repo/src</url>
	</scm>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<lmaxDisruptorVersion>3.4.3</lmaxDisruptorVersion>
		<mavenSurefirePluginVersion>3.0.0-M4</mavenSurefirePluginVersion>
		<mavenFailsafePluginVersion>3.0.0-M4</mavenFailsafePluginVersion>
		<mavenCompilerPluginVersion>3.8.1</mavenCompilerPluginVersion>
		<mavenSourcePluginVersion>3.2.1</mavenSourcePluginVersion>
		<mavenJavadocPluginVersion>3.3.0</mavenJavadocPluginVersion>
		<mavenGpgPluginVersion>3.0.1</mavenGpgPluginVersion>
		<gitCommitIdPluginVersion>4.0.0</gitCommitIdPluginVersion>
		<junitVersion>5.7.2</junitVersion>
		<log4jVersion>2.14.1</log4jVersion>
		<commonsCodecVersion>1.15</commonsCodecVersion>
		<jacocoMavenPluginVersion>0.8.7</jacocoMavenPluginVersion>
	</properties>

	<distributionManagement>
	<snapshotRepository>
		<id>ossrh</id>
		<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
	</snapshotRepository>
	<repository>
		<id>ossrh</id>
		<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
	</repository>
	</distributionManagement>

	<dependencies>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<version>${junitVersion}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-params</artifactId>
			<version>${junitVersion}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>${log4jVersion}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId>
			<version>${log4jVersion}</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>${commonsCodecVersion}</version>
		</dependency>
		<dependency>
			<groupId>com.lmax</groupId>
			<artifactId>disruptor</artifactId>
			<version>${lmaxDisruptorVersion}</version>
		</dependency>

	</dependencies>

	<build>
		<resources>
			<resource>
				<filtering>true</filtering>
				<directory>src/main/resources</directory>
			</resource>
		</resources>

		<plugins>
			<!-- to manage project versioning using git commit id plugin -->
			<plugin>
				<groupId>pl.project13.maven</groupId>
				<artifactId>git-commit-id-plugin</artifactId>
				<version>${gitCommitIdPluginVersion}</version>
				<executions>
					<execution>
						<id>get-the-git-infos</id>
						<goals>
							<goal>revision</goal>
						</goals>
						<!-- *NOTE*: The default phase of revision is initialize, but in case 
							you want to change it, you can do so by adding the phase here -->
						<phase>initialize</phase>
					</execution>
					<execution>
						<id>validate-the-git-infos</id>
						<goals>
							<goal>validateRevision</goal>
						</goals>
						<!-- *NOTE*: The default phase of validateRevision is verify, but in 
							case you want to change it, you can do so by adding the phase here -->
						<phase>package</phase>
					</execution>
					<!-- <execution> -->
					<!-- <phase>validate</phase> -->
					<!-- <goals> -->
					<!-- <goal>revision</goal> -->
					<!-- </goals> -->
					<!-- </execution> -->
				</executions>
				<configuration>
					<dateFormat>yyyyMMdd.HHmm.ss</dateFormat>
					<dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
					<injectAllReactorProjects>true</injectAllReactorProjects>
					<runOnlyOnce>true</runOnlyOnce>
					<verbose>false</verbose>
					<skipPoms>false</skipPoms>
					<generateGitPropertiesFile>false</generateGitPropertiesFile>
					<generateGitPropertiesFilename>${project.basedir}/git.properties</generateGitPropertiesFilename>
					<includeOnlyProperties>
						<includeOnlyProperty>git.commit.id</includeOnlyProperty>
						<includeOnlyProperty>git.branch</includeOnlyProperty>
						<includeOnlyProperty>git.build.time</includeOnlyProperty>
						<includeOnlyProperty>git.commit.id.abbrev</includeOnlyProperty>
						<includeOnlyProperty>git.commit.time</includeOnlyProperty>
					</includeOnlyProperties>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${mavenCompilerPluginVersion}</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>${mavenSourcePluginVersion}</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${mavenJavadocPluginVersion}</version>
				<configuration>
					<source>8</source>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>${mavenGpgPluginVersion}</version>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- JUnit 5 Maven Test -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${mavenSurefirePluginVersion}</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>${mavenFailsafePluginVersion}</version>
			</plugin>

			<!-- Code Coverage -->
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>${jacocoMavenPluginVersion}</version>
				<executions>
					<execution>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>code-coverage-report</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!--plugin>
				<groupId></groupId>
				<artifactId></artifactId>
				<version></version>
			</plugin>-->
			<plugin>
  				<groupId>org.sonatype.plugins</groupId>
  				<artifactId>nexus-staging-maven-plugin</artifactId>
  				<version>1.6.8</version>
  				<extensions>true</extensions>
  				<configuration>
     				<serverId>ossrh</serverId>
     				<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
     				<autoReleaseAfterClose>true</autoReleaseAfterClose>
  				</configuration>
			</plugin>
		</plugins>
	</build>

</project>