tycho
tycho copied to clipboard
Missing requirement diagnosis hard to understand
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.)
The diagnostic is produced by P2 not Tycho so you probably want to report it here: https://github.com/eclipse-equinox/p2