<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>com.aerospike</groupId>
	<artifactId>java-object-mapper</artifactId>
	<version>2.2.0</version>
	<packaging>jar</packaging>
	
	<name>Aerospike Object Mapper</name>
	<description>Aerospike Object Mapper aims to lower the amount of code required when mapping POJOs
		to Aerospike and back as well as reducing some of the brittleness of the code.</description>
	<url>https://github.com/aerospike/java-object-mapper</url>
	<organization>
		<name>Aerospike Inc.</name>
		<url>https://www.aerospike.com</url>
	</organization>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
   		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.source.plugin.version>3.2.1</maven.source.plugin.version>
		<maven.javadoc.plugin.version>3.3.0</maven.javadoc.plugin.version>
		<maven.gpg.plugin.version>1.6</maven.gpg.plugin.version>
		<maven.compiler.plugin.version>3.10.1</maven.compiler.plugin.version>
		<maven-surefire-plugin.version>3.0.0-M8</maven-surefire-plugin.version>
		<javax.validation-api.version>2.0.1.Final</javax.validation-api.version>
		<aerospike-client.version>6.1.6</aerospike-client.version>
		<aerospike-reactor.version>6.1.2</aerospike-reactor.version>
		<commons-lang3.version>3.12.0</commons-lang3.version>
		<jackson-dataformat-yaml.version>2.14.2</jackson-dataformat-yaml.version>
		<lombok.version>1.18.24</lombok.version>
		<reactor-test.version>3.5.2</reactor-test.version>
		<junit-jupiter.version>5.9.2</junit-jupiter.version>
	</properties>

	<licenses>
		<license>
			<name>The Apache License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>Tim Faulkes</id>
			<name>Tim Faulkes</name>
			<email>tim@aerospike.com</email>
			<url>https://www.aerospike.com</url>
			<organization>Aerospike Inc.</organization>
			<organizationUrl>https://www.aerospike.com</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:git://github.com/aerospike/java-object-mapper.git</connection>
		<developerConnection>scm:git:ssh://git@github.com:aerospike/java-object-mapper.git</developerConnection>
		<url>https://github.com/aerospike/java-object-mapper</url>
	</scm>

	<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>

	<dependencies>
		<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
		<dependency>
		    <groupId>javax.validation</groupId>
		    <artifactId>validation-api</artifactId>
		    <version>${javax.validation-api.version}</version>
		</dependency>
				
		<!-- https://mvnrepository.com/artifact/com.aerospike/aerospike-client -->
		<dependency>
		    <groupId>com.aerospike</groupId>
		    <artifactId>aerospike-client</artifactId>
		    <version>${aerospike-client.version}</version>
		</dependency>

		<dependency>
			<groupId>com.aerospike</groupId>
			<artifactId>aerospike-reactor-client</artifactId>
			<version>${aerospike-reactor.version}</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>${commons-lang3.version}</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml -->
		<!-- Needed to parse the options file -->
		<dependency>
		    <groupId>com.fasterxml.jackson.dataformat</groupId>
		    <artifactId>jackson-dataformat-yaml</artifactId>
		    <version>${jackson-dataformat-yaml.version}</version>
		</dependency>

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>${lombok.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>io.projectreactor</groupId>
			<artifactId>reactor-test</artifactId>
			<version>${reactor-test.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter</artifactId>
			<version>${junit-jupiter.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>${maven.source.plugin.version}</version>
				<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>
					<doclint>none</doclint>
					<reportOutputDirectory>${basedir}</reportOutputDirectory>
					<doctitle>Aerospike Java Object Mapper</doctitle>
					<show>public</show>
					<splitindex>true</splitindex>
					<bottom>Copyright &#169; 2020&#x2013;{currentYear} Aerospike, Inc. All rights reserved.</bottom>
					<sourcepath>${basedir}/src/main/java</sourcepath>
					<source>1.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>${maven.gpg.plugin.version}</version>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven.compiler.plugin.version}</version>
				<configuration>
					<source>${maven.compiler.source}</source>
					<target>${maven.compiler.target}</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven-surefire-plugin.version}</version>
			</plugin>
		</plugins>
		<resources>
			<resource>
				<directory>${project.basedir}/src/main/java</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
				</includes>
			</resource>
		</resources>
	</build>
</project>
