tycho icon indicating copy to clipboard operation
tycho copied to clipboard

Missing requirement diagnosis hard to understand

Open ewillink opened this issue 2 years ago • 1 comments

The following diagnosis

[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: org.eclipse.ocl.standalone.ecore.tests 6.19.0.qualifier
[ERROR]   Missing requirement: org.hamcrest.core 2.2.0.v20230809-1000 requires 'osgi.bundle; org.hamcrest 2.2.0' but it could not be found
[ERROR]   Cannot satisfy dependency: org.eclipse.ocl.ecore.tests 3.19.0.v20230820-0642 depends on: osgi.bundle; org.eclipse.ocl.tests [3.1.0,4.0.0)
[ERROR]   Cannot satisfy dependency: org.eclipse.ocl.standalone.ecore.tests 6.19.0.qualifier depends on: osgi.bundle; org.eclipse.ocl.ecore.tests 0.0.0
[ERROR]   Cannot satisfy dependency: org.eclipse.ocl.tests 3.19.0.v20230820-0642 depends on: osgi.bundle; org.junit [4.5.0,5.0.0)
[ERROR]   Cannot satisfy dependency: org.junit 4.13.2.v20230809-1000 depends on: osgi.bundle; org.hamcrest.core 1.3.0

is hard to understand primarily because the lines are poorly ordered. The following would be much clearer:

[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: org.eclipse.ocl.standalone.ecore.tests 6.19.0.qualifier
[ERROR]   Cannot satisfy transitive dependency: org.eclipse.ocl.standalone.ecore.tests 6.19.0.qualifier depends on: osgi.bundle; org.eclipse.ocl.ecore.tests 0.0.0
[ERROR]   Cannot satisfy transitive dependency: org.eclipse.ocl.ecore.tests 3.19.0.v20230820-0642 depends on: osgi.bundle; org.eclipse.ocl.tests [3.1.0,4.0.0)
[ERROR]   Cannot satisfy transitive dependency: org.eclipse.ocl.tests 3.19.0.v20230820-0642 depends on: osgi.bundle; org.junit [4.5.0,5.0.0)
[ERROR]   Cannot satisfy transitive dependency: org.junit 4.13.2.v20230809-1000 depends on: osgi.bundle; org.hamcrest.core 1.3.0
[ERROR]   Cannot satisfy direct dependency: org.hamcrest.core 2.2.0.v20230809-1000 depends on: osgi.bundle; org.hamcrest 2.2.0
[ERROR]   Missing requirement: 'osgi.bundle; org.hamcrest 2.2.0' could not be found

This avoids the logical flow jumping around and uses a consistent messaging for all dependencies.

(A lesser improvement could be to render [1.3.0, ...) rather than 1.3.0 to clarify the upper generosity.)

ewillink avatar Aug 24 '23 05:08 ewillink

The diagnostic is produced by P2 not Tycho so you probably want to report it here: https://github.com/eclipse-equinox/p2

laeubi avatar Sep 18 '23 12:09 laeubi