Description
When for the dependencies of a feature project version ranges are used, then the produced feature.xml
references the highest available version of a bundle. This is not always the desired behavior. Instead of that,
it should be configurable if the latest base version of a dependency or the version range itself should be written
to the feature file (when a dependency is declared with a version range). I would suggest a new plugin configuration
property "useVersionRange". Suppose a dependency to commons-lang3:
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>[3.0,3.4)</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>4.1.0-SNAPSHOT</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
If "useVersionRange" is set to "false" (default), then nothing changes, so the resulting feature.xml would look like this:
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-feature-use-base-version"> <feature name="test-feature-use-base-version" description="test-feature-use-base-version" version="1.0.0.SNAPSHOT"> <bundle>mvn:org.apache.commons/commons-lang3/3.4</bundle> </feature> </features>
If "useVersionRange" is set to "true", instead of the base version the declared version range will be used in the bundle element:
<build> <plugins> <plugin> <groupId>org.apache.karaf.tooling</groupId> <artifactId>karaf-maven-plugin</artifactId> <version>@pom.version@</version> <extensions>true</extensions> <configuration> <useVersionRange>true</useVersionRange> </configuration> </plugin> </plugins> </build>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="test-feature-use-version-range"> <feature name="test-feature-use-version-range" description="test-feature-use-version-range" version="1.0.0.SNAPSHOT"> <bundle>mvn:org.apache.commons/commons-lang3/[3.0,3.4)</bundle> </feature> </features>
Attachments
Issue Links
- links to