<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.scijava</groupId>
	<artifactId>pom-scijava</artifactId>
	<version>3.1</version>
	<packaging>pom</packaging>

	<name>SciJava Projects</name>
	<description>SciJava aims to provide an overview of available Java libraries for scientific computing. This POM provides a parent from which participating projects can declare their build configurations. It ensures that projects all use a compatible build environment, including Java version, as well as versions of dependencies and plugins.

Projects wishing to use pom-scijava as a parent project need to override the &lt;name&gt;, &lt;description&gt;, &lt;url&gt;, &lt;inceptionYear&gt; &lt;licenses&gt;, &lt;developers&gt;, &lt;organization&gt; and the &lt;scm&gt; sections.</description>
	<url>http://www.scijava.org/</url>
	<inceptionYear>2011</inceptionYear>

	<organization>
		<name>SciJava</name>
		<url>http://www.scijava.org/</url>
	</organization>

	<licenses>
		<license>
			<name>CC0 1.0 Universal License</name>
			<url>http://creativecommons.org/publicdomain/zero/1.0/</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>ctrueden</id>
			<name>Curtis Rueden</name>
			<email>ctrueden@wisc.edu</email>
			<url>http://loci.wisc.edu/people/curtis-rueden</url>
			<organization>UW-Madison LOCI</organization>
			<organizationUrl>http://loci.wisc.edu/</organizationUrl>
			<roles>
				<role>architect</role>
				<role>developer</role>
			</roles>
			<timezone>-6</timezone>
		</developer>
		<developer>
			<id>dscho</id>
			<name>Johannes Schindelin</name>
			<email>schindelin@wisc.edu</email>
			<url>http://loci.wisc.edu/people/johannes-schindelin</url>
			<organization>UW-Madison LOCI</organization>
			<organizationUrl>http://loci.wisc.edu/</organizationUrl>
			<roles>
				<role>architect</role>
				<role>developer</role>
			</roles>
			<timezone>-6</timezone>
		</developer>
		<developer>
			<id>hinerm</id>
			<name>Mark Hiner</name>
			<email>hiner@wisc.edu</email>
			<url>http://loci.wisc.edu/people/mark-hiner</url>
			<organization>UW-Madison LOCI</organization>
			<organizationUrl>http://loci.wisc.edu/</organizationUrl>
			<roles>
				<role>developer</role>
			</roles>
			<timezone>-6</timezone>
		</developer>
	</developers>
	<contributors>
		<contributor>
			<name>Barry DeZonia</name>
			<url>http://loci.wisc.edu/people/barry-dezonia</url>
			<organization>UW-Madison LOCI</organization>
			<organizationUrl>http://loci.wisc.edu/</organizationUrl>
			<roles>
				<role>developer</role>
			</roles>
			<timezone>-6</timezone>
		</contributor>
	</contributors>

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

	<scm>
		<connection>scm:git:git://github.com/scijava/pom-scijava</connection>
		<developerConnection>scm:git:git@github.com:scijava/pom-scijava</developerConnection>
		<tag>pom-scijava-3.1</tag>
		<url>https://github.com/scijava/pom-scijava</url>
	</scm>

	<properties>
		<!-- If two artifacts on the classpath use two different versions of the
		     same dependency, behavior is inconsistent at best, and often broken.
		     The following properties facilitate consistency of dependency
		     versions between various projects in the SciJava software stack.

		     When possible, we advise declaring your SciJava dependencies without a
		     <version> since the versions of core SciJava components are managed in
		     this POM's <dependencyManagement> section.

		     If you need to override the version of a particular component, then
		     simply override that component's version property in your POM's
		     <properties> section. dependencies rather than hardcoding them. -->

		<!-- ImgLib2 - https://github.com/imglib -->

		<!-- ImgLib2 - https://github.com/imglib/imglib -->
		<imglib2.version>2.0.0-beta-26</imglib2.version>

		<!-- ImgLib2 IJ - https://github.com/imglib/imglib-ij -->
		<imglib2-ij.version>2.0.0-beta-26</imglib2-ij.version>

		<!-- ImgLib2 Scripting - https://github.com/imglib/imglib-scripting -->
		<imglib2-scripting.version>2.0.0-beta-24</imglib2-scripting.version>

		<!-- SciJava - https://github.com/scijava -->

		<!-- SciJava Common - https://github.com/scijava/scijava-common -->
		<scijava-common.version>2.30.0</scijava-common.version>

		<!-- SciJava Common: SLF4J Logging - https://github.com/scijava/scijava-log-slf4j -->
		<scijava-log-slf4j.version>1.0.1</scijava-log-slf4j.version>

		<!-- SciJava Maven Plugin - https://github.com/scijava/scijava-maven-plugin -->
		<scijava-maven-plugin.version>0.1.1</scijava-maven-plugin.version>

		<!-- SciJava Plugins: Commands - https://github.com/scijava/scijava-plugins-commands -->
		<scijava-plugins-commands.version>0.1.6</scijava-plugins-commands.version>

		<!-- SciJava Plugins: Platforms - https://github.com/scijava/scijava-plugins-platforms -->
		<scijava-plugins-platforms.version>0.1.2</scijava-plugins-platforms.version>

		<!-- SciJava Plugins: Text: Markdown - https://github.com/scijava/scijava-plugins-text-markdown -->
		<scijava-plugins-text-markdown.version>0.1.1</scijava-plugins-text-markdown.version>

		<!-- SciJava Plugins: Text: Plain - https://github.com/scijava/scijava-plugins-text-plain -->
		<scijava-plugins-text-plain.version>0.1.1</scijava-plugins-text-plain.version>

		<!-- SciJava UI: AWT - https://github.com/scijava/scijava-ui-awt -->
		<scijava-ui-awt.version>0.1.2</scijava-ui-awt.version>

		<!-- SciJava UI: Swing - https://github.com/scijava/scijava-ui-swing -->
		<scijava-ui-swing.version>0.3.0</scijava-ui-swing.version>

		<!-- Scripting: Beanshell - https://github.com/scijava/scripting-beanshell -->
		<scripting-beanshell.version>0.1.3</scripting-beanshell.version>

		<!-- Scripting: Clojure - https://github.com/scijava/scripting-clojure -->
		<scripting-clojure.version>0.1.1</scripting-clojure.version>

		<!-- Scripting: Groovy - https://github.com/scijava/scripting-groovy -->
		<scripting-groovy.version>0.1.1</scripting-groovy.version>

		<!-- Scripting: Java - https://github.com/scijava/scripting-java -->
		<scripting-java.version>0.2.4</scripting-java.version>

		<!-- Scripting: Javascript - https://github.com/scijava/scripting-javascript -->
		<scripting-javascript.version>0.2.2</scripting-javascript.version>

		<!-- Scripting: JRuby - https://github.com/scijava/scripting-jruby -->
		<scripting-jruby.version>0.1.3</scripting-jruby.version>

		<!-- Scripting: Jython - https://github.com/scijava/scripting-jython -->
		<scripting-jython.version>0.1.2</scripting-jython.version>

		<!-- Scripting: MATLAB - https://github.com/scijava/scripting-matlab -->
		<scripting-matlab.version>0.2.0</scripting-matlab.version>

		<!-- Scripting: R - https://github.com/scijava/scripting-r -->
		<scripting-r.version>0.1.0</scripting-r.version>

		<!-- Scripting: Scala - https://github.com/scijava/scripting-scala -->
		<scripting-scala.version>0.1.0</scripting-scala.version>

		<!-- Swing Checkbox Tree - https://github.com/scijava/swing-checkbox-tree -->
		<swing-checkbox-tree.version>1.0.0</swing-checkbox-tree.version>

		<!-- MiniMaven - https://github.com/scijava/minimaven -->
		<minimaven.version>2.1.3</minimaven.version>

		<!-- Native Lib Loader - https://github.com/scijava/native-lib-loader -->
		<native-lib-loader.version>2.0.1</native-lib-loader.version>

		<!-- JUnit Benchmarks - https://github.com/scijava/junit-benchmarks -->
		<junit-benchmarks.version>0.7.3-scijava</junit-benchmarks.version>

		<!-- Open Microscopy Environment - https://github.com/openmicroscopy -->

		<!-- Bio-Formats - https://github.com/openmicroscopy/bioformats -->
		<bio-formats.version>5.0.2</bio-formats.version>

		<!-- NAR Maven plugin - https://github.com/maven-nar -->

		<!-- NAR Maven plugin - https://github.com/maven-nar/nar-maven-plugin -->
		<nar.version>3.1.0</nar.version>

		<!-- Other common project dependencies -->

		<jetty.version>8.0.0.M1</jetty.version>
		<jfreechart.version>1.0.14</jfreechart.version>
		<junit.version>4.11</junit.version>
		<miglayout.version>3.7.3.1</miglayout.version>

		<!-- Additional configuration -->

		<!-- NB: Avoid platform encoding warning when copying resources. -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<!-- NB: Specify formatting of the maven.build.timestamp property. -->
		<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>

		<!-- NB: Override argLine property for extra maven-surefire-plugin args. -->
		<argLine />

		<!-- NB: Override argLineDebug property via debug-port profile. -->
		<argLineDebug />
	</properties>

	<dependencyManagement>
		<dependencies>
			<!-- SciJava Common - https://github.com/scijava/scijava-common -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-common</artifactId>
				<version>${scijava-common.version}</version>
			</dependency>
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-common</artifactId>
				<version>${scijava-common.version}</version>
				<classifier>tests</classifier>
			</dependency>

			<!-- SciJava Common: SLF4J Logging - https://github.com/scijava/scijava-log-slf4j -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-log-slf4j</artifactId>
				<version>${scijava-log-slf4j.version}</version>
			</dependency>

			<!-- SciJava Plugins: Commands - https://github.com/scijava/scijava-plugins-commands -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-plugins-commands</artifactId>
				<version>${scijava-plugins-commands.version}</version>
			</dependency>

			<!-- SciJava Plugins: Platforms - https://github.com/scijava/scijava-plugins-platforms -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-plugins-platforms</artifactId>
				<version>${scijava-plugins-platforms.version}</version>
			</dependency>

			<!-- SciJava Plugins: Text: Markdown - https://github.com/scijava/scijava-plugins-text-markdown -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-plugins-text-markdown</artifactId>
				<version>${scijava-plugins-text-markdown.version}</version>
			</dependency>

			<!-- SciJava Plugins: Text: Plain - https://github.com/scijava/scijava-plugins-text-plain -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-plugins-text-plain</artifactId>
				<version>${scijava-plugins-text-plain.version}</version>
			</dependency>

			<!-- SciJava UI: AWT - https://github.com/scijava/scijava-ui-awt -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-ui-awt</artifactId>
				<version>${scijava-ui-awt.version}</version>
			</dependency>

			<!-- SciJava UI: Swing - https://github.com/scijava/scijava-ui-swing -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scijava-ui-swing</artifactId>
				<version>${scijava-ui-swing.version}</version>
			</dependency>

			<!-- Scripting: Beanshell - https://github.com/scijava/scripting-beanshell -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-beanshell</artifactId>
				<version>${scripting-beanshell.version}</version>
			</dependency>

			<!-- Scripting: Clojure - https://github.com/scijava/scripting-clojure -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-clojure</artifactId>
				<version>${scripting-clojure.version}</version>
			</dependency>

			<!-- Scripting: Groovy - https://github.com/scijava/scripting-groovy -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-groovy</artifactId>
				<version>${scripting-groovy.version}</version>
			</dependency>

			<!-- Scripting: Java - https://github.com/scijava/scripting-java -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-java</artifactId>
				<version>${scripting-java.version}</version>
			</dependency>

			<!-- Scripting: Javascript - https://github.com/scijava/scripting-javascript -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-javascript</artifactId>
				<version>${scripting-javascript.version}</version>
			</dependency>

			<!-- Scripting: JRuby - https://github.com/scijava/scripting-jruby -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-jruby</artifactId>
				<version>${scripting-jruby.version}</version>
			</dependency>

			<!-- Scripting: Jython - https://github.com/scijava/scripting-jython -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-jython</artifactId>
				<version>${scripting-jython.version}</version>
			</dependency>

			<!-- Scripting: MATLAB - https://github.com/scijava/scripting-matlab -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-matlab</artifactId>
				<version>${scripting-matlab.version}</version>
			</dependency>

			<!-- Scripting: R - https://github.com/scijava/scripting-r -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-r</artifactId>
				<version>${scripting-r.version}</version>
			</dependency>

			<!-- Scripting: Scala - https://github.com/scijava/scripting-scala -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>scripting-scala</artifactId>
				<version>${scripting-scala.version}</version>
			</dependency>

			<!-- Swing Checkbox Tree - https://github.com/scijava/swing-checkbox-tree -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>swing-checkbox-tree</artifactId>
				<version>${swing-checkbox-tree.version}</version>
			</dependency>

			<!-- ImgLib2 - https://github.com/imglib/imglib -->
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2</artifactId>
				<version>${imglib2.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-meta</artifactId>
				<version>${imglib2.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-ops</artifactId>
				<version>${imglib2.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-realtransform</artifactId>
				<version>${imglib2.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-ui</artifactId>
				<version>${imglib2.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-algorithms</artifactId>
				<version>${imglib2.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-algorithms-gpl</artifactId>
				<version>${imglib2.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-algorithms-legacy</artifactId>
				<version>${imglib2.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-ij</artifactId>
				<version>${imglib2-ij.version}</version>
			</dependency>
			<dependency>
				<groupId>net.imglib2</groupId>
				<artifactId>imglib2-scripting</artifactId>
				<version>${imglib2-scripting.version}</version>
			</dependency>

			<!-- MiniMaven - https://github.com/scijava/minimaven -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>minimaven</artifactId>
				<version>${minimaven.version}</version>
			</dependency>

			<!-- Native Lib Loader - https://github.com/scijava/native-lib-loader -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>native-lib-loader</artifactId>
				<version>${native-lib-loader.version}</version>
			</dependency>

			<!-- Bio-Formats - https://github.com/openmicroscopy/bioformats -->
			<dependency>
				<groupId>ome</groupId>
				<artifactId>bio-formats_plugins</artifactId>
				<version>${bio-formats.version}</version>
			</dependency>
			<dependency>
				<groupId>ome</groupId>
				<artifactId>formats-api</artifactId>
				<version>${bio-formats.version}</version>
			</dependency>
			<dependency>
				<groupId>ome</groupId>
				<artifactId>formats-bsd</artifactId>
				<version>${bio-formats.version}</version>
			</dependency>
			<dependency>
				<groupId>ome</groupId>
				<artifactId>formats-common</artifactId>
				<version>${bio-formats.version}</version>
			</dependency>
			<dependency>
				<groupId>ome</groupId>
				<artifactId>formats-gpl</artifactId>
				<version>${bio-formats.version}</version>
			</dependency>
			<dependency>
				<groupId>ome</groupId>
				<artifactId>ome-xml</artifactId>
				<version>${bio-formats.version}</version>
			</dependency>

			<!-- JFreeChart - http://www.jfree.org/jfreechart/ -->
			<dependency>
				<groupId>org.jfree</groupId>
				<artifactId>jfreechart</artifactId>
				<version>${jfreechart.version}</version>
			</dependency>

			<!-- MigLayout - http://www.miglayout.com/ -->
			<dependency>
				<groupId>com.miglayout</groupId>
				<artifactId>miglayout</artifactId>
				<version>${miglayout.version}</version>
				<classifier>swing</classifier>
			</dependency>

			<!-- JUnit - http://junit.org/ -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>

			<!-- JUnit Benchmarks - https://github.com/scijava/junit-benchmarks -->
			<dependency>
				<groupId>org.scijava</groupId>
				<artifactId>junit-benchmarks</artifactId>
				<version>${junit-benchmarks.version}</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<!-- It is nice for "mvn" with no arguments to do something reasonable. -->
		<defaultGoal>install</defaultGoal>
		<pluginManagement>
			<plugins>
				<plugin>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.4</version>
				</plugin>

				<plugin>
					<artifactId>maven-clean-plugin</artifactId>
					<version>2.5</version>
				</plugin>

				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.1</version>
					<!-- Require the Java 6 platform. -->
					<configuration>
						<source>1.6</source>
						<target>1.6</target>
					</configuration>
				</plugin>

				<plugin>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>2.8</version>
				</plugin>

				<plugin>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.8.1</version>
				</plugin>

				<plugin>
					<artifactId>maven-install-plugin</artifactId>
					<version>2.5.1</version>
				</plugin>

				<plugin>
					<artifactId>maven-jar-plugin</artifactId>
					<version>2.5</version>
					<!-- Always add classpath to JAR manifests. -->
					<configuration>
						<archive>
							<manifest>
								<addClasspath>true</addClasspath>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
								<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
							</manifest>
							<manifestEntries>
								<!-- Add SCM revision from buildnumber plugin, if available. -->
								<Implementation-Build>${buildNumber}</Implementation-Build>
								<!-- Add a formatted timestamp for the build. -->
								<Implementation-Date>${maven.build.timestamp}</Implementation-Date>
							</manifestEntries>
						</archive>
						<skipIfEmpty>true</skipIfEmpty>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>test-jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<artifactId>maven-javadoc-plugin</artifactId>
					<!-- NB: The same version declaration and configuration block also
					     appears in the <reporting> section, and must be kept in sync. -->
					<version>2.9.1</version>
					<configuration>
						<maxmemory>1024m</maxmemory>
						<!-- Workaround for javadoc bug when classes in the default
						     package access classes from non-default packages. See:
						     http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5101868 -->
						<use>false</use>
						<links>
							<!-- Java 6 -->
							<link>http://docs.oracle.com/javase/6/docs/api/</link>

							<!-- Core SciJava projects -->
							<!-- Bio-Formats -->
							<link>http://ci.openmicroscopy.org/job/BIOFORMATS-5.0-latest/javadoc/</link>
							<!-- Fiji -->
							<link>http://jenkins.imagej.net/job/Fiji-javadoc/javadoc/</link>
							<!-- ImageJ1 -->
							<link>http://jenkins.imagej.net/job/ImageJ1-javadoc/javadoc/</link>
							<!-- ImageJ2 -->
							<link>http://jenkins.imagej.net/job/ImageJ-daily/javadoc/</link>
							<!-- ImgLib2 -->
							<link>http://jenkins.imagej.net/job/ImgLib-daily/javadoc/</link>
							<!-- SCIFIO -->
							<link>http://jenkins.imagej.net/job/SCIFIO-javadoc/javadoc/</link>
							<!-- SciJava Common -->
							<link>http://jenkins.imagej.net/job/SciJava-common-javadoc/javadoc/</link>

							<!-- Third party dependencies -->
							<!-- Apache Pivot -->
							<link>http://pivot.apache.org/2.0.4/docs/api/</link>
							<!-- Eclipse -->
							<link>http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.isv/reference/api/</link>
							<!-- Java3D -->
							<link>http://download.java.net/media/java3d/javadoc/1.5.2/</link>
							<!-- Javassist -->
							<link>http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/html/</link>
							<!-- JHotDraw -->
							<link>http://www.randelshofer.ch/oop/jhotdraw/JavaDoc/</link>
							<!-- MPI-CBG -->
							<link>http://jenkins.imagej.net/view/Fiji/job/Saalfeld-MPICBG-Maven/javadoc/</link>
						</links>
					</configuration>
				</plugin>

				<plugin>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.3</version>
				</plugin>

				<plugin>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5</version>
				</plugin>

				<plugin>
					<artifactId>maven-resources-plugin</artifactId>
					<version>2.6</version>
				</plugin>

				<plugin>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.4</version>
				</plugin>

				<plugin>
					<artifactId>maven-source-plugin</artifactId>
					<version>2.3</version>
					<!-- Build source artifact in addition to main artifact. -->
					<executions>
						<execution>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.17</version>
					<!-- Make sure that:
					     A) unit tests run with sufficient RAM allocated;
					     B) unit tests do not pop a Java dock icon on OS X;
					     C) additional args can be given via argLine property;

					     Sometimes, one needs to pass JVM options to the JVM
					     running the unit tests, such as -verbose:class or
					     -Djava.awt.headless=true.

					     Unfortunately, maven-surefire does not expose a
					     command-line interface to do so, therefore let's
					     simulate it by re-using the property 'argLine' to
					     specify those options. -->
					<configuration>
						<argLine>-Xms512m -Xmx512m -Dapple.awt.UIElement="true" ${argLine} ${argLineDebug}</argLine>
					</configuration>
				</plugin>

				<!-- Build Number Maven plugin -
				     http://mojo.codehaus.org/buildnumber-maven-plugin/
				     This plugin embeds a build number in the JAR manifest. -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>buildnumber-maven-plugin</artifactId>
					<version>1.3</version>
					<!-- Record SCM revision in manifest. -->
					<executions>
						<execution>
							<phase>validate</phase>
							<goals>
								<goal>create</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
						<revisionOnScmFailure>UNKNOWN</revisionOnScmFailure>
					</configuration>
				</plugin>

				<!-- Exec Maven plugin -
				http://mojo.codehaus.org/exec-maven-plugin/
				This plugin launches a Java class using Maven. -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>1.3.1</version>
				</plugin>

				<!-- License Maven plugin -
				     http://mojo.codehaus.org/license-maven-plugin/
				     This plugin manages project licenses and source file headers. -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>1.6</version>
					<configuration>
						<projectName>${project.description}</projectName>
						<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
						<canUpdateDescription>true</canUpdateDescription>
						<canUpdateCopyright>true</canUpdateCopyright>
						<extraExtensions>
							<bsh>java</bsh>
							<config>properties</config>
							<ijm>java</ijm>
						</extraExtensions>
					</configuration>
				</plugin>

				<!-- Versions Maven plugin -
				     http://mojo.codehaus.org/versions-maven-plugin/
				     Check for new plugin versions using
				     "mvn versions:display-plugin-updates" -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>2.1</version>
				</plugin>

				<!-- Maven Graph Plugin -
				     http://mvnplugins.fusesource.org/maven/1.10/maven-graph-plugin/
				     Generate a dependency graph using "mvn graph:reactor" -->
				<plugin>
					<groupId>org.fusesource.mvnplugins</groupId>
					<artifactId>maven-graph-plugin</artifactId>
					<version>1.30</version>
					<configuration>
						<hideScopes>provided,runtime,system,test</hideScopes>
						<hideTransitive>true</hideTransitive>
						<label>Dependency Graph for ${project.name}</label>
						<target>${project.build.directory}/dependency-graph.dot</target>
					</configuration>
				</plugin>

				<!-- NAR Maven plugin - https://github.com/maven-nar/nar-maven-plugin -->
				<plugin>
					<groupId>com.github.maven-nar</groupId>
					<artifactId>nar-maven-plugin</artifactId>
					<version>${nar.version}</version>
				</plugin>

				<!-- Eclipse-specific configuration

				     With a recent version of m2e, Eclipse's Maven binding, it is no
				     longer enough to configure plugins; they will be ignored by
				     default. But we really want the buildnumber and the jar plugin to
				     do their job. So now we have to add lifecycle mappings in addition
				     to configuring the plugins.

				     Let's hope that m2e remains the only IDE Maven binding that
				     requires such a lot of additional work just to get the same result
				     as plain Maven would produce out of the box. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.codehaus.mojo</groupId>
										<artifactId>buildnumber-maven-plugin</artifactId>
										<versionRange>[1.0,)</versionRange>
										<goals>
											<goal>create</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute>
											<runOnIncremental>true</runOnIncremental>
											<runOnConfiguration>true</runOnConfiguration>
										</execute>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-jar-plugin</artifactId>
										<versionRange>[2.0,)</versionRange>
										<goals>
											<goal>jar</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute>
											<runOnIncremental>true</runOnIncremental>
											<runOnConfiguration>true</runOnConfiguration>
										</execute>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<!-- Create -sources.jar when building. -->
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
			</plugin>

			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>

			<!-- Add Implementation-Build entry to JAR manifest. -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
			</plugin>

			<!-- Enable 'license:' goals. -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
			</plugin>

			<!-- Enable 'graph:' goals. -->
			<plugin>
				<groupId>org.fusesource.mvnplugins</groupId>
				<artifactId>maven-graph-plugin</artifactId>
			</plugin>
		</plugins>

		<!-- We use wagon-webdav-jackrabbit 1.0 for deploys, since it is
		     compatible with both Maven 2.2.x and Maven 3.0.x cross-platform. -->
		<extensions>
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-webdav-jackrabbit</artifactId>
				<version>1.0</version>
			</extension>
		</extensions>
	</build>

	<reporting>
		<plugins>
			<!-- Generate javadocs as part of site generation. -->
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<!-- NB: The following version declaration and configuration block
				     are fully replicated from the pluginManagement section. This
				     is necessary because many versions of maven-site-plugin
				     (including 3.3) do not respect the pluginManagement values.
				     See: http://jira.codehaus.org/browse/MSITE-443
				     While the maven-site-plugin documentation states that it
				     "search[es] the same groupId/artifactId in the
				     build.pluginManagement.plugins section", this claim
				     unfortunately does not seem to reflect reality. -->
				<version>2.9.1</version>
				<configuration>
					<maxmemory>1024m</maxmemory>
					<!-- Workaround for javadoc bug when classes in the default
					     package access classes from non-default packages. See:
					     http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5101868 -->
					<use>false</use>
					<links>
						<!-- Java 6 -->
						<link>http://docs.oracle.com/javase/6/docs/api/</link>

						<!-- Core SciJava projects -->
						<!-- Bio-Formats -->
						<link>http://hudson.openmicroscopy.org.uk/job/BIOFORMATS-trunk/javadoc/</link>
						<!-- Fiji -->
						<link>http://jenkins.imagej.net/job/Fiji-javadoc/javadoc/</link>
						<!-- ImageJ1 -->
						<link>http://jenkins.imagej.net/job/ImageJ1-javadoc/javadoc/</link>
						<!-- ImageJ2 -->
						<link>http://jenkins.imagej.net/job/ImageJ-daily/javadoc/</link>
						<!-- ImgLib2 -->
						<link>http://jenkins.imagej.net/job/ImgLib-daily/javadoc/</link>
						<!-- SCIFIO -->
						<link>http://jenkins.imagej.net/job/SCIFIO-javadoc/javadoc/</link>
						<!-- SciJava Common -->
						<link>http://jenkins.imagej.net/job/SciJava-common-javadoc/javadoc/</link>

						<!-- Third party dependencies -->
						<!-- Apache Pivot -->
						<link>http://pivot.apache.org/2.0.4/docs/api/</link>
						<!-- Eclipse -->
						<link>http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.isv/reference/api/</link>
						<!-- Java3D -->
						<link>http://download.java.net/media/java3d/javadoc/1.5.2/</link>
						<!-- Javassist -->
						<link>http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/html/</link>
						<!-- JHotDraw -->
						<link>http://www.randelshofer.ch/oop/jhotdraw/JavaDoc/</link>
						<!-- MPI-CBG -->
						<link>http://jenkins.imagej.net/view/Fiji/job/Saalfeld-MPICBG-Maven/javadoc/</link>
					</links>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<profiles>
		<!-- These developer profiles make it easy to pin to SNAPSHOT versions.
		     Add an empty dev.<organization> file in your ~/.scijava directory, and
		     dependencies will automatically update! You may also need to refresh
		     your IDE; e.g., in Eclipse: right click, Maven > Update Project... -->
		<profile>
			<id>dev.imglib2</id>
			<activation>
				<file>
					<exists>${user.home}/.scijava/dev.imglib2</exists>
				</file>
			</activation>
			<properties>
				<imglib2.version>LATEST</imglib2.version>
				<imglib2-ij.version>LATEST</imglib2-ij.version>
				<imglib2-scripting.version>LATEST</imglib2-scripting.version>
			</properties>
			<repositories>
				<repository>
					<id>imagej.public</id>
					<url>http://maven.imagej.net/content/groups/public</url>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>imagej.public</id>
					<url>http://maven.imagej.net/content/groups/public</url>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>
		<profile>
			<id>dev.ome</id>
			<activation>
				<file>
					<exists>${user.home}/.scijava/dev.ome</exists>
				</file>
			</activation>
			<properties>
				<bio-formats.version>LATEST</bio-formats.version>
			</properties>
			<repositories>
				<repository>
					<id>imagej.public</id>
					<url>http://maven.imagej.net/content/groups/public</url>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>imagej.public</id>
					<url>http://maven.imagej.net/content/groups/public</url>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>
		<profile>
			<id>dev.scijava</id>
			<activation>
				<file>
					<exists>${user.home}/.scijava/dev.scijava</exists>
				</file>
			</activation>
			<properties>
				<minimaven.version>LATEST</minimaven.version>
				<native-lib-loader.version>LATEST</native-lib-loader.version>
				<scijava-common.version>LATEST</scijava-common.version>
				<scijava-log-slf4j.version>LATEST</scijava-log-slf4j.version>
				<scijava-plugins-commands.version>LATEST</scijava-plugins-commands.version>
				<scijava-plugins-platforms.version>LATEST</scijava-plugins-platforms.version>
				<scijava-plugins-text-markdown.version>LATEST</scijava-plugins-text-markdown.version>
				<scijava-plugins-text-plain.version>LATEST</scijava-plugins-text-plain.version>
				<scijava-ui-awt.version>LATEST</scijava-ui-awt.version>
				<scijava-ui-swing.version>LATEST</scijava-ui-swing.version>
				<scripting-beanshell.version>LATEST</scripting-beanshell.version>
				<scripting-clojure.version>LATEST</scripting-clojure.version>
				<scripting-groovy.version>LATEST</scripting-groovy.version>
				<scripting-java.version>LATEST</scripting-java.version>
				<scripting-javascript.version>LATEST</scripting-javascript.version>
				<scripting-jruby.version>LATEST</scripting-jruby.version>
				<scripting-jython.version>LATEST</scripting-jython.version>
				<scripting-matlab.version>LATEST</scripting-matlab.version>
				<scripting-r.version>LATEST</scripting-r.version>
				<scripting-scala.version>LATEST</scripting-scala.version>
				<swing-checkbox-tree.version>LATEST</swing-checkbox-tree.version>
			</properties>
			<repositories>
				<repository>
					<id>imagej.public</id>
					<url>http://maven.imagej.net/content/groups/public</url>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>imagej.public</id>
					<url>http://maven.imagej.net/content/groups/public</url>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>

		<!-- For debugging. E.g. for Eclipse, pass -DdebugPort=8000,suspend=y and
		     add a Debug Configuration for a Remote Java Application -->
		<profile>
			<id>debug-port</id>
			<activation>
				<property><name>debugPort</name></property>
			</activation>
			<properties>
				<argLineDebug>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=localhost:${debugPort}</argLineDebug>
			</properties>
		</profile>

		<!-- Run integration tests when "-P run-its" is passed.
		     This works using the maven-invoker-plugin. -->
		<profile>
			<id>run-its</id>
			<build>
				<defaultGoal>integration-test</defaultGoal>
				<plugins>
					<plugin>
						<artifactId>maven-invoker-plugin</artifactId>
						<version>1.9</version>
						<configuration>
							<debug>${invoker.debug}</debug>
							<showErrors>true</showErrors>
							<streamLogs>true</streamLogs>
							<projectsDirectory>src/it</projectsDirectory>
							<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
							<pomIncludes>
								<pomInclude>*/pom.xml</pomInclude>
							</pomIncludes>
							<settingsFile>src/it/settings.xml</settingsFile>
							<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
							<preBuildHookScript>setup.bsh</preBuildHookScript>
							<postBuildHookScript>verify.bsh</postBuildHookScript>
						</configuration>
						<executions>
							<execution>
								<id>integration-test</id>
								<goals>
									<goal>install</goal>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- This profile enables deployment to the ImageJ Maven repository. -->
		<profile>
			<id>deploy-to-imagej</id>
			<distributionManagement>
				<repository>
					<id>imagej.releases</id>
					<name>ImageJ Releases Repository</name>
					<url>dav:http://maven.imagej.net/content/repositories/releases</url>
				</repository>
				<snapshotRepository>
					<id>imagej.snapshots</id>
					<name>ImageJ Snapshots Repository</name>
					<url>dav:http://maven.imagej.net/content/repositories/snapshots</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>

		<!-- This profile enables releasing to the OSS Sonatype repository. -->
		<profile>
			<id>sonatype-oss-release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.6.2</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>sonatype-nexus-releases</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
							<stagingProgressTimeoutMinutes>15</stagingProgressTimeoutMinutes>
							<stagingProgressPauseDurationSeconds>12</stagingProgressPauseDurationSeconds>
							<!--
							By having no explicit stagingProfileId, we use
							Staging V2 in "auto" mode, profile will be
							matched server side
							-->
						</configuration>
					</plugin>
					<plugin>
						<inherited>true</inherited>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-deploy-plugin</artifactId>
						<configuration>
							<skip>true</skip>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.5</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<useAgent>true</useAgent>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar</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>
				</plugins>
			</build>

			<repositories>
				<repository>
					<id>sonatype-nexus-snapshots</id>
					<name>Sonatype Nexus Snapshots</name>
					<url>https://oss.sonatype.org/content/repositories/snapshots</url>
					<releases>
						<enabled>false</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
					</snapshots>
				</repository>
				<repository>
					<id>sonatype-nexus-releases</id>
					<name>Sonatype Nexus Releases</name>
					<url>https://oss.sonatype.org/content/repositories/releases</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
			</repositories>

			<distributionManagement>
				<snapshotRepository>
					<id>sonatype-nexus-snapshots</id>
					<name>Sonatype Nexus Snapshots</name>
					<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
				</snapshotRepository>
				<repository>
					<id>sonatype-nexus-staging</id>
					<name>Nexus Release Repository</name>
					<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
				</repository>
			</distributionManagement>
		</profile>
	</profiles>

</project>
