-
Stéphane DALLONGEVILLE authorede59c6b62
Icy Parent POM
This is the repository for the Maven configuration of pom-icy, Icy's Parent POM, a Maven file for bioimage analysis software Icy and its plugins, which was developed by members or former members of the Biological Image Analysis unit at Institut Pasteur. This project is licensed under GPL3 license.
Icy is developed and maintained by Biological Image Analysis unit at Institut Pasteur. The source code of Icy is also licensed under a GPL3 license.
Description
To know more about how POM file in Maven projects works, you can check those resources:
- Introduction to Maven, an Icy article
- Introduction to the POM, Apache Maven Project
- Maven - Parent and Child POM, HowToDoInJava
- Maven by Example, 6.2. The Simple Parent Project, Sonatype Nexus
This project centralizes the Maven configuration for Icy as well as its plugins in one file. It will be inherited to the other projects with the parent
block:
<parent>
<artifactId>pom-icy</artifactId>
<groupId>org.bioimageanalysis.icy</groupId>
<version>2.1.0</version>
</parent>
There is three profiles to facilitate project management:
-
core
: Dedicated to Icy core parts development (kernel and its dependencies). Runs by defaultclean
andpackage
* goals. -
plugin
: Dedicated to Icy plugin development (including default dependencies and rules). Runs by defaultclean
andpackage
* goals. -
library
: Dedicated to plugin library which need dependencies extraction, in which case you need to define artifact(s) to extract through the artifact-to-extract property. You should almost always use this profile along the plugin profile.
* The package
phase generate three JARs: one to executable for Icy, a source JAR and a JavaDoc JAR.
To deploy the project/artefact to the Icy's Nexus repositories just use the deploy
goal instead. Note that Nexus development repositories (for SNAPSHOT versions) are accessible only in Pasteur offices or through the private VPN.
You want to upload on our public repositories and you do not have an account ? Send a mail to Icy Team, and we will grant you access.
Are you a Pasteur employee ? A connection through PasteurID is coming soon !
To use a profile, you can:
- Run the command in your terminal:
mvn -P<profile-name>
, and to use multiple profiles,mvn -P<profile-name-1>,<profile-name-2
- In your IDE:
- Overriding the profile activation in your project to have it by default:
<profiles>
<profile>
<id>same-id-as-the-one-to-override</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
After, you can just run mvn
or in your IDE without any configuration, and it will do everything for you!
-> To see which profiles are activated, run the command mvn help:active-profiles
in your terminal.
Dependency list
To keep a cohesion between Icy and all plugins, we have listed some most used plugins as dependency to others plugins and set its version.
To know them, check the <properties>
block in the pom.xml
.
To call them, you need to add the <dependency>
block as follows:
<dependency>
<groupId>org.bioimagenalaysis.icy</groupId>
<artifactId>name-of-plugin</artifactId>
</dependency>
Citation
Please also cite the Icy software and mention the version of Icy you used (bottom right corner of the GUI or first lines of the Output tab):
de Chaumont, F. et al. (2012) Icy: an open bioimage informatics platform for extended reproducible research, Nature Methods, 9, pp. 690-696
http://icy.bioimageanalysis.org
Authors
Amandine TOURNAY