<!-- Copyright (C) 2011-2013 Barchart, Inc. <http://www.barchart.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">

	<modelVersion>4.0.0</modelVersion>

	<groupId>com.barchart.base</groupId>
	<artifactId>barchart-archon</artifactId>
	<version>2.5.10</version>
	<packaging>pom</packaging>

	<url>http://www.barchart.com/</url>
	<name>${project.artifactId}</name>
	<inceptionYear>2011</inceptionYear>
	<description>
<![CDATA[
${project.artifactId}
]]>
	</description>

	<organization>
		<name>Barchart, Inc.</name>
		<url>http://www.barchart.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>barchart</id>
			<name>Barchart, Inc.</name>
			<email>http://www.barchart.com/</email>
			<roles>
				<role>developer</role>
			</roles>
		</developer>

	</developers>

	<mailingLists>
		<mailingList>
			<name>barchart</name>
			<post>tag : barchart</post>
			<subscribe>http://stackoverflow.com/users/login</subscribe>
			<archive>http://stackoverflow.com/tags/barchart</archive>
		</mailingList>
	</mailingLists>

	<scm>
		<url>https://github.com/barchart/barchart-archon</url>
		<connection>scm:git:git://github.com/barchart/barchart-archon.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/barchart/barchart-archon.git</developerConnection>
		<tag>barchart-archon-2.5.10</tag>
	</scm>

	<prerequisites>
		<maven>3.0.4</maven>
	</prerequisites>

	<properties>

		<!-- Always use UTF-8 file encoding. -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<!-- Barchart required versions. -->
		<projectJavaVersion>1.6</projectJavaVersion>
		<projectScalaVersion>2.9.2</projectScalaVersion>
		<projectMavenVersion>3.0.4</projectMavenVersion>

		<!-- Testing plugins family version. -->
		<projectTestingVersion>2.14</projectTestingVersion>

		<!-- Barchart private repository at Amazon. -->
		<amazonActiveRepo>activate-via-profile</amazonActiveRepo>
		<amazonReleaseRepo>maven.aws.barchart.com</amazonReleaseRepo>
		<amazonStagingRepo>maven.aws-dev.barchart.com</amazonStagingRepo>

		<!-- Barchart private repository in Office. -->
		<barchartNexusURL>https://nexus.barchart.com</barchartNexusURL>
		<barchartArchonURL>${barchartNexusURL}/content/groups/archon</barchartArchonURL>
		<barchartReleaseURL>${barchartNexusURL}/content/repositories/releases</barchartReleaseURL>
		<barchartSnapshotsURL>${barchartNexusURL}/content/repositories/snapshots</barchartSnapshotsURL>

		<!-- Barchart public repository at Sonatype. -->
		<sonatypeNexusURL>https://oss.sonatype.org</sonatypeNexusURL>
		<sonatypeArchonURL>${sonatypeNexusURL}/content/groups/public</sonatypeArchonURL>
		<sonatypeReleaseURL>${sonatypeNexusURL}/content/repositories/releases</sonatypeReleaseURL>
		<sonatypeSnapshotsURL>${sonatypeNexusURL}/content/repositories/snapshots</sonatypeSnapshotsURL>
		<sonatypeStagingURL>${sonatypeNexusURL}/service/local/staging/deploy/maven2</sonatypeStagingURL>

		<!-- Manifest user name customization. -->
		<barchartBuildUser>${user.name}</barchartBuildUser>

		<!-- Release customization. See maven-release-plugin. -->
		<releaseProfiles />
		<!-- <releaseArguments>-Dresume=false</releaseArguments> -->
		<releasePrepareGoals>clean verify</releasePrepareGoals>
		<releasePerformGoals>deploy</releasePerformGoals>

		<!-- Maven site customization. See maven site profiles. -->
		<maven.site.skip>true</maven.site.skip>
		<maven.site.deploy.skip>true</maven.site.deploy.skip>

		<!-- OSGI bundle DS component descriptors location in the jar. -->
		<bundleServiceComponent>OSGI-INF/service-component</bundleServiceComponent>

		<!-- Semantic version import policy for consumer. Bind to MAJOR. -->
		<bundleConsumerPolicy>$&lt;range;[==,+)&gt;</bundleConsumerPolicy>

		<!-- Semantic version import policy for provider. Bind to MAJOR.MINOR. -->
		<bundleProviderPolicy>$&lt;range;[==,=+)&gt;</bundleProviderPolicy>

		<!-- Semantic version check. Use latest release by default. -->
		<bundleBaselineVersion>RELEASE</bundleBaselineVersion>

	</properties>

	<!-- Ensure default versions for popular libraries. -->
	<dependencyManagement>
		<dependencies>

			<!-- MAIN -->

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

			<!-- OSGI specification. -->
			<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>

			<!-- Date and Time library. -->
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>2.2</version>
			</dependency>

			<!-- Logging library. -->
			<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 -->

			<!-- Default test framework. -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.11</version>
			</dependency>

			<!-- Do not use. -->
			<!-- <dependency> -->
			<!-- <groupId>org.testng</groupId> -->
			<!-- <artifactId>testng</artifactId> -->
			<!-- <version>6.7</version> -->
			<!-- </dependency> -->

			<!-- Java mock object library. -->
			<dependency>
				<groupId>org.easymock</groupId>
				<artifactId>easymock</artifactId>
				<version>3.1</version>
			</dependency>

			<!-- Java mock object library. -->
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>1.9.5</version>
			</dependency>

		</dependencies>
	</dependencyManagement>

	<!-- Libraries included in all projects. -->
	<dependencies>

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

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

	</dependencies>

	<build>

		<extensions>

			<!-- Enable Amazon S3 bucket transport. -->
			<extension>
				<groupId>org.kuali.maven.wagons</groupId>
				<artifactId>maven-s3-wagon</artifactId>
				<version>1.1.19</version>
			</extension>

			<!-- Enable generic HTTP/HTTPS transport. -->
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-http</artifactId>
				<version>2.4</version>
			</extension>

		</extensions>

		<!-- Ensure default plug-ins configurations and versions. -->
		<pluginManagement>

			<plugins>

				<plugin>
					<groupId>com.carrotgarden.maven</groupId>
					<artifactId>carrot-maven-staging-plugin</artifactId>
					<version>1.1.0</version>
				</plugin>

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

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

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>2.7</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>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-scm-plugin</artifactId>
					<version>1.8.1</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>
					<executions>
						<!-- Override default execution from parent super pom.xml. -->
						<!-- http://blog.peterlynch.ca/2010/05/maven-how-to-prevent-generate-sources.html -->
						<execution>
							<!-- Disable default execution. -->
							<id>attach-sources</id>
							<phase>invalid</phase>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
						<execution>
							<!-- Provide new default execution. -->
							<id>attach-sources-no-fork</id>
							<phase>package</phase>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>groovy-maven-plugin</artifactId>
					<version>1.5</version>
					<configuration>
						<providerSelection>2.0</providerSelection>
					</configuration>
				</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>
						<!-- Do not use. -->
						<!-- <dependency> -->
						<!-- <groupId>org.apache.maven.surefire</groupId> -->
						<!-- <artifactId>surefire-testng</artifactId> -->
						<!-- <version>${projectTestingVersion}</version> -->
						<!-- </dependency> -->
					</dependencies>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>${projectTestingVersion}</version>
					<executions>
						<execution>
							<goals>
								<goal>integration-test</goal>
								<goal>verify</goal>
							</goals>
						</execution>
					</executions>
				</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>

				<!-- Provide Maven/Eclipse plug-ins connector policies. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<!-- Do not run enforcer in Eclipse. -->
									<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>
									<!-- Do not run groovy in Eclipse. -->
									<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>
									<!-- Generate Pax Exam dependencies in Eclipse. -->
									<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>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>

				<!-- Enforce Maven and Java versions. -->
				<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 projectMavenVersion >= ${projectMavenVersion}]]></message>
									</requireMavenVersion>
									<requireJavaVersion>
										<version>${projectJavaVersion}</version>
										<message><![CDATA[you must have projectJavaVersion >= ${projectJavaVersion}]]></message>
									</requireJavaVersion>
								</rules>
							</configuration>
						</execution>
					</executions>
				</plugin>

				<!-- Manage maven release process. -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<!-- Do not use 2.4 -->
					<version>2.3.2</version>
					<configuration>

						<!-- Clone only once. -->
						<localCheckout>true</localCheckout>

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

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

						<!-- Invocation arguments for both release:prepare and release:perform -->
						<!-- <arguments>${releaseArguments}</arguments> -->

					</configuration>
				</plugin>

				<!-- Generate OSGI DS component descriptors. -->
				<!-- M2E integration is provided by the plugin. Requires M2E v 1.1+ -->
				<plugin>
					<groupId>com.carrotgarden.maven</groupId>
					<artifactId>carrot-maven-scr-plugin</artifactId>
					<version>3.0.3</version>
					<configuration>

						<!-- DS component descriptors location. See maven-bundle-plugin. -->
						<targetDirectorySCR>${bundleServiceComponent}</targetDirectorySCR>

						<!-- Execute this plug-in only for OSGI bundle projects. -->
						<properPackaging>
							<packaging>bundle</packaging>
						</properPackaging>

						<!-- Remove system interfaces form DS component services. -->
						<excludedServices>
							<service>scala.ScalaObject</service>
							<service>java.lang.Cloneable</service>
							<service>java.io.Serializable</service>
						</excludedServices>

						<!-- Eclipse maven console settings. -->
						<enableDebugLogging>false</enableDebugLogging>
						<enableInfoLogging>true</enableInfoLogging>
						<enableErrorLogging>true</enableErrorLogging>

					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>generate</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!-- Generate OSGI bundle. -->
				<!-- M2E integration is provided by "Tycho Connectors" Eclipse plug-in. -->
				<!-- FIXME replace private release with public when ready. -->
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>2.4.0-build002</version>
					<!-- Enable "bundle" packaging and lifecycle. -->
					<extensions>true</extensions>
					<configuration>
						<instructions>

							<!-- DS component descriptors location. See carrot-maven-scr-plugin. -->
							<Service-Component>${bundleServiceComponent}/*.xml</Service-Component>

							<!-- Semantic version policy. -->
							<_consumer-policy>${bundleConsumerPolicy}</_consumer-policy>
							<_provider-policy>${bundleProviderPolicy}</_provider-policy>

						</instructions>
					</configuration>
				</plugin>

				<!-- Semantic version check. -->
				<plugin>
					<groupId>org.apache.aries.versioning</groupId>
					<artifactId>org.apache.aries.versioning.plugin</artifactId>
					<version>0.1.0</version>
					<configuration>
						<oldArtifact>${project.groupId}:${project.artifactId}:${bundleBaselineVersion}</oldArtifact>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>version-check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

			</plugins>

		</pluginManagement>

		<!-- Build plugins active by default. -->
		<plugins>

			<!-- Enforce maven and java version. -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
			</plugin>

			<!-- Enforce java compiler settings. -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>

			<!-- Generate OSGI DS component descriptors. -->
			<plugin>
				<groupId>com.carrotgarden.maven</groupId>
				<artifactId>carrot-maven-scr-plugin</artifactId>
			</plugin>

			<!-- Generate OSGI bundle packaging with bundle lifecycle. -->
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
			</plugin>

			<!-- Semantic version check against baseline. -->
			<!-- <plugin> -->
			<!-- <groupId>org.apache.aries.versioning</groupId> -->
			<!-- <artifactId>org.apache.aries.versioning.plugin</artifactId> -->
			<!-- </plugin> -->

			<!-- Provide custom project 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
		
		// Date/Time in milliseconds UTC.
		def projectTimeLong = System.currentTimeMillis()
		project.properties["projectTimeLong"] = projectTimeLong
		// println("### projectTimeLong=" + projectTimeLong)
		
		// Date/Time in file-system-safe path element. 
		def projectTimeFile = MessageFormat.format("{0,date,yyyy-MM-dd_HH-mm-ss}", projectTimeLong)
		project.properties["projectTimeFile"] = projectTimeFile
		// println("### projectTimeFile=" + projectTimeFile)
		
		// Date/Time in standard ISO format.
		def projectTimeISO=MessageFormat.format("{0,date,yyyy-MM-dd'T'HH:mm:ss.SSSZ}", projectTimeLong)
		project.properties["projectTimeISO"] = projectTimeISO
		// println("### projectTimeISO=" + projectTimeISO)
		
		// Date/Time year field only.
		def projectTimeYear=MessageFormat.format("{0,date,yyyy}", projectTimeLong)
		project.properties["projectTimeYear"] = projectTimeYear
		// println("### projectTimeYear=" + projectTimeYear)
		]]>
							</source>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>

	</build>

	<profiles>

		<!-- ================================ -->

		<!-- Activated during release. See maven-release-plugin. -->
		<profile>
			<id>release</id>
			<activation>
				<property>
					<name>performRelease</name>
				</property>
			</activation>
			<build>
				<plugins>

					<!-- Release must contain sources. -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
								<!-- Provide custom execution id. -->
								<id>attach-sources-no-fork</id>
								<phase>package</phase>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<!-- Release must contain javadoc. -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<!-- Override default execution id. -->
								<id>attach-javadocs</id>
								<phase>package</phase>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<!-- Release must be signed. -->
					<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 barchart buckets. -->
		<profile>
			<id>amazon-release</id>
			<properties>
				<amazonActiveRepo>${amazonReleaseRepo}</amazonActiveRepo>
			</properties>
		</profile>
		<profile>
			<id>amazon-staging</id>
			<properties>
				<amazonActiveRepo>${amazonStagingRepo}</amazonActiveRepo>
			</properties>
		</profile>

		<!-- Private Barchart Amazon distribution. -->
		<profile>
			<id>barchart-amazon-distribution</id>
			<activation>
				<file>
					<exists>maven-amazon.md</exists>
				</file>
			</activation>
			<distributionManagement>
				<repository>
					<id>com.barchart.maven.s3.release</id>
					<url>s3://${amazonReleaseRepo}</url>
				</repository>
				<snapshotRepository>
					<id>com.barchart.maven.s3.staging</id>
					<url>s3://${amazonStagingRepo}</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>

		<!-- Private Barchart Amazon repository; must activate. -->
		<profile>
			<id>barchart-amazon-repository</id>
			<activation>
				<file>
					<exists>maven-amazon.md</exists>
				</file>
			</activation>
			<properties>
				<amazonBucketHost>s3.amazonaws.com</amazonBucketHost>
			</properties>
			<repositories>
				<repository>
					<id>com.barchart.maven.http.release</id>
					<name>Barchart Amazon Releases</name>
					<url>https://${amazonBucketHost}/${amazonReleaseRepo}</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
				<repository>
					<id>com.barchart.maven.http.staging</id>
					<name>Barchart Amazon Snapshots</name>
					<url>https://${amazonBucketHost}/${amazonStagingRepo}</url>
					<releases>
						<enabled>false</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</repository>
			</repositories>
		</profile>

		<!-- ================================ -->

		<!-- Private Barchart Nexus distribution; must activate. -->
		<profile>
			<id>barchart-nexus-distribution</id>
			<activation>
				<file>
					<exists>maven-barchart.md</exists>
				</file>
			</activation>
			<distributionManagement>
				<snapshotRepository>
					<id>barchart-nexus-snapshots</id>
					<name>Barchart Nexus Snapshots</name>
					<url>${barchartSnapshotsURL}</url>
				</snapshotRepository>
				<repository>
					<id>barchart-nexus-releases</id>
					<name>Barchart Nexus Releases</name>
					<url>${barchartReleaseURL}</url>
				</repository>
			</distributionManagement>
		</profile>

		<!-- Private Barchart Nexus repository; must activate. -->
		<profile>
			<id>barchart-nexus-repository</id>
			<activation>
				<file>
					<exists>maven-barchart.md</exists>
				</file>
			</activation>
			<repositories>
				<repository>
					<id>barchart-nexus-archon</id>
					<name>Barchart Nexus Archon / Regular</name>
					<url>${barchartArchonURL}</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>barchart-nexus-archon</id>
					<name>Barchart Nexus Archon / Plugins</name>
					<url>${barchartArchonURL}</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>

		</profile>

		<!-- ================================ -->

		<!-- Public Barchart Nexus distribution; must activate. -->
		<profile>
			<id>sonatype-nexus-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 Barchart Nexus repository; always active. -->
		<profile>
			<id>sonatype-nexus-repository</id>
			<activation>
				<property>
					<name>!sonatype-nexus-repository</name>
				</property>
			</activation>
			<repositories>
				<repository>
					<id>sonatype-nexus-archon</id>
					<name>Sonatype Nexus Archon / Regular</name>
					<url>${sonatypeArchonURL}</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>sonatype-nexus-archon</id>
					<name>Sonatype Nexus Archon / Plugins</name>
					<url>${sonatypeArchonURL}</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</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>${project.organization.name}</licenseName>
				<licenseMail>${project.organization.url}</licenseMail>

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

			</properties>
			<build>
				<plugins>

					<!-- Unpack licence template. -->
					<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>

					<!-- Apply licence template. -->
					<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>
								<conf>SCRIPT_STYLE</conf>
								<cfg>SCRIPT_STYLE</cfg>
								<properties>SCRIPT_STYLE</properties>
								<proto>JAVADOC_STYLE</proto>
								<!-- 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>

		<!-- ================================ -->

		<!-- Properties for developer-interactive / manual mode. -->
		<profile>
			<id>build-human</id>
			<activation>
				<property>
					<name>!env.JENKINS_HOME</name>
				</property>
			</activation>
			<properties>
				<!-- provided by developer -->
				<projectIntegrationVersion>${integrationVersion}</projectIntegrationVersion>
				<bundle.manifest.testing.phase>process-ignored</bundle.manifest.testing.phase>
			</properties>
		</profile>

		<!-- Properties for continuous-integration / automatic mode. -->
		<profile>
			<id>build-robot</id>
			<activation>
				<property>
					<name>env.JENKINS_HOME</name>
				</property>
			</activation>
			<properties>
				<!-- provided by invoker plug-in -->
				<projectIntegrationVersion>@project.version@</projectIntegrationVersion>
				<bundle.manifest.testing.phase>process-classes</bundle.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>

				<!-- Config admin runtime. -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.configadmin</artifactId>
					<version>1.4.0</version>
					<scope>test</scope>
				</dependency>

				<!-- Declarative services runtime. -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.scr</artifactId>
					<version>1.6.0</version>
					<scope>test</scope>
				</dependency>

				<!-- Event admin runtime. -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.eventadmin</artifactId>
					<version>1.3.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 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>

				<!-- OSGI framework. -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.framework</artifactId>
					<version>${projectFelixVersion}</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>

					<!-- Generate manifest early to test with Pax Exam. -->
					<plugin>
						<groupId>org.apache.felix</groupId>
						<artifactId>maven-bundle-plugin</artifactId>
						<executions>
							<execution>
								<id>manifest-testing</id>
								<phase>${bundle.manifest.testing.phase}</phase>
								<goals>
									<goal>manifest</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

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

		<!-- Pax Exam v 3.x Testing profile. -->
		<profile>
			<id>pax-exam-3</id>
			<activation>
				<file>
					<exists>maven-pax-exam-3.md</exists>
				</file>
			</activation>
			<properties>
				<projectFelixVersion>4.2.1</projectFelixVersion>
				<projectFelixSecurityVersion>2.2.0</projectFelixSecurityVersion>
				<projectPaxExamVersion>3.0.1</projectPaxExamVersion>
				<projectPaxUrlVersion>1.5.2</projectPaxUrlVersion>
				<projectPaxWebVersion>3.0.0.M3</projectPaxWebVersion>
				<projectPaxLoggingVersion>1.7.0</projectPaxLoggingVersion>
			</properties>
			<dependencies>

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

				<!-- Config admin runtime. -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.configadmin</artifactId>
					<version>1.6.0</version>
					<scope>test</scope>
				</dependency>

				<!-- Event admin runtime. -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.eventadmin</artifactId>
					<version>1.3.2</version>
					<scope>test</scope>
				</dependency>

				<!-- Declarative services runtime. -->
				<dependency>
					<groupId>org.apache.felix</groupId>
					<artifactId>org.apache.felix.scr</artifactId>
					<version>1.6.2</version>
					<scope>test</scope>
				</dependency>

				<!-- Pax Exam core. -->
				<dependency>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>pax-exam</artifactId>
					<version>${projectPaxExamVersion}</version>
					<scope>test</scope>
				</dependency>
				<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-container-native</artifactId> -->
				<!-- <version>${projectPaxExamVersion}</version> -->
				<!-- <scope>test</scope> -->
				<!-- </dependency> -->
				<dependency>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>pax-exam-container-forked</artifactId>
					<version>${projectPaxExamVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>pax-exam-inject</artifactId>
					<version>${projectPaxExamVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.exam</groupId>
					<artifactId>pax-exam-link-mvn</artifactId>
					<version>${projectPaxExamVersion}</version>
					<scope>test</scope>
				</dependency>

				<!-- Pax 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>
				<dependency>
					<groupId>org.ops4j.pax.url</groupId>
					<artifactId>pax-url-classpath</artifactId>
					<version>${projectPaxUrlVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.url</groupId>
					<artifactId>pax-url-link</artifactId>
					<version>${projectPaxUrlVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.url</groupId>
					<artifactId>pax-url-dir</artifactId>
					<version>${projectPaxUrlVersion}</version>
					<scope>test</scope>
				</dependency>

				<!-- Web container development. -->
				<dependency>
					<groupId>org.ops4j.pax.web</groupId>
					<artifactId>pax-web-api</artifactId>
					<version>${projectPaxWebVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.web</groupId>
					<artifactId>pax-web-spi</artifactId>
					<version>${projectPaxWebVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.web</groupId>
					<artifactId>pax-web-runtime</artifactId>
					<version>${projectPaxWebVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.web</groupId>
					<artifactId>pax-web-jetty</artifactId>
					<version>${projectPaxWebVersion}</version>
					<scope>test</scope>
				</dependency>

				<!-- Web container API. -->
				<dependency>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-osgi-locator</artifactId>
					<version>1.0</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-osgi-registry</artifactId>
					<version>1.0</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-activation_1.1_spec</artifactId>
					<version>1.1</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-atinject_1.0_spec</artifactId>
					<version>1.0</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-servlet_2.5_spec</artifactId>
					<version>1.2</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.apache.geronimo.specs</groupId>
					<artifactId>geronimo-jta_1.1_spec</artifactId>
					<version>1.1.1</version>
					<scope>test</scope>
				</dependency>

				<!-- Byte code manipulation. -->
				<dependency>
					<groupId>org.apache.servicemix.bundles</groupId>
					<artifactId>org.apache.servicemix.bundles.asm</artifactId>
					<version>3.3.1_1</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.apache.servicemix.bundles</groupId>
					<artifactId>org.apache.servicemix.bundles.aopalliance</artifactId>
					<version>1.0_6</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.apache.servicemix.bundles</groupId>
					<artifactId>org.apache.servicemix.bundles.cglib</artifactId>
					<version>2.2.2_1</version>
					<scope>test</scope>
				</dependency>

				<!-- Web container unit tests. -->
				<dependency>
					<groupId>org.openengsb.wrapped</groupId>
					<artifactId>net.sourceforge.htmlunit-all</artifactId>
					<version>2.8.w1</version>
					<scope>test</scope>
				</dependency>

				<!-- Misceleneous. -->
				<dependency>
					<groupId>org.apache.servicemix.bundles</groupId>
					<artifactId>org.apache.servicemix.bundles.javax.mail</artifactId>
					<version>1.4.1_5</version>
					<scope>test</scope>
				</dependency>

				<!-- Logging framework. -->
				<dependency>
					<groupId>org.ops4j.pax.logging</groupId>
					<artifactId>pax-logging-api</artifactId>
					<version>${projectPaxLoggingVersion}</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.ops4j.pax.logging</groupId>
					<artifactId>pax-logging-service</artifactId>
					<version>${projectPaxLoggingVersion}</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>

					<!-- Generate manifest early to test with Pax Exam. -->
					<plugin>
						<groupId>org.apache.felix</groupId>
						<artifactId>maven-bundle-plugin</artifactId>
						<executions>
							<execution>
								<id>manifest-testing</id>
								<phase>${bundle.manifest.testing.phase}</phase>
								<goals>
									<goal>manifest</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

				</plugins>

			</build>
		</profile>

		<!-- ================================ -->

		<!-- Copy private released artifacts to Sonatype for staging. -->
		<profile>
			<id>sonatype-staging</id>
			<properties>
				<staging-wagon-phase>site</staging-wagon-phase>
				<staging-close-phase>none</staging-close-phase>
			</properties>
			<build>
				<plugins>
					<plugin>
						<groupId>com.carrotgarden.maven</groupId>
						<artifactId>carrot-maven-staging-plugin</artifactId>
						<configuration>
							<wagonPlugin>
								<groupId>org.codehaus.mojo</groupId>
								<artifactId>wagon-maven-plugin</artifactId>
								<version>1.0-beta-4</version>
							</wagonPlugin>
							<nexusPlugin>
								<groupId>org.sonatype.plugins</groupId>
								<artifactId>nexus-maven-plugin</artifactId>
								<version>2.1</version>
							</nexusPlugin>
							<sourceServerId>barchart-nexus-archon</sourceServerId>
							<sourceServerURL>${barchartArchonURL}</sourceServerURL>
							<targetServerId>sonatype-nexus-staging</targetServerId>
							<targetServerURL>${sonatypeStagingURL}</targetServerURL>
						</configuration>
						<executions>
							<execution>
								<id>staging-wagon</id>
								<phase>${staging-wagon-phase}</phase>
								<goals>
									<goal>sonatype-staging-wagon</goal>
								</goals>
							</execution>
							<execution>
								<id>staging-close</id>
								<phase>${staging-close-phase}</phase>
								<goals>
									<goal>sonatype-staging-close</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- ================================ -->

		<!-- Generate and publish project/module maven site to Github Pages. -->
		<profile>
			<id>maven-site-github-pages</id>
			<activation>
				<file>
					<exists>maven-site-github-pages.md</exists>
				</file>
			</activation>
			<properties>

				<!-- clone of github site repo -->
				<siteRepo>${basedir}/target/repo</siteRepo>

				<!-- maven site commit message -->
				<siteMessage>maven site ${project.artifactId}-${project.version}</siteMessage>

				<!-- github site repo branch name -->
				<siteBranch>gh-pages</siteBranch>

				<!-- relative folder of maven site -->
				<siteFolder>site/${project.artifactId}</siteFolder>

				<!-- include pattern of maven site -->
				<siteInclude>${siteFolder}/**/*</siteInclude>

				<!-- source folder of maven site ready to publish -->
				<siteSource>${basedir}/target/site</siteSource>

				<!-- target folder of maven site in the github site repo -->
				<siteTarget>${siteRepo}/${siteFolder}</siteTarget>

				<!-- this profile is a replacement for standard site lifecycle -->
				<maven.site.skip>false</maven.site.skip>
				<maven.site.deploy.skip>true</maven.site.deploy.skip>

			</properties>
			<build>
				<plugins>

					<!-- copy maven site between pull/push -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-resources-plugin</artifactId>
						<executions>
							<execution>
								<id>copy-resources</id>
								<phase>post-site</phase>
								<goals>
									<goal>copy-resources</goal>
								</goals>
								<configuration>
									<resources>
										<resource>
											<directory>${siteSource}</directory>
											<filtering>false</filtering>
										</resource>
									</resources>
									<outputDirectory>${siteTarget}</outputDirectory>
									<overwrite>true</overwrite>
								</configuration>
							</execution>
						</executions>
					</plugin>

					<!-- repo pull/push around site build and copy -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-scm-plugin</artifactId>
						<configuration>
							<connectionType>developerConnection</connectionType>
							<scmVersionType>branch</scmVersionType>
							<scmVersion>${siteBranch}</scmVersion>
						</configuration>
						<executions>
							<execution>
								<id>site-checkout</id>
								<phase>pre-site</phase>
								<goals>
									<goal>checkout</goal>
								</goals>
								<configuration>
									<checkoutDirectory>${siteRepo}</checkoutDirectory>
								</configuration>
							</execution>
							<execution>
								<id>site-add</id>
								<phase>post-site</phase>
								<goals>
									<goal>add</goal>
								</goals>
								<configuration>
									<basedir>${siteRepo}</basedir>
									<includes>${siteInclude}</includes>
								</configuration>
							</execution>
							<execution>
								<id>site-checkin</id>
								<phase>post-site</phase>
								<goals>
									<goal>checkin</goal>
								</goals>
								<configuration>
									<basedir>${siteRepo}</basedir>
									<message>${siteMessage}</message>
								</configuration>
							</execution>
						</executions>
					</plugin>

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

		<!-- ================================ -->

		<!-- Generate readme.md from pom.xml description for each module. -->
		<!-- mvn validate -P create-readme -->
		<profile>
			<id>create-readme</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>groovy-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>create-readme-from-description</id>
								<phase>validate</phase>
								<goals>
									<goal>execute</goal>
								</goals>
								<configuration>
									<source>
				<![CDATA[
				new File("$project.basedir/readme.md").write("$project.description")
				]]>
									</source>
								</configuration>
							</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>. -->
			<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>

		</plugins>

	</reporting>

</project>

