<?xml version="1.0" ?>
<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>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<groupId>org.jpmml</groupId>
	<artifactId>jpmml-evaluator</artifactId>
	<version>1.6.2</version>
	<packaging>pom</packaging>

	<name>JPMML-Evaluator</name>
	<description>Java evaluator API for Predictive Model Markup Language (PMML)</description>
	<url>http://www.jpmml.org</url>

	<licenses>
		<license>
			<name>GNU Affero General Public License (AGPL) version 3.0</name>
			<url>http://www.gnu.org/licenses/agpl-3.0.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>villu.ruusmann</id>
			<name>Villu Ruusmann</name>
		</developer>
	</developers>
	<contributors>
		<contributor>
			<name>Sulev Sild</name>
		</contributor>
	</contributors>

	<modules>
		<!-- 
		The pmml-evaluator-reporting module has compile-time (but not run-time) dependence on the pmml-evaluator-reporting-processor module.
		The reactor is informed about it by ordering their <module> elements appropriately.
		-->
		<module>pmml-evaluator-reporting-processor</module>
		<module>pmml-evaluator</module>
		<module>pmml-evaluator-example</module>
		<module>pmml-evaluator-jackson</module>
		<module>pmml-evaluator-kryo</module>
		<module>pmml-evaluator-metro</module>
		<module>pmml-evaluator-moxy</module>
		<module>pmml-evaluator-reporting</module>
		<module>pmml-evaluator-testing</module>
	</modules>

	<scm>
		<connection>scm:git:git@github.com:jpmml/jpmml-evaluator.git</connection>
		<developerConnection>scm:git:git@github.com:jpmml/jpmml-evaluator.git</developerConnection>
		<url>git://github.com/jpmml/jpmml-evaluator.git</url>
		<tag>1.6.2</tag>
	</scm>
	<issueManagement>
		<system>GitHub</system>
		<url>https://github.com/jpmml/jpmml-evaluator/issues</url>
	</issueManagement>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator-example</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator-jackson</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator-kryo</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator-metro</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator-moxy</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator-reporting</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator-reporting-processor</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-evaluator-testing</artifactId>
				<version>1.6.2</version>
			</dependency>

			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-agent</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-model</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-model-jackson</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-model-kryo</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-model-metro</artifactId>
				<version>1.6.2</version>
			</dependency>
			<dependency>
				<groupId>org.jpmml</groupId>
				<artifactId>pmml-model-moxy</artifactId>
				<version>1.6.2</version>
			</dependency>

			<dependency>
				<groupId>com.beust</groupId>
				<artifactId>jcommander</artifactId>
				<version>1.72</version>
			</dependency>

			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>[19.0, 31.0.1-jre]</version>
				<exclusions>
					<exclusion>
						<groupId>com.google.code.findbugs</groupId>
						<artifactId>jsr305</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.google.errorprone</groupId>
						<artifactId>error_prone_annotations</artifactId>
					</exclusion>
					<!--
					<exclusion>
						<groupId>com.google.guava</groupId>
						<artifactId>failureaccess</artifactId>
					</exclusion>
					-->
					<exclusion>
						<groupId>com.google.guava</groupId>
						<artifactId>listenablefuture</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.google.j2objc</groupId>
						<artifactId>j2objc-annotations</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.checkerframework</groupId>
						<artifactId>*</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>animal-sniffer-annotations</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>io.dropwizard.metrics</groupId>
				<artifactId>metrics-core</artifactId>
				<version>4.2.7</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-math3</artifactId>
				<version>[3.1, 3.6.1]</version>
			</dependency>

			<dependency>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>animal-sniffer-annotations</artifactId>
				<version>1.20</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.33</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-jdk14</artifactId>
				<version>1.7.33</version>
			</dependency>

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.13.2</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<useIncrementalCompilation>false</useIncrementalCompilation>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>3.0.0</version>
				<executions>
					<execution>
						<id>enforce-maven</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<version>3.3.9</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.3.1</version>
				<configuration>
					<javadocVersion>1.8</javadocVersion>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5.3</version>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<localCheckout>true</localCheckout>
					<pushChanges>false</pushChanges>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.2.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.22.2</version>
				<configuration>
					<argLine>${jacoco.agent}</argLine>
					<trimStackTrace>false</trimStackTrace>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>animal-sniffer-maven-plugin</artifactId>
				<version>1.20</version>
				<executions>
					<execution>
						<id>android-21</id>
						<!-- Sniff main classes only -->
						<phase>process-classes</phase>
						<goals>
							<goal>check</goal>
						</goals>
						<configuration>
							<signature>
								<groupId>net.sf.androidscents.signature</groupId>
								<artifactId>android-api-level-21</artifactId>
								<version>5.0.1_r2</version>
							</signature>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!--
			Usage:
			$ mvn versions:display-dependency-updates
			$ mvn versions:display-plugin-updates
			-->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				<version>2.8.1</version>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.8.7</version>
				<executions>
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<propertyName>jacoco.agent</propertyName>
						</configuration>
					</execution>
					<execution>
						<id>post-unit-test</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>de.jutzig</groupId>
				<artifactId>github-release-plugin</artifactId>
				<version>1.2.0</version>
				<executions>
					<execution>
						<id>default-cli</id>
						<configuration>
							<artifact>${project.build.directory}/${project.artifactId}-executable-${project.version}.${project.packaging}</artifact>
							<description>https://github.com/jpmml/jpmml-evaluator</description>
							<releaseName>${project.version}</releaseName>
							<repositoryId>jpmml/jpmml-evaluator</repositoryId>
							<tag>${project.version}</tag>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
