rdfhdt / hdt-java

HDT Java library and tools.
Other
94 stars 69 forks source link

Dependency resolution of hdt-java-core 3.0.5 fails #198

Open IanEmmons opened 10 months ago

IanEmmons commented 10 months ago

When I try to include hdt-java-core 3.0.5 via the gradle dependency 'com.github.rdfhdt.hdt-java:hdt-java-core:v3.0.5', gradle is unable to resolve the dependency. (I am depending on RMLMapper 6.2.1, and that in turn has this particular dependency.)

When I resolve against MavenCentral, gradle cannot find hdt-java-core at all. When I resolve against https://jitpack.io and MavenCentral, gradle does find hdt-java-core, but cannot resolve one of its dependencies:

org.visnow:JLargeArrays:1.7-20220624.150242-7

Now, I've also noticed that MavenCentral can resolve a different (but seemingly related) dependency 'org.rdfhdt:hdt-java-core:3.0.5'. However, it also fails to load because the same JLargeArrays dependency is missing. This failure persists even if I update to the latest version of hdt-java-core (3.0.9).

Question 1: Which is the preferred form of the hdt-java-core dependency? I would think the org.rdfhdt one, since MavenCentral is easier for most people.

Question 2: How do I resolve the JLargeArrays dependency?

D063520 commented 10 months ago

@IanEmmons I let you read the description of the pull request that explains why you are running into the issue. Basically we do not have control over JLargeArrays.

I'm preparing a new release and I would suggest that you make a pull request against RMLMapper library that uses it.

PS: the action for the release is triggered. Will take some hours until it is in maven central ....

IanEmmons commented 10 months ago

Great, thanks, this almost resolves my issue. One question remains: RMLMapper depends on 'com.github.rdfhdt.hdt-java:hdt-java-core:v3.0.5'. It's pretty clear from your mention of MavenCentral that they should use 'org.rdfhdt:hdt-java-core:3.0.10' instead. But their actual direct dependency is on 'com.github.rdfhdt.hdt-java:hdt-java:v3.0.5' (not -core). Does that mean they should switch to 'org.rdfhdt:hdt-java-parent:3.0.10'?

ate47 commented 10 months ago

In fact what is com.github.rdfhdt.hdt-java, the group id is org.rdfhdt for Maven.

Also between the 3.0.5 and the 3.0.10 you shouldn't have any compatibility issue.

IanEmmons commented 10 months ago

Right, I figured that part. The real question is, what is the MavenCentral equivalent of 'com.github.rdfhdt.hdt-java:hdt-java:v3.0.5' (with no -core)? Is it 'org.rdfhdt:hdt-java-parent:3.0.10'?

ate47 commented 10 months ago

In fact looking at the pom.xml with a quick search. They are only using the core and api part of the library, so you can keep the hdt-java-core (which is including the hdt-api)

IanEmmons commented 10 months ago

Thanks very much!