<?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>
	<groupId>org.easyb</groupId>
	<artifactId>easyb-parent</artifactId>
	<version>1.1</version>
	<packaging>pom</packaging>
	<name>easyb-parent</name>
	<description>
    This is the top-level parent project for easyb artifacts. It separates out the release of non-code artifacts from
    code artifacts.

    It configures distribution repositories and top level plugin defaults. Parent poms are not to include dependencies
    of any kind.
  </description>
	<url>http://www.easyb.org</url>
	<developers>
		<developer>
			<id>ajglover</id>
			<name>Andy Glover</name>
		</developer>
		<developer>
			<id>rvowles</id>
			<name>Richard Vowles</name>
			<email>richard@bluetrainsoftware.com</email>
			<url>http://www.bluetrainsoftware.com</url>
		</developer>
	</developers>
	<licenses>
		<license>
			<name>MIT License</name>
			<url>http://www.opensource.org/licenses/mit-license.php</url>
		</license>
	</licenses>
	<scm>
		<!-- this is the format documented in the 1.4 SCM plugin -->
		<connection>scm:git:git@github.com:easyb/easyb-parent</connection>
		<developerConnection>scm:git:git@github.com:easyb/easyb-parent</developerConnection>
		<url>http://github.com/easyb/easyb-parent</url>
	  <tag>easyb-parent-1.1</tag>
  </scm>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<easyb.release>dev</easyb.release>
	</properties>
	<distributionManagement>
		<repository>
			<id>sonatype-staging</id>
			<name>oss.sonatype.org Staging Repository</name>
			<url>http://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
		<snapshotRepository>
			<id>sonatype-snapshots</id>
			<name>oss.sonatype.org Snapshot Repository</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
		</snapshotRepository>
	</distributionManagement>
	<profiles>
		<profile>
			<!-- adtivate the sonatype profile when a release is being done -->
			<id>sonaytpe</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.1</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-scm-plugin</artifactId>
					<version>1.9</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>1.2</version>
					<!-- Invocation is defined by the release plugin goal set hence no executions -->
					<configuration>
						<rules>
							<requireMavenVersion>
								<version>[3.2.2,)</version>
							</requireMavenVersion>
							<requireReleaseDeps>
								<!--  Don't allow releases with snapshop deps or parents -->
								<message>No Snapshots Allowed!</message>
								<failWhenParentIsSnapshot>true</failWhenParentIsSnapshot>
								<searchTransitive>true</searchTransitive>
							</requireReleaseDeps>
							<bannedDependencies>
								<excludes>
									<exclude>commons-logging</exclude>
									<exclude>commons-logging-api</exclude>
								</excludes>
							</bannedDependencies>
						</rules>
						<fail>true</fail>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5</version>
					<configuration>
						<mavenExecutorId>forked-path</mavenExecutorId>
						<arguments>-Deasyb.release=release</arguments>
						<preparationGoals>clean enforcer:enforce verify</preparationGoals>
						<goals>enforcer:enforce deploy</goals>
						<tagBase>release/${project.groupId}/</tagBase>
						<pushChanges>false</pushChanges>
						<localCheckout>true</localCheckout>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
