git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273541 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -14,6 +14,9 @@ Changes that could break older environments: | |||
| "java -jar ant-bootstrap.jar" instead if you want to run Ant without | |||
| the wrapper script (not recommended). | |||
| * The <script> task now requires Apache BSF instead of the older IBM | |||
| version. See <http://jakarta.apache.org/bsf/> | |||
| Fixed bugs: | |||
| ----------- | |||
| @@ -319,7 +319,7 @@ | |||
| <available property="jdk1.4+" classname="java.lang.CharSequence"/> | |||
| <available property="kaffe" classname="kaffe.util.NotImplemented"/> | |||
| <available property="bsf.present" | |||
| classname="com.ibm.bsf.BSFManager" | |||
| classname="org.apache.bsf.BSFManager" | |||
| classpathref="classpath"/> | |||
| <condition property="netrexx.present"> | |||
| <and> | |||
| @@ -840,7 +840,7 @@ | |||
| <selector refid="needs.commons.logging"/> | |||
| </jar> | |||
| <jar destfile="${build.lib}/${optional.jars.prefix}-bsf.jar" | |||
| <jar destfile="${build.lib}/${optional.jars.prefix}-apache-bsf.jar" | |||
| basedir="${build.classes}" | |||
| manifest="${manifest.tmp}"> | |||
| <selector refid="needs.bsf"/> | |||
| @@ -10,7 +10,7 @@ | |||
| <h2><a name="script">Script</a></h2> | |||
| <h3>Description</h3> | |||
| <p>Execute a script in a | |||
| <a href="http://www-124.ibm.com/developerworks/projects/bsf" target="_top">BSF</a> supported language.</p> | |||
| <a href="http://jakarta.apache.org/bsf" target="_top">Apache BSF</a> supported language.</p> | |||
| <p><b>Note:</b> This task depends on external libraries not included in the Ant distribution. | |||
| See <a href="../install.html#librarydependencies">Library Dependencies</a> for more information.</p> | |||
| <p>All items (tasks, targets, etc) of the running project are | |||
| @@ -19,10 +19,6 @@ accessible from the script, using either their <code>name</code> or | |||
| valid Java identifiers, that is). | |||
| The name "project" is a pre-defined reference to the Project, which can be | |||
| used instead of the project name.</p> | |||
| <p><b>BeanShell users:</b> This task now natively supports the BeanShell | |||
| scripting language, using language="beanshell". The BeanShell engine is | |||
| still required. | |||
| </p> | |||
| <p>Scripts can do almost anything a task written in Java could do.</p> | |||
| <h3>Parameters</h3> | |||
| <table border="1" cellpadding="2" cellspacing="0"> | |||
| @@ -34,7 +30,7 @@ still required. | |||
| <tr> | |||
| <td valign="top">language</td> | |||
| <td valign="top">The programming language the script is written in. | |||
| Must be a supported BSF language</td> | |||
| Must be a supported Apache BSF language</td> | |||
| <td valign="top" align="center">Yes</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -320,23 +320,27 @@ Installing Ant / Optional Tasks</a> section above.</p> | |||
| <tr> | |||
| <td >bsf.jar</td> | |||
| <td>script task</td> | |||
| <td><a href="http://oss.software.ibm.com/developerworks/projects/bsf" target="_top"> | |||
| oss.software.ibm.com/developerworks/projects/bsf</a></td> | |||
| <td><a href="http://jakarta.apache.org/bsf/" target="_top">http://jakarta.apache.org/bsf/</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>netrexx.jar</td> | |||
| <td>netrexx task</td> | |||
| <td>netrexx task, Rexx with the script task</td> | |||
| <td><a href="http://www2.hursley.ibm.com/netrexx" target="_top"> | |||
| www2.hursley.ibm.com/netrexx</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>js.jar</td> | |||
| <td>javascript with script task</td> | |||
| <td>Javascript with script task</td> | |||
| <td><a href="http://www.mozilla.org/rhino/" target="_top">www.mozilla.org/rhino</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>jython.jar</td> | |||
| <td>Python with script task</td> | |||
| <td><a href="http://jython.sourceforge.net/" target="_top">jython.sourceforge.net</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>jpython.jar</td> | |||
| <td>python with script task</td> | |||
| <td>Python with script task <b>deprecated, jython is the prefered engine</b></td> | |||
| <td><a href="http://www.jpython.org/" target="_top">www.jpython.org</a></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -349,6 +353,16 @@ Installing Ant / Optional Tasks</a> section above.</p> | |||
| <td>BeanShell with script task</td> | |||
| <td><a href="http://www.beanshell.org" target="_top">www.beanshell.org</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>jruby.jar</td> | |||
| <td>Ruby with script task</td> | |||
| <td><a href="http://jruby.sourceforge.net/" target="_top">jruby.sourceforge.net</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>judo.jar</td> | |||
| <td>Judoscript with script task</td> | |||
| <td><a href="http://www.judoscript.com/index.html" target="_top">www.judoscript.com/index.html</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>netcomponents.jar</td> | |||
| <td>ftp and telnet tasks</td> | |||
| @@ -723,8 +723,8 @@ documentation.</p> | |||
| <tr valign="top"> | |||
| <td nowrap><a href="OptionalTasks/script.html">Script</a></td> | |||
| <td><p>Executes a script in a | |||
| <a href="http://oss.software.ibm.com/developerworks/opensource/bsf/" | |||
| target="_top">BSF</a>-supported language.</p></td> | |||
| <a href="http://jakarta.apache.org/bsf/" | |||
| target="_top">Apache BSF</a>-supported language.</p></td> | |||
| </tr> | |||
| <tr valign="top"> | |||
| @@ -53,13 +53,13 @@ | |||
| */ | |||
| package org.apache.tools.ant.taskdefs.optional; | |||
| import com.ibm.bsf.BSFException; | |||
| import com.ibm.bsf.BSFManager; | |||
| import java.io.File; | |||
| import java.io.FileInputStream; | |||
| import java.io.IOException; | |||
| import java.util.Enumeration; | |||
| import java.util.Hashtable; | |||
| import org.apache.bsf.BSFException; | |||
| import org.apache.bsf.BSFManager; | |||
| import org.apache.tools.ant.BuildException; | |||
| import org.apache.tools.ant.Task; | |||
| @@ -74,16 +74,6 @@ public class Script extends Task { | |||
| private String script = ""; | |||
| private Hashtable beans = new Hashtable(); | |||
| // Register BeanShell ourselves, since BSF does not | |||
| // natively support it (yet). | |||
| // This "hack" can be removed once BSF has been | |||
| // modified to support BeanShell or more dynamic | |||
| // registration. | |||
| static { | |||
| BSFManager.registerScriptingEngine( "beanshell", | |||
| "bsh.util.BeanShellBSFEngine", new String [] { "bsh" } ); | |||
| } | |||
| /** | |||
| * Add a list of named objects to the list to be exported to the script | |||
| */ | |||
| @@ -99,7 +89,7 @@ public class Script extends Task { | |||
| } | |||
| if (isValid) { | |||
| beans.put(key, dictionary.get(key)); | |||
| beans.put(key, dictionary.get(key)); | |||
| } | |||
| } | |||
| } | |||