Google

Script

Description

Execute a script in a BSF supported language.

Note: This task depends on external libraries not included in the Ant distribution. See Library Dependencies for more information.

All items (tasks, targets, etc) of the running project are accessible from the script, using either their name or id attributes (as long as their names are considered 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.

BeanShell users: This task now natively supports the BeanShell scripting language, using language="beanshell". The BeanShell engine is still required.

Scripts can do almost anything a task written in Java could do.

Parameters

Attribute Description Required
language The programming language the script is written in. Must be a supported BSF language Yes
src The location of the script as a file, if not inline No

Examples


<project name="squares" default="main" basedir=".">



  <target name="setup">



    <script language="javascript"> <![CDATA[



      for (i=1; i<=10; i++) {

        echo = squares.createTask("echo");

        main.addTask(echo);

        echo.setMessage(i*i);

      }



    ]]> </script>



  </target>



  <target name="main" depends="setup"/>



</project>

generates


setup:



main:

1

4

9

16

25

36

49

64

81

100



BUILD SUCCESSFUL

Another example, using references by id and two different scripting languages:


<project name="testscript" default="main">

  <target name="sub">

    <echo id="theEcho"/>

  </target>



  <target name="sub1">

    <script language="netrexx"><![CDATA[

      theEcho.setMessage("In sub1")

      sub.execute

    ]]></script>

  </target>



  <target name="sub2">

    <script language="javascript"><![CDATA[

      theEcho.setMessage("In sub2");

      sub.execute();

    ]]></script>

  </target>



  <target name="main" depends="sub1,sub2"/>

</project>

generates


sub1:

In sub1



sub2:

In sub2



main:



BUILD SUCCESSFUL


Copyright © 2000-2002 Apache Software Foundation. All rights Reserved.