# HG changeset patch # User sundar # Date 1459186501 -19800 # Node ID 298caeee3757d134e6ec1b71c98d31d90a10ec80 # Parent 7359994942f8d8e723b584d66a3a92c2e9e95e5c 8152533: ant octane target fails with "Unable to load a script engine manager (org.apache.bsf.BSFManager or javax.script.ScriptEngineManager)" Reviewed-by: jlaskey diff -r 7359994942f8 -r 298caeee3757 nashorn/buildtools/nashorntask/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nashorn/buildtools/nashorntask/README Mon Mar 28 23:05:01 2016 +0530 @@ -0,0 +1,1 @@ +This project implements an ant task to run Nashorn scripts from ant projects. diff -r 7359994942f8 -r 298caeee3757 nashorn/buildtools/nashorntask/build.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nashorn/buildtools/nashorntask/build.xml Mon Mar 28 23:05:01 2016 +0530 @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 7359994942f8 -r 298caeee3757 nashorn/buildtools/nashorntask/project.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nashorn/buildtools/nashorntask/project.properties Mon Mar 28 23:05:01 2016 +0530 @@ -0,0 +1,40 @@ +# +# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +application.title=nashorntask + +# source and target levels +build.compiler=modern +javac.source=1.8 +javac.target=1.8 + +build.classes.dir=${build.dir}/classes + +# This directory is removed when the project is cleaned: +build.dir=build +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/nashorntask.jar +dist.javadoc.dir=${dist.dir}/javadoc + +javac.debug=true +src.dir=src diff -r 7359994942f8 -r 298caeee3757 nashorn/buildtools/nashorntask/src/jdk/nashorn/ant/NashornTask.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nashorn/buildtools/nashorntask/src/jdk/nashorn/ant/NashornTask.java Mon Mar 28 23:05:01 2016 +0530 @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package jdk.nashorn.ant; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; +import org.apache.tools.ant.Project; +import org.apache.tools.ant.Task; +import org.apache.tools.ant.BuildException; + +/** + * This class implements an ant task to evaluate nashorn scripts + * from ant projects. + */ +public final class NashornTask extends Task { + // Underlying nashorn script engine + private final ScriptEngine engine; + // the current ant project + private Project project; + // the script evaluated by this task + private String script; + + public NashornTask() { + final ScriptEngineManager m = new ScriptEngineManager(); + this.engine = m.getEngineByName("nashorn"); + } + + @Override + public void setProject(Project proj) { + this.project = proj; + } + + // set the script to be evaluated + public void addText(String text) { + this.script = text; + } + + @Override + public void execute() { + // expose project as "project" variable + engine.put("project", project); + // expose this task as "self" variable + engine.put("self", this); + + // evaluate specified script + try { + engine.eval(script); + } catch (final ScriptException se) { + throw new BuildException(se); + } + } +} diff -r 7359994942f8 -r 298caeee3757 nashorn/make/build-benchmark.xml --- a/nashorn/make/build-benchmark.xml Wed Jul 05 21:30:26 2017 +0200 +++ b/nashorn/make/build-benchmark.xml Mon Mar 28 23:05:01 2016 +0530 @@ -217,14 +217,20 @@ + + + + + - + - + ]]> @@ -278,14 +284,8 @@ --> - - + + @@ -318,9 +318,7 @@ - + fork="true"> @@ -391,9 +389,7 @@ - + fork="true"> diff -r 7359994942f8 -r 298caeee3757 nashorn/make/project.properties --- a/nashorn/make/project.properties Wed Jul 05 21:30:26 2017 +0200 +++ b/nashorn/make/project.properties Mon Mar 28 23:05:01 2016 +0530 @@ -47,6 +47,9 @@ build.zip=${build.dir}/nashorn.zip build.gzip=${build.dir}/nashorn.tar.gz +# project directory of ant task +nashorntask.dir=buildtools/nashorntask + # nashorn Shell tool nashorn.shell.tool=jdk.nashorn.tools.Shell @@ -54,8 +57,6 @@ nasgen.tool=jdk.nashorn.internal.tools.nasgen.Main nasgen.module.imports=\ - -nasgen.module.imports=\ java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED,\ java.base/jdk.internal.org.objectweb.asm.util=ALL-UNNAMED