You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Raman Gupta (JIRA)" <ji...@apache.org> on 2012/11/06 16:40:14 UTC

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

Raman Gupta created KARAF-2000:
----------------------------------

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


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.

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

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

Posted by "Raman Gupta (JIRA)" <ji...@apache.org>.
     [ 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

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

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
     [ 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