<?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>com.blazebit</groupId>
	<version>11</version>
	<artifactId>blazebit-parent</artifactId>

	<packaging>pom</packaging>

	<name>Blazebit Parent POM</name>
	<description>Parent POM for Blazebit projects. Provides default project build configuration.</description>
	<url>http://www.blazebit.com</url>

	<issueManagement>
		<system>github</system>
		<url>https://github.com/Blazebit/blazebit-parent-pom/issues</url>
	</issueManagement>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>

	<organization>
		<name>Blazebit</name>
		<url>http://www.blazebit.com</url>
	</organization>

	<scm>
		<connection>scm:git:git@github.com:Blazebit/blazebit-parent-pom.git</connection>
		<developerConnection>scm:git:git@github.com:Blazebit/blazebit-parent-pom.git</developerConnection>
		<url>git@github.com:Blazebit/blazebit-parent-pom.git</url>
	  <tag>11</tag>
  </scm>

	<developers>
		<developer>
			<id>blazebit.com</id>
			<name>Blazebit Community</name>
			<organization>Blazebit.com</organization>
			<organizationUrl>http://www.blazebit.com</organizationUrl>
		</developer>
	</developers>

	<properties>
		<!-- **************** -->
		<!-- Plugins versions -->
		<!-- **************** -->
		<version.assembly.plugin>3.1.0</version.assembly.plugin>
		<version.buildhelper.plugin>3.0.0</version.buildhelper.plugin>
		<version.buildnumber.plugin>1.4</version.buildnumber.plugin>
		<version.bundle.plugin>3.5.0</version.bundle.plugin>
		<version.checkstyle.plugin>3.0.0</version.checkstyle.plugin>
		<version.clean.plugin>3.0.0</version.clean.plugin>
		<version.compiler.plugin>3.7.0</version.compiler.plugin>
		<version.dependency.plugin>3.0.2</version.dependency.plugin>
		<version.deploy.plugin>2.8.2</version.deploy.plugin>
		<version.ear.plugin>2.10.1</version.ear.plugin>
		<version.eclipse.plugin>2.10</version.eclipse.plugin>
		<version.ejb.plugin>3.0.0</version.ejb.plugin>
		<version.enforcer.plugin>3.0.0-M1</version.enforcer.plugin>
		<version.gpg.plugin>1.6</version.gpg.plugin>
		<version.idea.plugin>2.2.1</version.idea.plugin>
		<version.injection.plugin>1.0.2</version.injection.plugin>
		<version.install.plugin>2.5.2</version.install.plugin>
		<version.jar.plugin>3.0.2</version.jar.plugin>
		<version.javadoc.plugin>3.0.0</version.javadoc.plugin>
		<version.javancss.plugin>2.1</version.javancss.plugin>
		<version.jxr.plugin>2.5</version.jxr.plugin>
		<version.license.plugin>1.14</version.license.plugin>
		<version.plugin.plugin>3.5.1</version.plugin.plugin>
		<version.release.plugin>2.5.3</version.release.plugin>
		<version.resources.plugin>3.0.2</version.resources.plugin>
		<version.shade.plugin>3.1.0</version.shade.plugin>
		<version.site.plugin>3.7</version.site.plugin>
		<version.source.plugin>3.0.1</version.source.plugin>
		<version.surefire.plugin>2.20.1</version.surefire.plugin>
		<version.war.plugin>3.1.0</version.war.plugin>

		<!-- ************** -->
		<!-- Build settings -->
		<!-- ************** -->
		<module.name />

		<!-- Cross plugins settings -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- maven-compiler-plugin -->
		<maven.compiler.target>1.7</maven.compiler.target>
		<maven.compiler.source>1.7</maven.compiler.source>

		<!-- Options to override the compiler arguments directly on the compiler 
			arument line to separate between what the IDE understands as the source level 
			and what the Maven compiler actually use. -->
		<maven.compiler.argument.target>${maven.compiler.target}</maven.compiler.argument.target>
		<maven.compiler.argument.source>${maven.compiler.source}</maven.compiler.argument.source>

		<!-- maven-enforcer-plugin -->
		<!-- Version 3.0-beta-1 includes strong POM validation and correct "import" 
			scope dependency resolution. -->
		<maven.min.version>3.0</maven.min.version>
		<jdk.min.version>${maven.compiler.source}</jdk.min.version>

		<!-- maven-idea-plugin & maven-eclipse-plugin -->
		<downloadSources>true</downloadSources>

		<!-- maven-pmd-plugin -->
		<targetJdk>${maven.compiler.target}</targetJdk>

		<!-- maven-release-plugin -->
		<useReleaseProfile>false</useReleaseProfile>
		<arguments>-Pblazebit-release</arguments>

	</properties>

	<prerequisites>
		<maven>${maven.min.version}</maven>
	</prerequisites>

	<build>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>${version.assembly.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>${version.buildhelper.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>buildnumber-maven-plugin</artifactId>
					<version>${version.buildnumber.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>${version.bundle.plugin}</version>
					<configuration>
						<archive>
							<index>true</index>
							<manifest>
								<addDefaultSpecificationEntries>
									true
								</addDefaultSpecificationEntries>
								<addDefaultImplementationEntries>
									true
								</addDefaultImplementationEntries>
							</manifest>
							<manifestEntries>
								<Implementation-URL>${project.url}</Implementation-URL>
								<Java-Version>${java.version}</Java-Version>
								<Java-Vendor>${java.vendor}</Java-Vendor>
								<Os-Name>${os.name}</Os-Name>
								<Os-Arch>${os.arch}</Os-Arch>
								<Os-Version>${os.version}</Os-Version>
								<Scm-Url>${project.scm.url}</Scm-Url>
								<Scm-Connection>${project.scm.connection}</Scm-Connection>
							</manifestEntries>
						</archive>
						<instructions>
							<Scm-Revision>${buildNumber}</Scm-Revision>
							<Build-Timestamp>${build.datetime}</Build-Timestamp>
						</instructions>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>${version.checkstyle.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>${version.clean.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${version.compiler.plugin}</version>
					<configuration>
						<showDeprecation>true</showDeprecation>
						<showWarnings>true</showWarnings>
						<compilerArguments>
							<source>${maven.compiler.argument.source}</source>
							<target>${maven.compiler.argument.target}</target>
						</compilerArguments>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>${version.dependency.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>${version.deploy.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-ear-plugin</artifactId>
					<version>${version.ear.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>${version.eclipse.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-ejb-plugin</artifactId>
					<version>${version.ejb.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>${version.enforcer.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>${version.gpg.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-idea-plugin</artifactId>
					<version>${version.idea.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.jboss.maven.plugins</groupId>
					<artifactId>maven-injection-plugin</artifactId>
					<version>${version.injection.plugin}</version>
					<executions>
						<execution>
							<phase>compile</phase>
							<goals>
								<goal>bytecode</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>${version.install.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${version.jar.plugin}</version>
					<configuration>
						<archive>
							<index>true</index>
							<manifest>
								<addDefaultSpecificationEntries>
									true
								</addDefaultSpecificationEntries>
								<addDefaultImplementationEntries>
									true
								</addDefaultImplementationEntries>
							</manifest>
							<manifestEntries>
								<Automatic-Module-Name>${module.name}</Automatic-Module-Name>
								<Implementation-URL>${project.url}</Implementation-URL>
								<Java-Version>${java.version}</Java-Version>
								<Java-Vendor>${java.vendor}</Java-Vendor>
								<Os-Name>${os.name}</Os-Name>
								<Os-Arch>${os.arch}</Os-Arch>
								<Os-Version>${os.version}</Os-Version>
								<Scm-Url>${project.scm.url}</Scm-Url>
								<Scm-Connection>${project.scm.connection}</Scm-Connection>
								<Scm-Revision>${buildNumber}</Scm-Revision>
								<Build-Timestamp>${build.datetime}</Build-Timestamp>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>${version.javadoc.plugin}</version>
					<configuration>
						<header><![CDATA[<b>${project.name} ${project.version}</b>]]>
						</header>
						<footer><![CDATA[<b>${project.name} ${project.version}</b>]]>
						</footer>
						<archive>
							<index>true</index>
							<manifest>
								<addDefaultSpecificationEntries>
									true
								</addDefaultSpecificationEntries>
								<addDefaultImplementationEntries>
									true
								</addDefaultImplementationEntries>
							</manifest>
							<manifestEntries>
								<Automatic-Module-Name>${module.name}</Automatic-Module-Name>
								<Implementation-URL>${project.url}</Implementation-URL>
								<Java-Version>${java.version}</Java-Version>
								<Java-Vendor>${java.vendor}</Java-Vendor>
								<Os-Name>${os.name}</Os-Name>
								<Os-Arch>${os.arch}</Os-Arch>
								<Os-Version>${os.version}</Os-Version>
								<Scm-Url>${project.scm.url}</Scm-Url>
								<Scm-Connection>${project.scm.connection}</Scm-Connection>
								<Scm-Revision>${buildNumber}</Scm-Revision>
								<Build-Timestamp>${build.datetime}</Build-Timestamp>
							</manifestEntries>
						</archive>
						<encoding>UTF-8</encoding>
						<maxmemory>1g</maxmemory>
						<links>
							<link>http://docs.oracle.com/javase/7/docs/api/</link>
						</links>
					</configuration>
					<executions>
						<execution>
							<id>attach-javadocs</id>
							<phase>verify</phase>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>javancss-maven-plugin</artifactId>
					<version>${version.javancss.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jxr-plugin</artifactId>
					<version>${version.jxr.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>${version.license.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>${version.plugin.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>${version.release.plugin}</version>
					<configuration>
						<mavenExecutorId>forked-path</mavenExecutorId>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${version.resources.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>${version.shade.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>${version.site.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>${version.source.plugin}</version>
					<configuration>
						<archive>
							<index>true</index>
							<manifest>
								<addDefaultSpecificationEntries>
									true
								</addDefaultSpecificationEntries>
								<addDefaultImplementationEntries>
									true
								</addDefaultImplementationEntries>
							</manifest>
							<manifestEntries>
								<Automatic-Module-Name>${module.name}</Automatic-Module-Name>
								<Implementation-URL>${project.url}</Implementation-URL>
								<Java-Version>${java.version}</Java-Version>
								<Java-Vendor>${java.vendor}</Java-Vendor>
								<Os-Name>${os.name}</Os-Name>
								<Os-Arch>${os.arch}</Os-Arch>
								<Os-Version>${os.version}</Os-Version>
								<Scm-Url>${project.scm.url}</Scm-Url>
								<Scm-Connection>${project.scm.connection}</Scm-Connection>
								<Scm-Revision>${buildNumber}</Scm-Revision>
								<Build-Timestamp>${build.datetime}</Build-Timestamp>
							</manifestEntries>
						</archive>
					</configuration>
					<executions>
						<execution>
							<id>attach-sources</id>
							<phase>verify</phase>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${version.surefire.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>${version.war.plugin}</version>
				</plugin>

				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<!-- Configure m2e to execute the manifest goal of the bundle plugin, 
									if present. -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.felix</groupId>
										<artifactId>maven-bundle-plugin</artifactId>
										<versionRange>[2.3.7,)</versionRange>
										<goals>
											<goal>manifest</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
								<!-- Configure m2e to ignore the Maven enforcer plugin -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-enforcer-plugin</artifactId>
										<versionRange>[1.0,)</versionRange>
										<goals>
											<goal>enforce</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<!-- Configure m2e to ignore the buildnumber-maven-plugin. -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.codehaus.mojo</groupId>
										<artifactId>buildnumber-maven-plugin</artifactId>
										<versionRange>[1.0.0,)</versionRange>
										<goals>
											<goal>create</goal>
											<goal>create-timestamp</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-dependency-plugin
										</artifactId>
										<versionRange>
											[2.3,)
										</versionRange>
										<goals>
											<goal>copy</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>

			</plugins>

		</pluginManagement>

		<plugins>

			<!-- Check for the minimum version of Java and Maven. Runs during the 
				validate phase. -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-java-version</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireJavaVersion>
									<message>To build this project JDK ${jdk.min.version} (or
										greater) is required. Please install it.</message>
									<version>${jdk.min.version}</version>
								</requireJavaVersion>
							</rules>
						</configuration>
					</execution>
					<execution>
						<id>enforce-maven-version</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<message>To build this project Maven ${maven.min.version} (or
										greater) is required. Please install it.</message>
									<version>${maven.min.version}</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- Set properties containing the scm revision and build timestamp -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>get-build-timestamp</id>
						<phase>initialize</phase>
						<goals>
							<goal>create-timestamp</goal>
						</goals>
						<configuration>
							<!-- Example date: Wed, 4 Jul 2001 12:08:56 -0700 -->
							<timestampFormat>EEE, d MMM yyyy HH:mm:ss Z</timestampFormat>
							<timestampPropertyName>build.datetime</timestampPropertyName>
						</configuration>
					</execution>
					<execution>
						<id>get-scm-revision</id>
						<phase>initialize</phase>
						<goals>
							<goal>create</goal>
						</goals>
						<configuration>
							<doCheck>false</doCheck>
							<doUpdate>false</doUpdate>
							<revisionOnScmFailure>UNKNOWN</revisionOnScmFailure>
							<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- Attach source jar to all builds. Runs during the package phase. -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>

	</build>

	<profiles>

		<!-- The profile blazebit-release must be active when a project is released. 
			The configuration in this POM will automatically call this profile if using 
			the maven-release-plugin. If the maven-release-plugin is not used during 
			the release, this profile must be manually activated. -->
		<profile>
			<id>blazebit-release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-deploy-plugin</artifactId>
						<configuration>
							<updateReleaseInfo>true</updateReleaseInfo>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					
					<!-- This will sign the artifact, the POM, and all attached artifacts -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<configuration>
							<passphrase>${gpg.passphrase}</passphrase>
							<useAgent>true</useAgent>
						</configuration>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

	</profiles>

	<distributionManagement>
		<snapshotRepository>
			<id>sonatype-nexus-snapshots</id>
			<name>Sonatype Nexus Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
		</snapshotRepository>
		<repository>
			<id>sonatype-nexus-staging</id>
			<name>Nexus Release Repository</name>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>
</project>
