Build CLDR Fails - importClass is not defined


#1

I’m trying to build the CLDR files and I’m hitting the error shown below. I tried with JDK 1.7 and 1.8. Can anyone give me an idea of how to work past this?

        gsexton@reddwarf:~/dojo-release-1.13.0-src/util/buildscripts/cldr> java -version
    java version "1.8.0_162"
    Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
    gsexton@reddwarf:~/dojo-release-1.13.0-src/util/buildscripts/cldr> ant
    Buildfile: /home/gsexton/dojo-release-1.13.0-src/util/buildscripts/cldr/build.xml

    clean:
       [delete] Deleting directory /home/gsexton/dojo-release-1.13.0-src/util/buildscripts/cldr/ldml/core
       [delete] Deleting directory /home/gsexton/dojo-release-1.13.0-src/dojo/cldr/nls
        [mkdir] Created dir: /home/gsexton/dojo-release-1.13.0-src/dojo/cldr/nls

    -check-config:

    -fix-config:

    -ldml-check:

    ldml:
        [mkdir] Created dir: /home/gsexton/dojo-release-1.13.0-src/util/buildscripts/cldr/ldml/core
        [unzip] Expanding: /home/gsexton/dojo-release-1.13.0-src/util/buildscripts/cldr/ldml/core.zip into /home/gsexton/dojo-release-1.13.0-src/util/buildscripts/cldr/ldml/core

    cldr:

    BUILD FAILED
    /home/gsexton/dojo-release-1.13.0-src/util/buildscripts/cldr/build.xml:252: javax.script.ScriptException: ReferenceError: "importClass" is not defined in <eval> at line number 5
            at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470)
            at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:454)
            at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:406)
            at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:402)
            at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)
            at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.tools.ant.util.ReflectUtil.invoke(ReflectUtil.java:108)
            at org.apache.tools.ant.util.ReflectWrapper.invoke(ReflectWrapper.java:81)
            at org.apache.tools.ant.util.optional.JavaxScriptRunner.evaluateScript(JavaxScriptRunner.java:103)
            at org.apache.tools.ant.util.optional.JavaxScriptRunner.executeScript(JavaxScriptRunner.java:67)
            at org.apache.tools.ant.taskdefs.optional.script.ScriptDef.executeScript(ScriptDef.java:350)
            at org.apache.tools.ant.taskdefs.optional.script.ScriptDefBase.execute(ScriptDefBase.java:50)
            at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
            at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
            at org.apache.tools.ant.Task.perform(Task.java:348)
            at org.apache.tools.ant.Target.execute(Target.java:435)
            at org.apache.tools.ant.Target.performTasks(Target.java:456)
            at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
            at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
            at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
            at org.apache.tools.ant.Main.runBuild(Main.java:851)
            at org.apache.tools.ant.Main.startAnt(Main.java:235)
            at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
            at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
    Caused by: <eval>:5 ReferenceError: "importClass" is not defined
            at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
            at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319)
            at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291)
            at jdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1441)
            at jdk.nashorn.internal.scripts.Script$\^eval\_.:program(<eval>:5)
            at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:637)
            at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494)
            at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
            at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:449)
            ... 30 more

    Total time: 2 seconds

#2

OK, I’ve found the solution here:

and here:

https://bugs.openjdk.java.net/browse/JDK-8025132

replace

importClass(java.io.File);

with

var File=java.io.File;

Should I submit this as a bug?


#3

Ideally, I’d say report it as a PR against http://github.com/dojo/util/