substrait-io / substrait-java

Apache License 2.0
74 stars 70 forks source link

[Isthmus] How to use Isthmus as a dependency #163

Open DevonFulcher opened 11 months ago

DevonFulcher commented 11 months ago

Hello, I am trying to use Isthmus as a dependency in my project. I noticed that in the Readme that there are only instructions for CLI usage. Can someone provide instructions for usage as a package? I am using Gradle, and I don't think transitive dependencies are being installed correctly. I had to add io.substrait:core:0.14.1 manually to my build file to fix an error, but now I am getting this error:

com.fasterxml.jackson.core.io.ContentReference com.fasterxml.jackson.dataformat.yaml.YAMLFactory._createContentReference(java.lang.Object)

Am I doing something wrong? Would it be possible to fix this transitive dependency issue?

vbarua commented 11 months ago

Just to double check, are you also including io.substrait:ithmus:?

Would you be able to provide an example of your build as well. For context, at work we're able to include and run Isthmus with no issues.

DevonFulcher commented 11 months ago

Yes, I have implementation("io.substrait:isthmus:0.14.1") in my build.gradle.kts file. I think the issue may be a conflict with GraalVM and Corretto or Kotlin (based on this). Here is the error when I just have implementation("io.substrait:isthmus:0.14.1") and implementation("io.substrait:core:0.14.1") not included:

Cannot access class 'io.substrait.proto.Plan'. Check your module classpath for missing or conflicting dependencies

Is Isthmus compatible with Corretto & Kotlin?

vbarua commented 11 months ago

To the best of my knowledge we haven't done anything that would make it not compatible, though I'm not an expert at Java build system stuff.