<!-- Copyright (C) 2010-2013 Andrei Pozolotin <Andrei.Pozolotin@gmail.com> 
	All rights reserved. Licensed under the OSI BSD License. http://www.opensource.org/licenses/bsd-license.php -->
<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">

	<!-- http://maven.apache.org/ref/3.0.4/maven-model-builder/super-pom.html -->
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.carrotgarden.base</groupId>
	<artifactId>carrot-archon</artifactId>
	<version>1.6.0</version>
	<packaging>pom</packaging>

	<url>http://www.carrotgarden.com/</url>
	<name>${project.artifactId}</name>
	<description>${project.artifactId}</description>
	<inceptionYear>2010</inceptionYear>

	<organization>
		<name>CarrotGarden</name>
		<url>http://www.carrotgarden.com/</url>
	</organization>

	<licenses>
		<license>
			<name>The BSD License</name>
			<url>http://www.opensource.org/licenses/bsd-license.php</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>

		<developer>
			<id>Andrei-Pozolotin</id>
			<name>Andrei Pozolotin</name>
			<email>Andrei.Pozolotin@gmail.com</email>
			<roles>
				<role>gardener</role>
			</roles>
		</developer>

	</developers>

	<mailingLists>
		<mailingList>
			<name>CarrotGarden</name>
			<post>tag : carrot-garden</post>
			<subscribe>http://stackoverflow.com/users/login</subscribe>
			<archive>http://stackoverflow.com/tags/carrot-garden</archive>
		</mailingList>
	</mailingLists>

	<scm>
		<url>https://github.com/carrot-garden/carrot-archon</url>
		<connection>scm:git:git://github.com/carrot-garden/carrot-archon.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/carrot-garden/carrot-archon.git</developerConnection>
		<tag>carrot-archon-1.6.0</tag>
	</scm>

	<properties>

		<!-- default encoding -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<!-- default versions -->
		<projectJavaVersion>1.7</projectJavaVersion>
		<projectScalaVersion>2.9.2</projectScalaVersion>
		<projectMavenVersion>3.0.4</projectMavenVersion>

		<!-- Testing plugins: surefire, failsafe. -->
		<projectTestingVersion>2.12.4</projectTestingVersion>

		<!-- carrot garden private repository -->
		<amazonActiveRepo>activate-via-profile</amazonActiveRepo>
		<amazonReleaseRepo>repository.carrotgarden.com</amazonReleaseRepo>
		<amazonStagingRepo>repository-dev.carrotgarden.com</amazonStagingRepo>

		<!-- carrot garden public repository -->
		<sonatypeReleaseURL>https://oss.sonatype.org/content/repositories/releases</sonatypeReleaseURL>
		<sonatypeStagingURL>https://oss.sonatype.org/service/local/staging/deploy/maven2/</sonatypeStagingURL>
		<sonatypeSnapshotsURL>https://oss.sonatype.org/content/repositories/snapshots</sonatypeSnapshotsURL>

		<!-- see maven-release-plugin -->
		<releaseProfiles />
		<!-- <releaseNestedArguments>-Dresume=false</releaseNestedArguments> -->
		<releasePrepareGoals>clean verify</releasePrepareGoals>
		<releasePerformGoals>deploy</releasePerformGoals>

	</properties>

	<prerequisites>
		<maven>${projectMavenVersion}</maven>
	</prerequisites>

	<dependencyManagement>
		<dependencies>

			<!-- MAIN -->

			<dependency>
				<groupId>org.scala-lang</groupId>
				<artifactId>scala-library</artifactId>
				<version>${projectScalaVersion}</version>
			</dependency>

			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.core</artifactId>
				<version>4.3.1</version>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.compendium</artifactId>
				<version>4.3.1</version>
			</dependency>

			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>2.2</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.4</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-core</artifactId>
				<version>1.0.10</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>1.0.10</version>
			</dependency>

			<!-- TEST -->

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.11</version>
			</dependency>

			<!-- <dependency> -->
			<!-- <groupId>org.testng</groupId> -->
			<!-- <artifactId>testng</artifactId> -->
			<!-- <version>6.8</version> -->
			<!-- </dependency> -->

			<dependency>
				<groupId>org.easymock</groupId>
				<artifactId>easymock</artifactId>
				<version>3.1</version>
			</dependency>

			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>1.9.5</version>
			</dependency>

		</dependencies>
	</dependencyManagement>

	<dependencies>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>

		<!-- <dependency> -->
		<!-- <groupId>org.testng</groupId> -->
		<!-- <artifactId>testng</artifactId> -->
		<!-- <scope>test</scope> -->
		<!-- </dependency> -->

		<dependency>
			<groupId>org.easymock</groupId>
			<artifactId>easymock</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<build>

		<extensions>

			<!-- enable amazon bucket transport -->
			<extension>
				<groupId>org.kuali.maven.wagons</groupId>
				<artifactId>maven-s3-wagon</artifactId>
				<version>1.1.19</version>
			</extension>

		</extensions>

		<pluginManagement>

			<plugins>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-invoker-plugin</artifactId>
					<version>1.8</version>
					<configuration>
						<debug>false</debug>
						<showErrors>false</showErrors>
						<streamLogs>false</streamLogs>
						<ignoreFailures>false</ignoreFailures>
						<projectsDirectory>src/it</projectsDirectory>
						<cloneProjectsTo>target/it</cloneProjectsTo>
						<invokerPropertiesFile>invoker.properties</invokerPropertiesFile>
						<pomIncludes>
							<include>archon/pom.xml</include>
						</pomIncludes>
						<goals>
							<!-- goals for child maven invocation -->
							<goal>clean</goal>
							<goal>install</goal>
						</goals>
					</configuration>
					<executions>
						<execution>
							<id>integration-test</id>
							<goals>
								<!-- goals for parent maven invocation -->
								<goal>install</goal>
								<goal>run</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.apache.servicemix.tooling</groupId>
					<artifactId>depends-maven-plugin</artifactId>
					<version>1.2</version>
				</plugin>

				<plugin>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>maven-paxexam-plugin</artifactId>
					<version>1.2.4</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>findbugs-maven-plugin</artifactId>
					<version>2.5.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>2.6</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>1.2.1</version>
				</plugin>

				<plugin>
					<groupId>com.mycila.maven-license-plugin</groupId>
					<artifactId>maven-license-plugin</artifactId>
					<version>1.10.b1</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jxr-plugin</artifactId>
					<version>2.3</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-project-info-reports-plugin</artifactId>
					<version>2.6</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>wagon-maven-plugin</artifactId>
					<version>1.0-beta-4</version>
				</plugin>

				<plugin>
					<groupId>org.kuali.maven.plugins</groupId>
					<artifactId>wagon-maven-plugin</artifactId>
					<version>1.0.3</version>
				</plugin>

				<plugin>
					<groupId>org.kuali.maven.plugins</groupId>
					<artifactId>properties-maven-plugin</artifactId>
					<version>2.0.1</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-help-plugin</artifactId>
					<version>2.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>1.4</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>1.7</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-patch-plugin</artifactId>
					<version>1.1.1</version>
				</plugin>

				<!-- Pending http://jira.codehaus.org/browse/SCM-709 -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-scm-plugin</artifactId>
					<version>1.7</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>2.4</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.2</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>1.7</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>2.6</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.4</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>2.5</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>2.4</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>2.0</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.0</version>
					<configuration>
						<source>${projectJavaVersion}</source>
						<target>${projectJavaVersion}</target>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>2.9</version>
				</plugin>

				<!-- keep in sync with <reporting> -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>2.9</version>
					<configuration>
						<quiet>true</quiet>
						<show>protected</show>
						<linksource>true</linksource>
						<windowtitle><![CDATA[${project.artifactId}-${project.version} / ${projectTimeISO}]]></windowtitle>
						<doctitle><![CDATA[${project.artifactId}-${project.version} / ${projectTimeISO}]]></doctitle>
						<header><![CDATA[<a href="${project.url}" target="_blank">${project.artifactId}</a><br>${project.version} / ${projectTimeISO}]]></header>
						<footer><![CDATA[<a href="${project.url}" target="_blank">${project.artifactId}</a><br>${project.version} / ${projectTimeISO}]]></footer>
						<bottom><![CDATA[Copyright © {inceptionYear}-{currentYear} <a href="${project.organization.url}" target="_blank">${project.organization.name}</a>. All Rights Reserved.]]></bottom>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>2.2.1</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>groovy-maven-plugin</artifactId>
					<version>1.5</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${projectTestingVersion}</version>
					<dependencies>
						<dependency>
							<groupId>org.apache.maven.surefire</groupId>
							<artifactId>surefire-junit4</artifactId>
							<version>${projectTestingVersion}</version>
						</dependency>
					</dependencies>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>${projectTestingVersion}</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.7</version>
				</plugin>

				<plugin>
					<groupId>org.scala-tools</groupId>
					<artifactId>maven-scala-plugin</artifactId>
					<version>2.15.2</version>
					<configuration>
						<scalaVersion>${projectScalaVersion}</scalaVersion>
						<sendJavaToScalac>false</sendJavaToScalac>
						<checkMultipleScalaVersions>false</checkMultipleScalaVersions>
						<jvmArgs>
							<jvmArg>-Xms64m</jvmArg>
							<jvmArg>-Xmx1024m</jvmArg>
						</jvmArgs>
					</configuration>
					<executions>
						<!-- compile java first, scala second -->
						<execution>
							<goals>
								<goal>add-source</goal>
								<goal>compile</goal>
								<goal>testCompile</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>net.alchim31.maven</groupId>
					<artifactId>scala-maven-plugin</artifactId>
					<version>3.1.3</version>
					<configuration>
						<scalaVersion>${projectScalaVersion}</scalaVersion>
						<jvmArgs>
							<jvmArg>-Xms64m</jvmArg>
							<jvmArg>-Xmx1024m</jvmArg>
						</jvmArgs>
					</configuration>
					<executions>
						<!-- compile java first, scala second -->
						<execution>
							<goals>
								<goal>add-source</goal>
								<goal>compile</goal>
								<goal>testCompile</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-enforcer-plugin</artifactId>
										<versionRange>[0,)</versionRange>
										<goals>
											<goal>enforce</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.codehaus.mojo</groupId>
										<artifactId>groovy-maven-plugin</artifactId>
										<versionRange>[0,)</versionRange>
										<goals>
											<goal>execute</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.servicemix.tooling</groupId>
										<artifactId>depends-maven-plugin</artifactId>
										<versionRange>[0,)</versionRange>
										<goals>
											<goal>generate-depends-file</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.ops4j.pax.exam</groupId>
										<artifactId>maven-paxexam-plugin</artifactId>
										<versionRange>[0,)</versionRange>
										<goals>
											<goal>generate-depends-file</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>1.2</version>
					<executions>
						<execution>
							<id>enforce-maven</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<rules>
									<requireMavenVersion>
										<version>${projectMavenVersion}</version>
										<message><![CDATA[you must have mavenVersion >= ${projectMavenVersion}]]></message>
									</requireMavenVersion>
								</rules>
							</configuration>
						</execution>
					</executions>
				</plugin>

				<!-- Pending http://jira.codehaus.org/browse/SCM-709 -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.3.2</version>
					<configuration>

						<!-- see super-pom.xml -->

						<!-- invocataion: release:prepare -->
						<preparationGoals>${releasePrepareGoals}</preparationGoals>

						<!-- invocataion: release:perform -->
						<useReleaseProfile>true</useReleaseProfile>
						<goals>${releasePerformGoals}</goals>
						<releaseProfiles>${releaseProfiles}</releaseProfiles>

						<!-- nested invocation arguments for both release:prepare and release:perform -->
						<!-- <arguments>${releaseNestedArguments}</arguments> -->

					</configuration>
				</plugin>

				<!-- generate osgi scr component descriptors -->
				<!-- <plugin> -->
				<!-- <groupId>com.carrotgarden.maven</groupId> -->
				<!-- <artifactId>carrot-maven-scr-plugin</artifactId> -->
				<!-- <version>3.0.0</version> -->
				<!-- <configuration> -->
				<!-- <targetDirectorySCR>OSGI-INF/service-component</targetDirectorySCR> -->
				<!-- <excludedServices> -->
				<!-- <service>scala.ScalaObject</service> -->
				<!-- <service>java.lang.Runnable</service> -->
				<!-- <service>java.io.Serializable</service> -->
				<!-- </excludedServices> -->
				<!-- </configuration> -->
				<!-- </plugin> -->

				<!-- include osgi scr component descriptors -->
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>2.3.7</version>
					<configuration>
						<instructions>
							<Service-Component>OSGI-INF/service-component/*.xml</Service-Component>
						</instructions>
					</configuration>
				</plugin>

			</plugins>

		</pluginManagement>

		<!-- build plugins active by default -->
		<plugins>

			<!-- enforce maven version -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
			</plugin>

			<!-- enforce java version -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>

			<!-- generate osgi scr component descriptors -->
			<!-- <plugin> -->
			<!-- <groupId>com.carrotgarden.maven</groupId> -->
			<!-- <artifactId>carrot-maven-scr-plugin</artifactId> -->
			<!-- </plugin> -->

			<!-- enable osgi bundle packaging -->
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
			</plugin>

			<!-- provide custom properties -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>groovy-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>provide-custom-properties</id>
						<phase>validate</phase>
						<goals>
							<goal>execute</goal>
						</goals>
						<configuration>
							<source>
		<![CDATA[
		//
		import java.text.MessageFormat
		def properties = project.properties
		//
		def projectTimeLong = System.currentTimeMillis()
		properties["projectTimeLong"] = projectTimeLong.toString()
		// println("### projectTimeLong=" + properties["projectTimeLong"])
		//
		def projectTimeFile = MessageFormat.format("{0,date,yyyy-MM-dd_HH-mm-ss}",projectTimeLong)
		properties["projectTimeFile"] = projectTimeFile.toString()
		// println("### projectTimeFile=" + properties["projectTimeFile"])
		//
		def projectTimeISO=MessageFormat.format("{0,date,yyyy-MM-dd'T'HH:mm:ss.SSSZ}",projectTimeLong)
		properties["projectTimeISO"] = projectTimeISO.toString()
		// println("### projectTimeISO=" + properties["projectTimeISO"])
		//
		def projectTimeYear=MessageFormat.format("{0,date,yyyy}",projectTimeLong)
		properties["projectTimeYear"] = projectTimeYear.toString()
		// println("### projectTimeYear=" + properties["projectTimeYear"])
		//
		]]>
							</source>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>

	</build>

	<profiles>

		<!-- activated by maven-release-plugin; also see super-pom.xml -->
		<profile>
			<id>release-profile</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<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>
					<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>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- private carrot garden buckets -->
		<profile>
			<id>amazon-release</id>
			<properties>
				<amazonActiveRepo>${amazonReleaseRepo}</amazonActiveRepo>
			</properties>
		</profile>
		<profile>
			<id>amazon-staging</id>
			<properties>
				<amazonActiveRepo>${amazonStagingRepo}</amazonActiveRepo>
			</properties>
		</profile>

		<!-- private carrot garden distribution -->
		<profile>
			<id>carrot-amazon-distribution</id>
			<activation>
				<file>
					<exists>maven-amazon.md</exists>
				</file>
			</activation>
			<distributionManagement>
				<repository>
					<id>com.carrotgarden.maven.s3.release</id>
					<url>s3://${amazonReleaseRepo}/maven</url>
				</repository>
				<snapshotRepository>
					<id>com.carrotgarden.maven.s3.staging</id>
					<url>s3://${amazonStagingRepo}/maven</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>

		<!-- private carrot garden repository -->
		<profile>
			<id>carrot-amazon-repository</id>
			<activation>
				<file>
					<exists>maven-amazon.md</exists>
				</file>
			</activation>
			<properties>
				<amazonBucketHost>s3.amazonaws.com</amazonBucketHost>
			</properties>
			<repositories>
				<repository>
					<id>com.carrotgarden.maven.http.release</id>
					<url>https://${amazonBucketHost}/${amazonReleaseRepo}/maven</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
				<repository>
					<id>com.carrotgarden.maven.http.staging</id>
					<url>https://${amazonBucketHost}/${amazonStagingRepo}/maven</url>
					<releases>
						<enabled>false</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>com.carrotgarden.maven.http.release</id>
					<url>https://${amazonBucketHost}/${amazonReleaseRepo}/maven</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</pluginRepository>
				<pluginRepository>
					<id>com.carrotgarden.maven.http.staging</id>
					<url>https://${amazonBucketHost}/${amazonStagingRepo}/maven</url>
					<releases>
						<enabled>false</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>

		<!-- public carrot garden distribution -->
		<profile>
			<id>carrot-sonatype-distribution</id>
			<activation>
				<file>
					<exists>maven-central.md</exists>
				</file>
			</activation>
			<distributionManagement>
				<snapshotRepository>
					<id>sonatype-nexus-snapshots</id>
					<name>Sonatype Nexus Snapshots</name>
					<url>${sonatypeSnapshotsURL}</url>
				</snapshotRepository>
				<repository>
					<id>sonatype-nexus-staging</id>
					<name>Sonatype Nexus Staging</name>
					<url>${sonatypeStagingURL}</url>
				</repository>
			</distributionManagement>
		</profile>

		<!-- public carrot garden snapshots; active by default -->
		<profile>
			<id>sonatype-nexus-snapshots</id>
			<activation>
				<property>
					<name>!disable-sonatype-nexus-snapshots</name>
				</property>
			</activation>
			<repositories>
				<repository>
					<id>sonatype-nexus-snapshots</id>
					<name>Sonatype Nexus Snapshots</name>
					<url>${sonatypeSnapshotsURL}</url>
					<releases>
						<enabled>false</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>sonatype-nexus-snapshots</id>
					<name>Sonatype Nexus Snapshots</name>
					<url>${sonatypeSnapshotsURL}</url>
					<releases>
						<enabled>false</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>

		<!-- public carrot garden releases (before promotion to central); active 
			by default -->
		<profile>
			<id>sonatype-nexus-releases</id>
			<activation>
				<property>
					<name>!disable-sonatype-nexus-releases</name>
				</property>
			</activation>
			<repositories>
				<repository>
					<id>sonatype-nexus-releases</id>
					<name>Sonatype Nexus Releases</name>
					<url>${sonatypeReleaseURL}</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>sonatype-nexus-releases</id>
					<name>Sonatype Nexus Releases</name>
					<url>${sonatypeReleaseURL}</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>

		<!-- jenkins build profile -->
		<profile>
			<id>build-jenkins</id>
			<activation>
				<property>
					<name>env.JENKINS_HOME</name>
				</property>
			</activation>
			<properties>
				<jenkins.manifest.testing.phase>process-classes</jenkins.manifest.testing.phase>
			</properties>
		</profile>

		<!-- pax exam v 2.x testing profile -->
		<profile>
			<id>pax-exam-2</id>
			<activation>
				<file>
					<exists>maven-pax-exam-2.md</exists>
				</file>
			</activation>
			<properties>
				<projectFelixVersion>4.0.3</projectFelixVersion>
				<projectPaxExamVersion>2.5.0</projectPaxExamVersion>
				<projectPaxUrlVersion>1.5.0</projectPaxUrlVersion>
			</properties>
			<dependencies>

				<!-- osgi framework -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.framework</artifactId>
					<version>${projectFelixVersion}</version>
					<scope>test</scope>
				</dependency>

				<!-- config admin run time -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.configadmin</artifactId>
					<version>1.4.0</version>
					<scope>test</scope>
				</dependency>

				<!-- event admin run time -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.eventadmin</artifactId>
					<version>1.2.14</version>
					<scope>test</scope>
				</dependency>

				<!-- declarative services run time -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.scr</artifactId>
					<version>1.6.0</version>
					<scope>test</scope>
				</dependency>

				<!-- pax exam core -->
				<dependency>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>pax-exam-junit4</artifactId>
					<version>${projectPaxExamVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>pax-exam-spi</artifactId>
					<version>${projectPaxExamVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>pax-exam-container-native</artifactId>
					<version>${projectPaxExamVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>pax-exam-link-assembly</artifactId>
					<version>${projectPaxExamVersion}</version>
					<scope>test</scope>
				</dependency>

				<!-- pax exam url -->
				<dependency>
					<groupId>org.ops4j.pax.url</groupId>
					<artifactId>pax-url-aether</artifactId>
					<version>${projectPaxUrlVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.url</groupId>
					<artifactId>pax-url-wrap</artifactId>
					<version>${projectPaxUrlVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.url</groupId>
					<artifactId>pax-url-war</artifactId>
					<version>${projectPaxUrlVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.url</groupId>
					<artifactId>pax-url-reference</artifactId>
					<version>${projectPaxUrlVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.url</groupId>
					<artifactId>pax-url-obr</artifactId>
					<version>${projectPaxUrlVersion}</version>
					<scope>test</scope>
				</dependency>

			</dependencies>
			<build>
				<plugins>

					<!-- generate dependencies versions for pax exam -->
					<plugin>
						<groupId>org.apache.servicemix.tooling</groupId>
						<artifactId>depends-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>generate-depends-file</id>
								<goals>
									<goal>generate-depends-file</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<!-- <plugin> -->
					<!-- <groupId>org.ops4j.pax.exam</groupId> -->
					<!-- <artifactId>maven-paxexam-plugin</artifactId> -->
					<!-- <executions> -->
					<!-- <execution> -->
					<!-- <id>generate-depends-file</id> -->
					<!-- <goals> -->
					<!-- <goal>generate-depends-file</goal> -->
					<!-- </goals> -->
					<!-- </execution> -->
					<!-- </executions> -->
					<!-- </plugin> -->

					<!-- generate manifest to test inside pax exam -->
					<plugin>
						<groupId>org.apache.felix</groupId>
						<artifactId>maven-bundle-plugin</artifactId>
						<executions>
							<execution>
								<id>manifest-testing</id>
								<phase>${jenkins.manifest.testing.phase}</phase>
								<goals>
									<goal>manifest</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

				</plugins>
			</build>
		</profile>

		<!-- license editor -->
		<profile>
			<id>license</id>
			<properties>

				<licenseSource>src/license</licenseSource>
				<licenseTarget>target/license</licenseTarget>
				<licenseFile>license-osi-bsd.txt</licenseFile>

				<licenseYear>${project.inceptionYear}-${projectTimeYear}</licenseYear>
				<licenseName>Andrei Pozolotin</licenseName>
				<licenseMail>Andrei.Pozolotin@gmail.com</licenseMail>

				<licenseGroupId>com.carrotgarden.base</licenseGroupId>
				<licenseArtifactId>carrot-archon-license</licenseArtifactId>
				<licenseVersion>RELEASE</licenseVersion>

			</properties>
			<build>
				<plugins>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-dependency-plugin</artifactId>
						<executions>
							<execution>
								<id>license-unpack</id>
								<phase>generate-resources</phase>
								<goals>
									<goal>unpack</goal>
								</goals>
								<configuration>
									<artifactItems>
										<artifactItem>
											<groupId>${licenseGroupId}</groupId>
											<artifactId>${licenseArtifactId}</artifactId>
											<version>${licenseVersion}</version>
											<type>jar</type>
										</artifactItem>
									</artifactItems>
									<outputDirectory>${licenseTarget}</outputDirectory>
									<overWriteIfNewer>true</overWriteIfNewer>
									<overWriteReleases>true</overWriteReleases>
									<overWriteSnapshots>true</overWriteSnapshots>
								</configuration>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>com.mycila.maven-license-plugin</groupId>
						<artifactId>maven-license-plugin</artifactId>
						<configuration>
							<header>${licenseTarget}/${licenseFile}</header>
							<properties>
								<year>${licenseYear}</year>
								<name>${licenseName}</name>
								<mail>${licenseMail}</mail>
							</properties>
							<strictCheck>true</strictCheck>
							<useDefaultMapping>false</useDefaultMapping>
							<useDefaultExcludes>false</useDefaultExcludes>
							<mapping>
								<!-- custom -->
								<md>XML_STYLE</md>
								<ant>XML_STYLE</ant>
								<scala>JAVADOC_STYLE</scala>
								<gitignore>SCRIPT_STYLE</gitignore>
								<component>SCRIPT_STYLE</component>
								<conf>SCRIPT_STYLE</conf>
								<cfg>SCRIPT_STYLE</cfg>
								<properties>SCRIPT_STYLE</properties>
								<!-- default -->
								<java>JAVADOC_STYLE</java>
								<groovy>JAVADOC_STYLE</groovy>
								<js>JAVADOC_STYLE</js>
								<css>JAVADOC_STYLE</css>
								<xml>XML_STYLE</xml>
								<dtd>XML_STYLE</dtd>
								<xsd>XML_STYLE</xsd>
								<html>XML_STYLE</html>
								<htm>XML_STYLE</htm>
								<xsl>XML_STYLE</xsl>
								<fml>XML_STYLE</fml>
								<apt>DOUBLETILDE_STYLE</apt>
								<properties>SCRIPT_STYLE</properties>
								<sh>SCRIPT_STYLE</sh>
								<txt>TEXT</txt>
								<bat>BATCH</bat>
								<cmd>BATCH</cmd>
								<sql>DOUBLEDASHES_STYLE</sql>
								<jsp>DYNASCRIPT_STYLE</jsp>
								<ftl>FTL</ftl>
								<xhtml>XML_STYLE</xhtml>
								<vm>SHARPSTAR_STYLE</vm>
								<jspx>XML_STYLE</jspx>
							</mapping>
							<includes>
								<entry>**</entry>
							</includes>
							<excludes>
								<!-- custom -->
								<entry>**/${licenseSource}/**</entry>
								<entry>**/*.template</entry>
								<entry>**/*.json</entry>
								<!-- // Miscellaneous typical temporary files -->
								<entry>**/*~</entry>
								<entry>**/#*#</entry>
								<entry>**/.#*</entry>
								<entry>**/%*%</entry>
								<entry>**/._*</entry>
								<entry>**/.repository/**</entry>
								<!-- // CVS -->
								<entry>**/CVS</entry>
								<entry>**/CVS/**</entry>
								<entry>**/.cvsignore</entry>
								<!-- // RCS -->
								<entry>**/RCS</entry>
								<entry>**/RCS/**</entry>
								<!-- // SCCS -->
								<entry>**/SCCS</entry>
								<entry>**/SCCS/**</entry>
								<!-- // Visual SourceSafe -->
								<entry>**/vssver.scc</entry>
								<!-- // Subversion -->
								<entry>**/.svn</entry>
								<entry>**/.svn/**</entry>
								<!-- // Arch -->
								<entry>**/.arch-ids</entry>
								<entry>**/.arch-ids/**</entry>
								<!-- // Bazaar -->
								<entry>**/.bzr</entry>
								<entry>**/.bzr/**</entry>
								<!-- // SurroundSCM -->
								<entry>**/.MySCMServerInfo</entry>
								<!-- // Mac -->
								<entry>**/.DS_Store</entry>
								<!-- // Serena Dimensions Version 10 -->
								<entry>**/.metadata</entry>
								<entry>**/.metadata/**</entry>
								<!-- // Mercurial -->
								<entry>**/.hg</entry>
								<entry>**/.hg/**</entry>
								<!-- // git -->
								<entry>**/.git</entry>
								<entry>**/.git/**</entry>
								<!-- // BitKeeper -->
								<entry>**/BitKeeper</entry>
								<entry>**/BitKeeper/**</entry>
								<entry>**/ChangeSet</entry>
								<entry>**/ChangeSet/**</entry>
								<!-- // darcs -->
								<entry>**/_darcs</entry>
								<entry>**/_darcs/**</entry>
								<entry>**/.darcsrepo</entry>
								<entry>**/.darcsrepo/**</entry>
								<entry>**/-darcs-backup*</entry>
								<entry>**/.darcs-temp-mail</entry>
								<!-- // maven project's temporary files -->
								<entry>**/target/**</entry>
								<entry>**/test-output/**</entry>
								<entry>**/release.properties</entry>
								<entry>**/pom.xml.*</entry>
								<entry>**/dependency-reduced-pom.xml</entry>
								<!-- // code coverage tools -->
								<entry>**/cobertura.ser</entry>
								<entry>**/.clover/**</entry>
								<!-- // eclipse project files -->
								<entry>**/.classpath</entry>
								<entry>**/.project</entry>
								<entry>**/.settings/**</entry>
								<!-- // IDEA projet files -->
								<entry>**/*.iml</entry>
								<entry>**/*.ipr</entry>
								<entry>**/*.iws</entry>
								<!-- // descriptors -->
								<entry>**/MANIFEST.MF</entry>
								<!-- // binary files - images -->
								<entry>**/*.jpg</entry>
								<entry>**/*.png</entry>
								<entry>**/*.gif</entry>
								<entry>**/*.ico</entry>
								<entry>**/*.bmp</entry>
								<entry>**/*.tiff</entry>
								<entry>**/*.tif</entry>
								<entry>**/*.cr2</entry>
								<entry>**/*.xcf</entry>
								<!-- // binary files - programs -->
								<entry>**/*.class</entry>
								<entry>**/*.exe</entry>
								<entry>**/*.bin</entry>
								<!-- // checksum files -->
								<entry>**/*.md5</entry>
								<entry>**/*.sha1</entry>
								<!-- // binary files - archives -->
								<entry>**/*.jar</entry>
								<entry>**/*.zip</entry>
								<entry>**/*.rar</entry>
								<entry>**/*.tar</entry>
								<entry>**/*.tar.gz</entry>
								<entry>**/*.tar.bz2</entry>
								<entry>**/*.gz</entry>
								<!-- // binary files - documents -->
								<entry>**/*.doc</entry>
								<entry>**/*.xls</entry>
								<entry>**/*.csv</entry>
								<entry>**/*.pdf</entry>
								<entry>**/*.odt</entry>
								<entry>**/*.ods</entry>
								<entry>**/*.odp</entry>
								<entry>**/*.odb</entry>
								<entry>**/*.odg</entry>
								<entry>**/*.odf</entry>
								<entry>**/*.mm</entry>
								<entry>**/*.dia</entry>
								<entry>**/*.log</entry>
								<!-- // ServiceLoader files -->
								<entry>**/META-INF/services/**</entry>
							</excludes>
						</configuration>
						<executions>
							<execution>
								<id>license-format</id>
								<phase>process-resources</phase>
								<goals>
									<goal>format</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

				</plugins>
			</build>
		</profile>

	</profiles>

	<reporting>

		<plugins>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.6</version>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.3</version>
			</plugin>

			<!-- keep in sync with <build> above -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.8.1</version>
				<configuration>
					<quiet>true</quiet>
					<show>protected</show>
					<linksource>true</linksource>
					<windowtitle><![CDATA[${project.artifactId}-${project.version} / ${projectTimeISO}]]></windowtitle>
					<doctitle><![CDATA[${project.artifactId}-${project.version} / ${projectTimeISO}]]></doctitle>
					<header><![CDATA[<a href="${project.url}" target="_blank">${project.artifactId}</a><br>${project.version} / ${projectTimeISO}]]></header>
					<footer><![CDATA[<a href="${project.url}" target="_blank">${project.artifactId}</a><br>${project.version} / ${projectTimeISO}]]></footer>
					<bottom><![CDATA[Copyright © {inceptionYear}-{currentYear} <a href="${project.organization.url}" target="_blank">${project.organization.name}</a>. All Rights Reserved.]]></bottom>
				</configuration>
			</plugin>

		</plugins>

	</reporting>

</project>
