unitsofmeasurement/uom-systems

Internal dependency conflicts with systems.uom:systems-common

VirtualTim opened this issue · 7 comments

Adding the following to my project:

  <dependency>
    <groupId>systems.uom</groupId>
    <artifactId>systems-common</artifactId>
    <version>2.1</version>
  </dependency>

Then running the maven-enforcer-plugin reports the following"

[WARNING] Dependency convergence error for javax.measure:unit-api:jar:2.1.2:compile paths to dependency are:
+-test:1.0
  +-systems.uom:systems-common:jar:2.1:compile
    +-javax.measure:unit-api:jar:2.1.2:compile
and
+-test:1.0
  +-systems.uom:systems-common:jar:2.1:compile
    +-tech.units:indriya:jar:2.1.2:compile
      +-javax.measure:unit-api:jar:2.1.2:compile
and
+-test:1.0
  +-systems.uom:systems-common:jar:2.1:compile
    +-tech.units:indriya:jar:2.1.2:compile
      +-tech.uom.lib:uom-lib-common:jar:2.1:compile
        +-javax.measure:unit-api:jar:2.0:compile
and
+-test:1.0
  +-systems.uom:systems-common:jar:2.1:compile
    +-si.uom:si-quantity:jar:2.1:compile
      +-javax.measure:unit-api:jar:2.1.2:compile
and
+-test:1.0
  +-systems.uom:systems-common:jar:2.1:compile
    +-si.uom:si-units:jar:2.1:compile
      +-javax.measure:unit-api:jar:2.1.2:compile

Also, this is the report for systems.uom:systems-common:2.0.2, as a dependency of org.geotools:gt-opengis:28.2.

[WARNING] Dependency convergence error for si.uom:si-quantity:jar:2.0.1:compile paths to dependency are:
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:28.2:compile
    +-org.geotools.ogc:net.opengis.fes:jar:28.2:compile
      +-org.geotools:gt-opengis:jar:28.2:compile
        +-systems.uom:systems-common:jar:2.0.2:compile
          +-si.uom:si-quantity:jar:2.0.1:compile
and
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:28.2:compile
    +-org.geotools.ogc:net.opengis.fes:jar:28.2:compile
      +-org.geotools:gt-opengis:jar:28.2:compile
        +-systems.uom:systems-common:jar:2.0.2:compile
          +-si.uom:si-units:jar:2.0.1:compile
            +-si.uom:si-quantity:jar:2.0:compile

[WARNING] Dependency convergence error for tech.units:indriya:jar:2.0.2:compile paths to dependency are:
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:28.2:compile
    +-org.geotools.ogc:net.opengis.fes:jar:28.2:compile
      +-org.geotools:gt-opengis:jar:28.2:compile
        +-systems.uom:systems-common:jar:2.0.2:compile
          +-tech.units:indriya:jar:2.0.2:compile
and
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:28.2:compile
    +-org.geotools.ogc:net.opengis.fes:jar:28.2:compile
      +-org.geotools:gt-opengis:jar:28.2:compile
        +-systems.uom:systems-common:jar:2.0.2:compile
          +-si.uom:si-units:jar:2.0.1:compile
            +-tech.units:indriya:jar:2.0.1:compile

Seems related to unitsofmeasurement/unit-tck#51 (dependency convergence issues with the TCK as well).

keilw commented

The above look fine except for

      +-tech.uom.lib:uom-lib-common:jar:2.1:compile
        +-javax.measure:unit-api:jar:2.0:compile

For the TCK Indriya is excluded from the runtime anyway, only the lib. With uom-lib-common there's always a bit of a "chicken and eg" problem, because it needs to be built and deployed before the other libs. This should be addressed and taken care of in uom-lib 2.2.

Thanks for taking this seriously.
I know it seems minor, but I want to use maven enforcer to catch dependency conflicts in my project (which has been an issue in the past), but issues like this get in the way of me using it.

And this is the report for systems.uom:systems-common:2.1, as a dependency of org.geotools.xsd:gt-xsd-fes:29.0.

[WARNING] Dependency convergence error for javax.measure:unit-api:jar:2.1.2 paths to dependency are:
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:29.0:compile
    +-org.geotools.ogc:net.opengis.fes:jar:29.0:compile
      +-org.geotools:gt-opengis:jar:29.0:compile
        +-systems.uom:systems-common:jar:2.1:compile
          +-javax.measure:unit-api:jar:2.1.2:compile
and
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:29.0:compile
    +-org.geotools.ogc:net.opengis.fes:jar:29.0:compile
      +-org.geotools:gt-opengis:jar:29.0:compile
        +-systems.uom:systems-common:jar:2.1:compile
          +-si.uom:si-quantity:jar:2.1:compile
            +-javax.measure:unit-api:jar:2.1.2:compile
and
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:29.0:compile
    +-org.geotools.ogc:net.opengis.fes:jar:29.0:compile
      +-org.geotools:gt-opengis:jar:29.0:compile
        +-systems.uom:systems-common:jar:2.1:compile
          +-si.uom:si-units:jar:2.1:compile
            +-javax.measure:unit-api:jar:2.1.2:compile
and
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:29.0:compile
    +-org.geotools.ogc:net.opengis.fes:jar:29.0:compile
      +-org.geotools:gt-opengis:jar:29.0:compile
        +-tech.units:indriya:jar:2.1.3:compile
          +-javax.measure:unit-api:jar:2.1.3:compile
and
+-test:1.0
  +-org.geotools.xsd:gt-xsd-fes:jar:29.0:compile
    +-org.geotools.ogc:net.opengis.fes:jar:29.0:compile
      +-org.geotools:gt-opengis:jar:29.0:compile
        +-tech.units:indriya:jar:2.1.3:compile
          +-tech.uom.lib:uom-lib-common:jar:2.1:compile
            +-javax.measure:unit-api:jar:2.0:compile

I've logged an issue on unitsofmeasurement/indriya for the unit-api conflict, but this is beginning to feel like a losing battle...

keilw commented

This depends on the MR2 of the JSR and with fewer people helping right now, it takes time, so thanks for your patience.

keilw commented

If the problem lies in uom-lib, maybe best to raise an issue there?
Because it could be a potential duplicate of indriya#395 or vice versa.