-
Notifications
You must be signed in to change notification settings - Fork 34
Versioning of SciJava projects
The pom-scijava parent POM helps you to manage versions of your SciJava artifact dependencies in a consistent way.
If two artifacts on the classpath use two different versions of the same dependency, behavior is inconsistent at best, and often broken. The SciJava POM defines version properties to facilitate consistency of dependency versions between various projects in the SciJava software stack. When possible, we advise using the relevant groupId
and version
properties for your dependencies rather than hardcoding them.
For example:
<dependency>
<groupId>${scifio.groupId}</groupId>
<artifactId>scifio</artifactId>
<version>${scifio.version}</version>
</dependency>
In this way, you can update to the latest recommended versions of all SciJava software simply by updating to a new version of the pom-scijava
parent. We make every effort to ensure that such recommended versions are compatible with, and tested against, one another.
We use a Jenkins job called Bump-POM-SciJava to automatically manage the version properties in pom-scijava
.
This job performs three functions:
- It updates
pom-scijava
's version properties to the latest version of each component. - It bumps the
pom-scijava
version number to the next version (e.g.,1.129
to1.130
). - In the repository of each SciJava project, it updates the project's
pom-scijava
parent version number to this newestpom-scijava
version.