pom-scijava
pom-scijava copied to clipboard
Specification version is invalid
We are currently always set specificationVersion
= implementationVersion
= POM version. As specificationVersion
is decimal-numeric-only, we are setting invalid versions any time our POM version has alpha characters (e.g. "beta-X", "rc-Y").
Confirmed that this is still an issue as of this writing. The addDefaultImplementationEntries
and addDefaultSpecificationEntries
options set in the pom-scijava-base
parent cause the respective versions of the manifest to match the Maven version, even if the Maven version does not conform to the rules for Specification-Version
. It may be a bug in Maven, because according to the docs, the Specification-Version
is supposed to be set to: ${project.artifact.selectedVersion.majorVersion}.${project.artifact.selectedVersion.minorVersion}
. But I checked, and it is not.
Note that as of scijava/pom-scijava-base@0380c33a, we do compute a sanitized x.y.z
version string that could be used for the specification version of the JAR manifest. I am hesitant to change it, though, until we read up a bit more on the ramifications.