Skip to content

Freshmark doesn't work on JDK 15 due to missing Nashorn #803

Description

@LunNova

Nashorn was removed in JDK 15, and freshmark depends on it so crashes.

Caused by: java.lang.RuntimeException: Error on line 21: Cannot invoke "javax.script.ScriptEngine.getContext()" because "jsEngine" is null
at com.diffplug.freshmark.Parser$1ErrorFormatter.lambda$wrap$2(Parser.java:89)
at com.diffplug.freshmark.ParserIntronExon.bodyAndTags(ParserIntronExon.java:71)
at com.diffplug.freshmark.Parser.compile(Parser.java:162)
at com.diffplug.freshmark.CommentScript.compile(CommentScript.java:85)
... 141 more
Caused by: java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.getContext()" because "jsEngine" is null
at com.diffplug.jscriptbox.javascript.Nashorn.lambda$language$0(Nashorn.java:43)
at com.diffplug.jscriptbox.JScriptBox.build(JScriptBox.java:89)
at com.diffplug.freshmark.FreshMark.setupScriptEngine(FreshMark.java:65)
at com.diffplug.freshmark.CommentScript.lambda$compileSection$0(CommentScript.java:71)
at com.diffplug.common.base.Errors$Rethrowing.lambda$wrap$11(Errors.java:342)
at com.diffplug.common.base.Errors$Rethrowing.get(Errors.java:334)
at com.diffplug.freshmark.CommentScript.compileSection(CommentScript.java:70)
at com.diffplug.freshmark.Parser$1State.tag(Parser.java:144)
at com.diffplug.freshmark.Parser$1ErrorFormatter.lambda$wrap$2(Parser.java:78)
... 144 more

Gradle version: 6.8.2
JDK version: AdoptOpenJDK jdk-15.0.1.9-hotspot
OS version: Windows 10 20H2
Freshmark config:

spotless.freshmark(it -> {
it.properties(props -> props.putAll(settings.toProperties(project)));
it.target(files(project, "**/*.md"));
it.indentWithTabs();
it.endWithNewline();
});

This can be worked around by adding nashorn-core to the buildscript classpath:

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.openjdk.nashorn:nashorn-core:15.2")
}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions