Bug 1180568 - [patch] Javascript use within ant script fails
Summary: [patch] Javascript use within ant script fails
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: ant
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Mikolaj Izdebski
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-09 13:23 UTC by Mat Booth
Modified: 2015-01-13 09:54 UTC (History)
7 users (show)

Fixed In Version: 1.9.4-5
Clone Of:
Environment:
Last Closed: 2015-01-13 09:54:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Patch to fix classpath for bsf plug-in (1.81 KB, patch)
2015-01-13 09:38 UTC, Mat Booth
no flags Details | Diff

Description Mat Booth 2015-01-09 13:23:14 UTC
Consider the following build.xml script:

<?xml version="1.0" encoding="UTF-8"?>
<project name="testing" basedir=".">
  <target name="all">
    <script language="javascript">
      <![CDATA[
        project.setProperty("beans", "cheese");
      ]]>
    </script>
    <echo>Current beans=${beans}.</echo>
  </target>
</project>

Executing "ant all" results in the following error:

all:
   [script] Jan 09, 2015 1:10:25 PM org.apache.bsf.BSFManager loadScriptingEngine
   [script] SEVERE: Exception :
   [script] java.lang.NoClassDefFoundError: org/mozilla/javascript/EvaluatorException
   [script]     at java.lang.Class.getDeclaredConstructors0(Native Method)
   [script]     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2663)
   [script]     at java.lang.Class.getConstructor0(Class.java:3067)
   [script]     at java.lang.Class.newInstance(Class.java:408)
   [script]     at org.apache.bsf.BSFManager.loadScriptingEngine(BSFManager.java:697)
   [script]     at org.apache.bsf.BSFManager.exec(BSFManager.java:485)
   [script]     at org.apache.tools.ant.util.optional.ScriptRunner.executeScript(ScriptRunner.java:100)
   [script]     at org.apache.tools.ant.taskdefs.optional.Script.execute(Script.java:52)
   [script]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
   [script]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [script]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   [script]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [script]     at java.lang.reflect.Method.invoke(Method.java:483)
   [script]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   [script]     at org.apache.tools.ant.Task.perform(Task.java:348)
   [script]     at org.apache.tools.ant.Target.execute(Target.java:435)
   [script]     at org.apache.tools.ant.Target.performTasks(Target.java:456)
   [script]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
   [script]     at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
   [script]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   [script]     at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
   [script]     at org.apache.tools.ant.Main.runBuild(Main.java:851)
   [script]     at org.apache.tools.ant.Main.startAnt(Main.java:235)
   [script]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
   [script]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
   [script] Caused by: java.lang.ClassNotFoundException: org.mozilla.javascript.EvaluatorException
   [script]     at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
   [script]     at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
   [script]     at java.security.AccessController.doPrivileged(Native Method)
   [script]     at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
   [script]     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
   [script]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
   [script]     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
   [script]     ... 25 more
   [script] 

BUILD FAILED

Adding "rhino" to the /etc/ant.d/apache-bsf config fixes this.

Comment 1 Mat Booth 2015-01-13 09:38:27 UTC
Created attachment 979527 [details]
Patch to fix classpath for bsf plug-in

Comment 2 Mikolaj Izdebski 2015-01-13 09:41:17 UTC
Fixed in ant-1.9.4-5

Comment 3 Mikolaj Izdebski 2015-01-13 09:54:16 UTC
I believe that this bug is fixed in ant-1.9.4-5,
which is available in Fedora Rawhide, so I am closing this bug now.

The build containing the fix can be found at Koji:
http://koji.fedoraproject.org/koji/buildinfo?buildID=603652

This bug was fixed in the next release of Fedora, and is not planned
to be fixed in the release it was filed against.  If you want this bug
to be fixed in updates for Fedora 21, please say so in a comment.
Otherwise you can update to the newer release of Fedora to get the fix.


Note You need to log in before you can comment on or make changes to this bug.