unitsofmeasurement / uom-systems

Units of Measurement Systems
http://www.uom.systems
Other
36 stars 17 forks source link

Internal dependency conflicts with systems.uom:systems-common #199

Closed VirtualTim closed 2 weeks ago

VirtualTim commented 1 year ago

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
VirtualTim commented 1 year ago

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
desruisseaux commented 1 year ago

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

keilw commented 1 year ago

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.

VirtualTim commented 1 year ago

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.

VirtualTim commented 1 year ago

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 1 year ago

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 1 year ago

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.

keilw commented 2 weeks ago

I suppose this should be fixed with 2.2

VirtualTim commented 2 weeks ago

Cool. Is there any estimate on when 2.2 will be released?