Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Copyright (c) 2014 - 2016, Board of Regents of the University of
Wisconsin-Madison.
Copyright (c) 2014 - 2018, Board of Regents of the University of
Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck
Institute of Molecular Cell Biology and Genetics, and KNIME GmbH.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
Expand Down
34 changes: 31 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,21 @@ $ mvn scijava:help
[INFO] SciJava plugin for Maven 0.5.0
A plugin for managing SciJava-based projects.

This plugin has 5 goals:
This plugin has 7 goals:

scijava:bump
Bumps dependency and parent versions in SciJava projects.

scijava:copy-jars
Copies .jar artifacts and their dependencies into a SciJava application
directory structure. ImageJ 1.x plugins (identified by containing a
plugins.config file) get copied to the plugins/ subdirectory and all other
.jar files to jars/. However, you can override this decision by setting the
scijava.app.subdirectory property to a specific subdirectory. It expects the
location of the SciJava application directory to be specified in the
scijava.app.directory property (which can be set on the Maven command-line).
If said property is not set, the copy-jars goal is skipped.

scijava:eclipse-helper
Runs the annotation processor of the scijava-common artifact even inside
Eclipse.
Expand All @@ -28,6 +38,16 @@ scijava:help
Call mvn scijava:help -Ddetail=true -Dgoal=<goal-name> to display parameter
details.

scijava:install-artifact
Downloads .jar artifacts and their dependencies into a SciJava application
directory structure. ImageJ 1.x plugins (identified by containing a
plugins.config file) get copied to the plugins/ subdirectory and all other
.jar files to jars/. However, you can override this decision by setting the
scijava.app.subdirectory property to a specific subdirectory. It expects the
location of the SciJava application directory to be specified in the
scijava.app.directory property (which can be set on the Maven command-line).
If said property is not set, the install-artifact goal is skipped.

scijava:set-rootdir
Sets the project.rootdir property to the top-level directory of the current
Maven project structure.
Expand All @@ -47,8 +67,9 @@ scijava:verify-no-snapshots
Usage
-----

