htsjdk icon indicating copy to clipboard operation
htsjdk copied to clipboard

Nashorn engine removed from OpenJDK 17 causes htsjdk to throw exceptions

Open pgrt opened this issue 2 years ago • 0 comments

Hello,

I am working on the packaging of htsjdk in Debian. Soon OpenJDK 17 will become the standard in Debian, so I built htsjdk against OpenJDK 17 and got the following issues:

Gradle suite > Gradle test > htsjdk.samtools.filter.JavascriptSamRecordFilterTest.testJavascriptFilters[0](unsorted.sam, samFilter01.js, 8) FAILED htsjdk.samtools.util.RuntimeScriptException: The embedded 'javascript' engine is not available in java. Do you use the SUN/Oracle Java Runtime ? at htsjdk.samtools.filter.AbstractJavascriptFilter.(AbstractJavascriptFilter.java:90) at htsjdk.samtools.filter.AbstractJavascriptFilter.(AbstractJavascriptFilter.java:65) at htsjdk.samtools.filter.JavascriptSamRecordFilter.(JavascriptSamRecordFilter.java:58) at htsjdk.samtools.filter.JavascriptSamRecordFilterTest.testJavascriptFilters(JavascriptSamRecordFilterTest.java:58)

Gradle suite > Gradle test > htsjdk.samtools.filter.JavascriptSamRecordFilterTest.testJavascriptFilters[1](unsorted.sam, samFilter02.js, 10) FAILED htsjdk.samtools.util.RuntimeScriptException: The embedded 'javascript' engine is not available in java. Do you use the SUN/Oracle Java Runtime ? at htsjdk.samtools.filter.AbstractJavascriptFilter.(AbstractJavascriptFilter.java:90) at htsjdk.samtools.filter.AbstractJavascriptFilter.(AbstractJavascriptFilter.java:65) at htsjdk.samtools.filter.JavascriptSamRecordFilter.(JavascriptSamRecordFilter.java:58) at htsjdk.samtools.filter.JavascriptSamRecordFilterTest.testJavascriptFilters(JavascriptSamRecordFilterTest.java:58)

Gradle suite > Gradle test > htsjdk.variant.variantcontext.filter.JavascriptVariantFilterTest.testJavascriptFilters[0](ILLUMINA.wex.broad_phase2_baseline.20111114.both.exome.genotypes.1000.vcf, variantFi lter01.js, 61) FAILED htsjdk.samtools.util.RuntimeScriptException: The embedded 'javascript' engine is not available in java. Do you use the SUN/Oracle Java Runtime ? at htsjdk.samtools.filter.AbstractJavascriptFilter.(AbstractJavascriptFilter.java:90) at htsjdk.samtools.filter.AbstractJavascriptFilter.(AbstractJavascriptFilter.java:65) at htsjdk.variant.variantcontext.filter.JavascriptVariantFilter.(JavascriptVariantFilter.java:54) at htsjdk.variant.variantcontext.filter.JavascriptVariantFilterTest.testJavascriptFilters(JavascriptVariantFilterTest.java:57)

Gradle suite > Gradle test > htsjdk.variant.variantcontext.filter.JavascriptVariantFilterTest.testJavascriptFilters[1](ILLUMINA.wex.broad_phase2_baseline.20111114.both.exome.genotypes.1000.vcf, variantFi lter02.js, 38) FAILED htsjdk.samtools.util.RuntimeScriptException: The embedded 'javascript' engine is not available in java. Do you use the SUN/Oracle Java Runtime ? at htsjdk.samtools.filter.AbstractJavascriptFilter.(AbstractJavascriptFilter.java:90) at htsjdk.samtools.filter.AbstractJavascriptFilter.(AbstractJavascriptFilter.java:65) at htsjdk.variant.variantcontext.filter.JavascriptVariantFilter.(JavascriptVariantFilter.java:54) at htsjdk.variant.variantcontext.filter.JavascriptVariantFilterTest.testJavascriptFilters(JavascriptVariantFilterTest.java:57)

Also in (say) OpenJDK 11, the deprecation of Nashorn engine (https://openjdk.java.net/jeps/372) is already printed as a warning when running the build tests of htsjdk.

Do you see any way of coping with this in order to keep htsjdk working with OpenJDK 17?

Best, Pierre

pgrt avatar May 28 '22 09:05 pgrt