imagej / imagej-updater

The automatic updater for ImageJ
Other
12 stars 15 forks source link

Upload site update failure due to old obsolete dependency #105

Closed dgault closed 1 year ago

dgault commented 1 year ago

We had a reported issue that the Bio-Formats update, used for development versions, had stopped updating: https://forum.image.sc/t/bio-formats-update-site-last-version-31st-july-2022/83233/1

Upon investigating we were seeing the failure reported as being due to an obsolete dependency (jars/cdm-4.6.13.jar). The failure when uploading looks like below (the full output is here):

[INFO] Uploading 12 (removing 1) to Bio-Formats (webdav:Bio-Formats:<password>:./)
Error:  There are conflicts:
jars/cdm-4.6.13.jar: Is marked obsolete but a dependency of

jars/bio-formats/formats-gpl-7.0.0-20230705.110730-1.jar
jars/bio-formats/formats-gpl-7.0.0-20230705.110730-1.jar: Depends on jars/cdm.jar which is about to be removed.

Error: Process completed with exit code 1.

This is a dependency that formats-gpl had previously used (and the last version currently on the update site is using) and is now marked as obsolete. However we have since updated that dependency to the more recent edu.ucar:cdm-core:jar:5.3.3. So the original jars/cdm-4.6.13.jar is no longer in the dependency tree for the versions of formats-gpl that are failing the upload.

Is there a way we can work around this or an option we can use to force the upload for now? The script we had been using for deploying the updates is here

The current depedency tree of the jar that failed is as below:

[INFO] |  +- ome:formats-gpl:jar:7.0.0-SNAPSHOT:compile
[INFO] |  |  +- org.openmicroscopy:ome-mdbtools:jar:5.3.2:compile
[INFO] |  |  +- org.openmicroscopy:metakit:jar:5.3.5:compile
[INFO] |  |  +- org.openmicroscopy:ome-poi:jar:5.3.7:compile
[INFO] |  |  |  \- commons-logging:commons-logging:jar:1.2:compile
[INFO] |  |  +- edu.ucar:cdm-core:jar:5.3.3:compile
[INFO] |  |  |  +- edu.ucar:httpservices:jar:5.3.3:compile
[INFO] |  |  |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.9:compile
[INFO] |  |  |  |  |  \- commons-codec:commons-codec:jar:1.11:compile
[INFO] |  |  |  |  \- org.apache.httpcomponents:httpmime:jar:4.5.9:compile
[INFO] |  |  |  \- com.google.re2j:re2j:jar:1.3:compile
[INFO] |  |  +- woolz:JWlz:jar:1.4.0:compile
[INFO] |  |  +- org.json:json:jar:20230227:compile
[INFO] |  |  \- org.xerial:sqlite-jdbc:jar:3.28.0:compile
ctrueden commented 1 year ago

@dgault Yes, you can edit the dependencies of any file you are uploading via the updater in graphical mode.

While in the advanced mode, you can edit a file’s dependencies directly by making changes in the right-hand Details pane. Just delete the dependency lines you don’t want, or type new ones that you do want. This is useful when the Updater’s byte-code analyzer detects wrong dependencies for a particular file, or as in this case where dependencies changed and the Updater has retained the old dependency from the file's existing metadata.

dgault commented 1 year ago

Thanks again, managed to get everything sorted