pom-scijava
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.scijava</groupId>
<artifactId>pom-scijava</artifactId>
<version>5.3.2</version>
</dependency><?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>5.3.2</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 <name>, <description>, <url>, <inceptionYear>, <organization>, <licenses>, <developers>, <contributors>, <scm>, <issueManagement> and <ciManagement> 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>
<role>architect</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>${scijava.mvn.version}</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-5.3.2</tag>
<url>https://github.com/scijava/pom-scijava</url>
</scm>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/scijava/pom-scijava/issues</url>
</issueManagement>
<ciManagement>
<system>Jenkins</system>
<url>http://jenkins.imagej.net/job/pom-scijava/</url>
</ciManagement>
<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, rather than hardcoding them. -->
<!-- SciJava - https://github.com/scijava -->
<!-- SciJava Common - https://github.com/scijava/scijava-common -->
<scijava-common.version>2.35.1</scijava-common.version>
<!-- SciJava Config - https://github.com/scijava/scijava-config -->
<scijava-config.version>1.0.0</scijava-config.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.4.3</scijava-maven-plugin.version>
<!-- SciJava Plugins: Commands - https://github.com/scijava/scijava-plugins-commands -->
<scijava-plugins-commands.version>0.1.7</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.5</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.5</scripting-jruby.version>
<!-- Scripting: Jython - https://github.com/scijava/scripting-jython -->
<scripting-jython.version>0.1.4</scripting-jython.version>
<!-- Scripting: MATLAB - https://github.com/scijava/scripting-matlab -->
<scripting-matlab.version>0.2.1</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.2</native-lib-loader.version>
<!-- JUnit Benchmarks - https://github.com/scijava/junit-benchmarks -->
<junit-benchmarks.version>0.7.3-scijava</junit-benchmarks.version>
<!--
BEGIN MANUALLY MANAGED VERSIONS
The SciJava project uses tools in https://github.com/scijava/scijava-scripts
and https://github.com/scijava/scijava-maven-plugin to manage the properties
above.
-->
<!-- Open Microscopy Environment - https://github.com/openmicroscopy -->
<!-- Bio-Formats - https://github.com/openmicroscopy/bioformats -->
<bio-formats.version>5.0.6</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.2.0</nar.version>
<!-- Other managed components -->
<!-- JUnit - http://junit.org/ -->
<junit.version>4.11</junit.version>
<!-- MigLayout - http://www.miglayout.com/ -->
<miglayout.version>3.7.4</miglayout.version>
<!-- JFreeChart - http://www.jfree.org/jfreechart/ -->
<jfreechart.version>1.0.19</jfreechart.version>
<!-- JAMA - http://math.nist.gov/javanumerics/jama/ -->
<jama.version>1.0.3</jama.version>
<!-- Other common project dependencies -->
<jetty.version>8.0.0.M1</jetty.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 />
<scijava.jvm.version>1.6</scijava.jvm.version>
<scijava.mvn.version>3.0.4</scijava.mvn.version>
</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 Config - https://github.com/scijava/scijava-config -->
<dependency>
<groupId>org.scijava</groupId>
<artifactId>scijava-config</artifactId>
<version>${scijava-config.version}</version>
</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>
<!-- 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>
<exclusions>
<exclusion>
<groupId>xalan</groupId>
<artifactId>serializer</artifactId>
</exclusion>
<exclusion>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ome</groupId>
<artifactId>formats-bsd</artifactId>
<version>${bio-formats.version}</version>
<exclusions>
<exclusion>
<groupId>xalan</groupId>
<artifactId>serializer</artifactId>
</exclusion>
<exclusion>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ome</groupId>
<artifactId>formats-common</artifactId>
<version>${bio-formats.version}</version>
<exclusions>
<exclusion>
<groupId>xalan</groupId>
<artifactId>serializer</artifactId>
</exclusion>
<exclusion>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
</exclusion>
</exclusions>
</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>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- JAMA - http://math.nist.gov/javanumerics/jama/ -->
<dependency>
<groupId>gov.nist.math</groupId>
<artifactId>jama</artifactId>
<version>${jama.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>${scijava.jvm.version}</source>
<target>${scijava.jvm.version}</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-enforcer-plugin</artifactId>
<version>1.3.1</version>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>1.0-beta-3</version>
</dependency>
<dependency>
<groupId>org.scijava</groupId>
<artifactId>scijava-maven-plugin</artifactId>
<version>${scijava-maven-plugin.version}</version>
</dependency>
</dependencies>
</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-no-fork</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>
<!-- SciJava Maven plugin - https://github.com/scijava/scijava-maven-plugin -->
<plugin>
<groupId>org.scijava</groupId>
<artifactId>scijava-maven-plugin</artifactId>
<version>${scijava-maven-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Create -sources.jar when building. -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<!-- Check desired rules during maven lifecycle. -->
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-rules</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<banClasses implementation="org.scijava.maven.plugin.enforcer.BanDuplicateClasses">
<message>No Duplicate Classes Allowed! For duplicate transitive dependencies, add dependency exclusions. For duplications between direct dependencies, resolve or add ignored classes to this rule's configuration.</message>
<dependencies>
<!-- JRuby/JRuby clashes -->
<dependency>
<artifactId>jcodings</artifactId>
<ignoreClasses>
<ignoreClass>org/jcodings/*</ignoreClass>
</ignoreClasses>
</dependency>
<dependency>
<artifactId>jnr-constants</artifactId>
<ignoreClasses>
<ignoreClass>com/kenai/constantine/*</ignoreClass>
<ignoreClass>jnr/constants/*</ignoreClass>
</ignoreClasses>
</dependency>
<dependency>
<artifactId>jnr-ffi</artifactId>
<ignoreClasses>
<ignoreClass>jnr/ffi/*</ignoreClass>
</ignoreClasses>
</dependency>
<!-- Java3D clashes -->
<dependency>
<artifactId>VIB-lib</artifactId>
<ignoreClasses>
<ignoreClass>javax/media/j3d/</ignoreClass>
</ignoreClasses>
</dependency>
<dependency>
<artifactId>j3d-core</artifactId>
<ignoreClasses>
<ignoreClass>javax/media/j3d/</ignoreClass>
</ignoreClasses>
</dependency>
<!-- Fiji dependency clashes -->
<dependency>
<artifactId>joda-time</artifactId>
<ignoreClasses>
<ignoreClass>*</ignoreClass>
</ignoreClasses>
</dependency>
<dependency>
<artifactId>slf4j-log4j12</artifactId>
<ignoreClasses>
<ignoreClass>org/slf4j/impl/*</ignoreClass>
</ignoreClasses>
</dependency>
<dependency>
<groupId>batik</groupId>
<artifactId>batik</artifactId>
<ignoreClasses>
<ignoreClass>*</ignoreClass>
</ignoreClasses>
</dependency>
<dependency>
<groupId>jama</groupId>
<artifactId>jama</artifactId>
<ignoreClasses>
<ignoreClass>Jama/*</ignoreClass>
</ignoreClasses>
</dependency>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<ignoreClasses>
<ignoreClass>*</ignoreClass>
</ignoreClasses>
</dependency>
</dependencies>
<findAllDuplicates>true</findAllDuplicates>
</banClasses>
<requireMavenVersion>
<version>${scijava.mvn.version}</version>
</requireMavenVersion>
<requirePluginVersions>
<message>Plugins need to be versioned!</message>
</requirePluginVersions>
<requirePrerequisites />
<requireReleaseDeps>
<message>No Snapshots Allowed! If you are intentionally trying to test locally against a SNAPSHOT, you can temporarily suppress the Maven Enforcer with: -Denforcer.skip</message>
</requireReleaseDeps>
<requireReproducibleBuilds implementation="org.scijava.maven.plugin.RequireReproducibleBuilds">
<groupIds>org.scijava</groupIds>
</requireReproducibleBuilds>
<enforceBytecodeVersion>
<maxJdkVersion>${scijava.jvm.version}</maxJdkVersion>
<excludes>
<exclude>com.headius:invokebinder</exclude>
<exclude>com.sun:tools</exclude>
</excludes>
</enforceBytecodeVersion>
<banCircularDependencies />
</rules>
</configuration>
</plugin>
<!-- Add Implementation-Build entry to JAR manifest. -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
</plugin>
<!-- Enable 'graph:' goals. -->
<plugin>
<groupId>org.fusesource.mvnplugins</groupId>
<artifactId>maven-graph-plugin</artifactId>
</plugin>
<!-- Enable 'nar:' goals. -->
<plugin>
<groupId>com.github.maven-nar</groupId>
<artifactId>nar-maven-plugin</artifactId>
</plugin>
<!-- Enable 'scijava:' goals. -->
<plugin>
<groupId>org.scijava</groupId>
<artifactId>scijava-maven-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>
<!-- The exec profile provides an easy way to execute a defined
${main-class} for manual testing purposes. It is declared
in a profile to avoid clashing with other potential uses
of exec-maven-plugin during the main build. -->
<profile>
<id>exec</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>${main-class}</argument>
</arguments>
</configuration>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- The jdb profile launches the defined ${main-class} in the jdb debugger.
Launch it using: mvn -Pjdb exec:exec -->
<profile>
<id>jdb</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>jdb</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>${main-class}</argument>
</arguments>
</configuration>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- 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.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-config.version>LATEST</scijava-config.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>
<!-- This profile helps Eclipse parse SciJava annotations of imported projects. -->
<profile>
<id>only-eclipse</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<!-- 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>
<plugin>
<groupId>org.scijava</groupId>
<artifactId>scijava-maven-plugin</artifactId>
<version>${scijava-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>eclipse-helper</goal>
</goals>
<phase>process-classes</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>