karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raman Gupta (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (KARAF-2000) Add dependency convergence enforcement to Karaf build
Date Tue, 06 Nov 2012 15:42:12 GMT

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

Raman Gupta updated KARAF-2000:
-------------------------------

    Description: 
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.

  was:
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.1. In practice, this usually works out ok, but resolving
these issues at build time is better.

    
> 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
>              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

Mime
View raw message