<?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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>nz.net.osnz.parent</groupId>
		<artifactId>central-parent</artifactId>
		<version>5.1</version>
	</parent>

	<artifactId>java-parent</artifactId>
	<version>5.1</version>
	<packaging>pom</packaging>

	<name>Open Source New Zealand - Central Java Parent</name>
	<description>This is the central java artifact for all java-based projects.</description>
	<url>https://github.com/OpenSourceNZ/java-parent</url>

	<properties>
		<maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version>
		<compile.plugin.debug>false</compile.plugin.debug>
		<compile.plugin.optimize>true</compile.plugin.optimize>
		<java.version>1.8</java.version>

		<skip.integration.tests>false</skip.integration.tests>
		<unit.test />
		<javadoc.opts>-Xdoclint:none</javadoc.opts>
		<sonar.language>java</sonar.language>
	</properties>

	<build>
		<plugins>

			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.7.201606060606</version>
				<executions>
					<execution>
						<id>prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>report</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!--
				Exclude integration and functional tests in the normal test phase.
				Integration tests are run in a separate surefire run in the test
				phase; functional tests are run later via the failsafe plugin.
			  -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<useSystemClassLoader>true</useSystemClassLoader>
					<useManifestOnlyJar>false</useManifestOnlyJar>
					<failIfNoTests>false</failIfNoTests>
					<includes>
						<include>**/*Test.java</include>
						<include>**/*Tests.java</include>
					</includes>
					<excludes>
						<exclude>**/*$*</exclude>
						<exclude>**/*IntegrationTest.java</exclude>
						<exclude>**/*IntegrationTests.java</exclude>
					</excludes>
				</configuration>
				<executions>
					<execution>
						<id>integration-test</id>
						<phase>test</phase>
						<goals>
							<goal>test</goal>
						</goals>
						<configuration>
							<skipTests>${skip.integration.tests}</skipTests>
							<includes>
								<include>**/*IntegrationTest.java</include>
								<include>**/*IntegrationTests.java</include>
							</includes>
							<excludes>
								<exclude>**/*$*</exclude>
							</excludes>
							<test>${unit.test}</test>
							<!-- specify -Dunit.test=testname to run individual test -->
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.0</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>package</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.3</version>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<additionalparam>${javadoc.opts}</additionalparam>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
					<optimize>${compile.plugin.optimize}</optimize>
					<debug>${compile.plugin.debug}</debug>
				</configuration>
			</plugin>

		</plugins>
	</build>

	<scm>
		<url>https://github.com/OpenSourceNZ/java-parent</url>
		<connection>scm:git:git@github.com/OpenSourceNZ/java-parent.git</connection>
		<developerConnection>scm:git:git@github.com:OpenSourceNZ/java-parent.git</developerConnection>
		<tag>java-parent-5.1</tag>
	</scm>

</project>
