Hi all,
I came across an issue (ARIES-1255) with the Subsystem-Content as
generated by the esa-maven-plugin from the Maven dependencies.
Basically if you had the following dependency in your Maven project:
<dependency>
<groupId>org.foo.bar</groupId>
<artifactId>myArtifact</artifactId>
<version>1.0.0</version>
</dependency>
This would generate the following Subsystem-Content header in the past:
Subsystem-Content: mySymbolicName;version="1.0.0"
However, the version attribute is a version range. And the above
version range is equivalent to "[1.0.0, infinity)", which is probably
not what you want. And it's certainly different from what is expressed
in the Maven dependency, which pinpoints to 1.0.0.
Therefore I changed the generation of the Subsystem-Content for the
above dependency to:
Subsystem-Content: mySymbolicName;version="[1.0.0, 1.0.0]"
which is the same as the Maven dependency.
If you want a version range in the generated Subsystem-Content you can
specify this range in the Maven dependency:
<dependency>
<groupId>org.foo.bar</groupId>
<artifactId>myArtifact</artifactId>
<version>[1.7.2, 1.8)</version>
</dependency>
This would then generate a version range in the Subsystem-Content:
Subsystem-Content: mySymbolicName;version="[1.7.2,1.8)"
Version ranges are somewhat uncommon in Maven, but it is supported.
I'm not sure if people really want to use it, but at least its
possible.
Hope everyone's ok with these changes. You can see the commits here:
http://svn.apache.org/viewvc?view=revision&revision=1629208
http://svn.apache.org/viewvc?view=revision&revision=1629224
Best regards,
David
[1] http://mojo.codehaus.org/versions-maven-plugin/examples/resolve-ranges.html