scyjava icon indicating copy to clipboard operation
scyjava copied to clipboard

problems downloading dependencies

Open egonw opened this issue 3 years ago • 7 comments

I observed last week a new problem: Maven Central dependencies are no longer loaded correctly. I first had this when making a PR for pybacting, but later also noted this with a Jupyter notebook that worked fine before:

image

How can I debug this? Is this a ScyJava problem? Did something change at Maven Central?

egonw avatar Jul 10 '22 07:07 egonw

Mmm... I actually just now notice that this notebook does not have problems and also loads from Maven Central (but using the old API).

egonw avatar Jul 10 '22 07:07 egonw

The following command (which underlies the resolving, I guess) works for me locally:

/usr/bin/mvn -B -f /home/egonw/var/Projects/hub/bacting/managers-cheminfo/net.bioclipse.managers.inchi/pom.xml dependency:resolve

egonw avatar Jul 10 '22 09:07 egonw

Okay, problem is elsewhere (finally found it): https://github.com/eclipse-equinox/equinox.bundles/issues/54

egonw avatar Jul 10 '22 12:07 egonw

Okay, I now depend on the latest Eclipse bundles which should depend on the fixed equinox library, but the the wrong version is tried by ScyJava: https://github.com/cthoyt/pybacting/issues/11

Help most welcome. Reproduce with:

from scyjava import config, jimport
config.endpoints.append('io.github.egonw.bacting:managers-inchi:0.0.40')
inchi_cls = jimport("net.bioclipse.managers.InChIManager")
inchi = inchi_cls(".")

Part of the mvn dependency:tree output for this module of version 0.0.40 showing the dependency on org.eclipse.platform:org.eclipse.equinox.preferences:jar:3.10.1:

bacting/managers-cheminfo/net.bioclipse.managers.inchi$ mvn dependency:tree
[INFO] Scanning for projects...
[INFO] Inspecting build with total of 1 modules...
[INFO] Installing Nexus Staging features:
[INFO]   ... total of 1 executions of maven-deploy-plugin replaced with nexus-staging-maven-plugin
[INFO] 
[INFO] ---------------< io.github.egonw.bacting:managers-inchi >---------------
[INFO] Building managers-inchi 0.0.40
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ managers-inchi ---
[INFO] io.github.egonw.bacting:managers-inchi:jar:0.0.40
[INFO] +- xom:xom:jar:1.3.7:compile
[INFO] |  +- xerces:xercesImpl:jar:2.8.0:compile
[INFO] |  |  \- xml-apis:xml-apis:jar:1.3.03:compile
[INFO] |  \- xalan:xalan:jar:2.7.2:compile
[INFO] |     \- xalan:serializer:jar:2.7.2:compile
[INFO] +- io.github.egonw.bacting:bacting-core:jar:0.0.40:compile
[INFO] |  \- io.github.egonw.bacting:bioclipse-core:jar:2.8.0.16:compile
[INFO] |     +- org.eclipse.platform:org.eclipse.core.runtime:jar:3.25.0:compile
[INFO] |     |  +- org.eclipse.platform:org.eclipse.osgi:jar:3.18.0:compile (version selected from constraint [3.17.0,4.0.0))
[INFO] |     |  +- org.eclipse.platform:org.eclipse.equinox.common:jar:3.16.100:compile (version selected from constraint [3.16.0,))
[INFO] |     |  +- org.eclipse.platform:org.eclipse.core.jobs:jar:3.13.0:compile (version selected from constraint [3.13.0,4.0.0))
[INFO] |     |  +- org.eclipse.platform:org.eclipse.equinox.registry:jar:3.11.100:compile (version selected from constraint [3.11.0,4.0.0))
[INFO] |     |  +- org.eclipse.platform:org.eclipse.equinox.preferences:jar:3.10.1:compile (version selected from constraint [3.10.0,4.0.0))
[INFO] |     |  |  \- org.osgi:org.osgi.service.prefs:jar:1.1.2:compile (version selected from constraint [1.1.0,1.2.0))
[INFO] |     |  |     \- org.osgi:osgi.annotation:jar:8.0.1:compile
[INFO] |     |  +- org.eclipse.platform:org.eclipse.core.contenttype:jar:3.8.100:compile (version selected from constraint [3.8.0,4.0.0))
[INFO] |     |  \- org.eclipse.platform:org.eclipse.equinox.app:jar:1.6.100:compile (version selected from constraint [1.6.0,))
[INFO] |     \- org.eclipse.platform:org.eclipse.core.resources:jar:3.17.0:compile
[INFO] |        +- org.eclipse.platform:org.eclipse.core.expressions:jar:3.8.100:compile (version selected from constraint [3.2.0,4.0.0))
[INFO] |        \- org.eclipse.platform:org.eclipse.core.filesystem:jar:1.9.400:compile (version selected from constraint [1.3.0,2.0.0))

But ScyJava still tries to download the broken org.eclipse.platform:org.eclipse.equinox.preferences:jar:3.10.0.

egonw avatar Jul 10 '22 13:07 egonw

@egonw is this still an issue? It might be a problem with jgo that keeps the outdated version in its cache. Did you try removing your .jgo folder and then running your script again?

imagejan avatar Aug 30 '22 08:08 imagejan

@imagejan, I will test.

egonw avatar Aug 30 '22 08:08 egonw

Yes, I still seem to have similar problems, but the equinox one seems to be solved. I find it really hard to debug. The latest (failing) PR is here: https://github.com/cthoyt/pybacting/pull/12

So, running/testing Bacting 0.0.44 itself works fine, but in Python (with ScyJava) it fails. Right now, Apache's commons-io. One thing that seems to work is explicitly excluding from depends and then explicitly added a dependency. But that did not seem to solve the commons-io issue yet. Again, I find it really hard to learn what to do from the (Maven) error messages. ScyJava does not make that easier (not its responsibility, really, of course).

egonw avatar Aug 30 '22 09:08 egonw