It is recommended to enable the set-rootdir goal by making the
[SciJava POM](http://github.com/scijava/pom-scijava) the parent project:
It is recommended to enable the _set-rootdir_ as well as the _copy-jars_
goal by making the [SciJava POM](http://github.com/scijava/pom-scijava)
the parent project:

```xml
<project ...>
Expand Down Expand Up @@ -78,6 +99,13 @@ Alternatively, you can include the plugin explicitly in the life cycle:
<goal>set-rootdir</goal>
</goals>
</execution>
<execution>
<id>copy-jars</id>
<phase>install</phase>
<goals>
<goal>copy-jars</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Expand Down
205 changes: 140 additions & 65 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.scijava</groupId>
<artifactId>pom-scijava</artifactId>
<version>9.0.0</version>
<version>23.2.0</version>
<relativePath />
</parent>

Expand All @@ -15,7 +15,12 @@

<name>SciJava plugin for Maven</name>
<description>A plugin for managing SciJava-based projects.</description>
<url>https://github.com/scijava/scijava-maven-plugin</url>
<inceptionYear>2014</inceptionYear>
<organization>
<name>SciJava</name>
<url>http://www.scijava.org/</url>
</organization>
<licenses>
<license>
<name>Simplified BSD License</name>
Expand All @@ -37,6 +42,18 @@
<role>maintainer</role>
</roles>
</developer>
<developer>
<id>stelfrich</id>
<name>Stefan Helfrich</name>
<url>http://imagej.net/User:Stelfrich</url>
<roles>
<role>developer</role>
<role>debugger</role>
<role>reviewer</role>
<role>support</role>
<role>maintainer</role>
</roles>
</developer>
</developers>
<contributors>
<contributor>
Expand All @@ -52,18 +69,42 @@
</contributor>
</contributors>

<mailingLists>
<mailingList>
<name>ImageJ Forum</name>
<archive>http://forum.imagej.net/</archive>
</mailingList>
</mailingLists>

<scm>
<connection>scm:git:git://github.com/scijava/scijava-maven-plugin</connection>
<developerConnection>scm:git:git@github.com:scijava/scijava-maven-plugin</developerConnection>
<tag>HEAD</tag>
<url>https://github.com/scijava/scijava-maven-plugin</url>
</scm>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/scijava/scijava-maven-plugin/issues</url>
</issueManagement>
<ciManagement>
<system>Travis CI</system>
<url>https://travis-ci.org/scijava/scijava-maven-plugin</url>
</ciManagement>

<properties>
<enforcer.version>1.3.1</enforcer.version>
<license.licenseName>bsd_2</license.licenseName>
<license.copyrightOwners>Board of Regents of the University of
Wisconsin-Madison, Broad Institute of MIT and Harvard, Max Planck
Institute of Molecular Cell Biology and Genetics, and KNIME GmbH.</license.copyrightOwners>
<license.projectName>A plugin for managing SciJava-based projects.</license.projectName>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.version>3.0</maven.version>
<maven2.version>2.2.1</maven2.version>
<maven-tree.version>2.2</maven-tree.version>
<package-name>org.scijava.maven</package-name>
<scijava-common.version>2.66.0</scijava-common.version>
</properties>

<dependencies>
Expand All @@ -90,48 +131,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${maven2.version}</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>${maven2.version}</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interpolation</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact-manager</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
</exclusion>
<exclusion>
<groupId>classworlds</groupId>
<artifactId>classworlds</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
Expand Down Expand Up @@ -166,13 +165,57 @@
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.3</version>
<version>3.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${maven.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>${maven.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>${maven.version}</version>
</dependency>

<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-artifact-transfer</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-common-artifact-filters</artifactId>
<version>3.0.1</version>
</dependency>

<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interpolation</artifactId>
<version>1.24</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.1.0</version>
</dependency>

<dependency>
<groupId>org.scijava</groupId>
<artifactId>scijava-common</artifactId>
<version>${scijava-common.version}</version>
</dependency>
</dependencies>

<build>
Expand Down Expand Up @@ -205,33 +248,38 @@
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>1.0-beta-9</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<configuration>
<rules>
<banClasses>
<banDuplicateClasses>
<!--
NB: maven-artifact and maven-project are 2.0 artifacts
that clash with maven-core 3.0.
-->
<dependencies>
<dependency>
<artifactId>maven-artifact</artifactId>
<ignoreClasses>
<ignoreClass>org/apache/maven/artifact/*</ignoreClass>
</ignoreClasses>
</dependency>
<dependency>
<artifactId>maven-project</artifactId>
<ignoreClasses>
<ignoreClass>org/apache/maven/project/*</ignoreClass>
</ignoreClasses>
</dependency>
</dependencies>
</banClasses>
<ignoreClasses>
<ignoreClass>org/apache/maven/artifact/*</ignoreClass>

<ignoreClass>org/apache/maven/project/*</ignoreClass>
</ignoreClasses>
<findAllDuplicates>true</findAllDuplicates>
<ignoreWhenIdentical>true</ignoreWhenIdentical>
</banDuplicateClasses>
</rules>
</configuration>
</plugin>
Expand All @@ -253,13 +301,40 @@
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<artifactId>maven-invoker-plugin</artifactId>
<version>1.8</version>
<configuration>
<licenseName>bsd_2</licenseName>
<organizationName>Board of Regents of the University of
Wisconsin-Madison.</organizationName>
<!-- <debug>true</debug> -->
<showErrors>true</showErrors>
<streamLogs>true</streamLogs>
<properties>
<scijava-maven.version>${project.version}</scijava-maven.version>
</properties>
<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>
<goals>
<goal>install</goal>
</goals>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>install</goal>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
</plugin>
</plugins>
</build>
Expand Down
Loading