[ 
https://issues.apache.org/jira/browse/KARAF-1497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13282172#comment-13282172
 ] 

Claus Ibsen commented on KARAF-1497:
------------------------------------

I logged AMQ-3859
                
> Capability to alter versions in features and bundles
> ----------------------------------------------------
>
>                 Key: KARAF-1497
>                 URL: https://issues.apache.org/jira/browse/KARAF-1497
>             Project: Karaf
>          Issue Type: New Feature
>    Affects Versions: 2.2.7
>            Reporter: Raul Kripalani
>
> OSGi offers a solid solution to the legendary problem of {{dependency hell}} 
> in Java, through the use of explicit version numbers and version ranges in 
> MANIFESTs.
> Unfortunately, it requires a lot of developer re-education to understand how 
> to use version ranges their library bundles. It's common to find bundles with 
> too narrow version ranges or fixed version numbers. In the real world of Open 
> Source, not everyone is fully conscious of OSGi concepts and the impact of 
> version numbers.
> The maven-bundle-plugin expresses imports with version ranges by default, 
> which takes much of the problem away.
> In practice, we may know that a bundle X even though importing package A with 
> fixed version 1.2, it will work reliably with version 1.3 of package A. Right 
> now, I think that our only way out is to repackage the bundle altering the 
> MANIFEST.
> It'd be neat if Karaf provides functionality to *alter/re-adjust/correct* 
> version definitions for package imports in bundles.
> Moreover, we should be able to alter versions in bundle and feature 
> references from within Karaf features.
> The latter helps tremendously in the inter-connected world of Open Source, 
> where, for example, Camel and AMQ are using one another, are grouped in 
> ServiceMix and CXF also uses them!
> Imagine the following scenario, testing Camel 2.10-SNAPSHOT on Karaf 
> (provided that the correct feature repos are registered):
> {code}
> > feature:install camel/2.10-SNAPSHOT
> > feature:install activemq/5.6.0
> > feature:install activemq-camel/5.6.0
> {code}
> The last instruction complains that camel-jms/2.9.2 is not found. Wouldn't it 
> be awesome if the user could alter the feature definition from within the 
> shell to reference camel-jms/2.10-SNAPSHOT, instead of tampering with the 
> local features descriptor and refreshing it?
> In my head, the command would look like:
> {code}
> > feature:edit activemq-camel/5.6.0
> > feature:version-alter --feature camel-jms [2.9.2,2.10]
> > feature:update
> {code}
> (resembling the config shell constructs)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to