GraalVM is the way to go for Javascript and other language support because Nashhorn is removed in Java 15.

While <optional>true</optional> or <scope>provided</scope>, the project does not sip it nor do depending on Jena libraries inherit through dependency management.

The build does not require them for java8 or java11.
(You can remove the dependencies and it still builds).

At Java15, that should be a problem but our JDK15 (targetting Java8 bytecode) works. I don't know how that happens.

The jena-arq POM does causes graalVM to be pulled in to build.

It seems to me that the intention is that GraalVM is like the JDK - it just "is" on the platform (more like <scope>provided</scope>). But that isn't how things work - what ever I'd tried for "provided", graalvm is downloaded into my local maven repo.

Is this a case for <scope>system</scope>?

    Andy

org.graalvm.js --

The graalvm.js libraries are licensed under the Universal Permissive License 1.0, which is a category-A license.

https://github.com/graalvm/graaljs
https://github.com/graalvm/graaljs/blob/master/LICENSE

org.ow2.asm:asm --

3-clause BSD-style license - redistributions must include the copyright, T&Cs, and the disclaimer. This would go into a NOTICE for any binaries which redistribute it (and not in the source repo).

Work to do if we ship it (at the moment, Jena has GraalVM optional and it is not shipped by a combined binary)

https://gitlab.ow2.org/asm/asm/-/blob/master/LICENSE.txt

com.ibm.icu:icu4j --

com.ibm.icu licensing is long but all the part look OK. ICU4J License with a need to pass notices.

https://github.com/unicode-org/icu/blob/master/icu4j/main/shared/licenses/LICENSE

org.graalvm.regex --
org.graalvm.truffle --
org.graalvm.sdk --

GPLv2+CPE

While <optional>true</optional> or <scope>provided</scope>, so depending in Jena libraries does not require GraalVM, the issue is that the build uses these.

However, the build does not require them for java8 or java11. (You can remove the dependencies and it still builds).

It seems to me that the intention is that GraalVMis like the JDK - it just "is" on the platform (more like <scope>provided</scope>).





dependency:tree extract from jena-arq

[INFO] +- org.graalvm.js:js:jar:20.2.0:compile (optional)
[INFO] |  +- org.graalvm.regex:regex:jar:20.2.0:compile (optional)
[INFO] |  +- org.graalvm.truffle:truffle-api:jar:20.2.0:compile (optional)
[INFO] |  +- org.graalvm.sdk:graal-sdk:jar:20.2.0:compile (optional)
[INFO] |  +- org.ow2.asm:asm:jar:7.1:compile (optional)
[INFO] |  +- org.ow2.asm:asm-tree:jar:7.1:compile (optional)
[INFO] |  +- org.ow2.asm:asm-analysis:jar:7.1:compile (optional)
[INFO] |  +- org.ow2.asm:asm-commons:jar:7.1:compile (optional)
[INFO] |  +- org.ow2.asm:asm-util:jar:7.1:compile (optional)
[INFO] |  \- com.ibm.icu:icu4j:jar:67.1:compile (optional)
[INFO] +- org.graalvm.js:js-scriptengine:jar:20.2.0:compile (optional)

Reply via email to