You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2012/11/06 20:30:13 UTC

[jira] [Assigned] (KARAF-2000) Add dependency convergence enforcement to Karaf build

     [ https://issues.apache.org/jira/browse/KARAF-2000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Baptiste Onofré reassigned KARAF-2000:
-------------------------------------------

    Assignee: Jean-Baptiste Onofré
    
> Add dependency convergence enforcement to Karaf build
> -----------------------------------------------------
>
>                 Key: KARAF-2000
>                 URL: https://issues.apache.org/jira/browse/KARAF-2000
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-core
>    Affects Versions: 2.3.0
>            Reporter: Raman Gupta
>            Assignee: Jean-Baptiste Onofré
>              Labels: dependencies, maven, maven-enforcer-plugin
>
> Karaf should verify dependency convergence in its build, via the <DependencyConvergence/> rule of maven-enforcer. Otherwise, it is easy to have dependencies that transitively include other deps with a different version of the same dependency.
> Here is an example from Karaf 2.3.0:
> {code}
> [WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
> Failed while enforcing releasability the error(s) are [
> Dependency convergence error for org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.0.1 paths to dependency are:
> +-com.vivosys.testproject:project-dist:1.0-SNAPSHOT
>   +-com.vivosys.testproject:module1:1.0-SNAPSHOT
>     +-org.apache.karaf.shell:org.apache.karaf.shell.console:2.3.0
>       +-org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.0.1
> and
> +-com.vivosys.testproject:project-dist:1.0-SNAPSHOT
>   +-org.apache.karaf:apache-karaf:2.3.0
>     +-org.apache.karaf:org.apache.karaf.client:2.3.0
>       +-org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.0.1
> and
> +-com.vivosys.testproject:project-dist:1.0-SNAPSHOT
>   +-org.apache.karaf:apache-karaf:2.3.0
>     +-org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.0.1
> and
> +-com.vivosys.testproject:project-dist:1.0-SNAPSHOT
>   +-org.apache.karaf:apache-karaf:2.3.0
>     +-org.apache.aries.blueprint:org.apache.aries.blueprint.cm:1.0.0
>       +-org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.0.0
> {code}
> You can see that Karaf depends on blueprint core 1.0.1, but it also depends on blueprint cm 1.0.0, which in turn depends on core 1.0.0. In practice, this usually works out ok, but resolving these issues at build time is better.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira