Rambler's Top100 Создание Script Task в Ant
  Rambler's Top100
С.Зубарев
Создание Script Task в Ant


  В Ant есть возможность выполнять задачи (Tasks) отличные от компиляции и сборки проекта. Например, когда нужно кроме сборки проекта записать в файл иерархию получившихся классов и т.д. Для этого существует Script Task, выполняющий код языков, которые поддерживают Apache BSF или JSR 223. Такими, например, являются javascript, groovy, beanshell, ruby и т.д.

Ниже приведен пример ant скрипта, записывающего в файл output.txt список всего содержимого указанной директории(в данном случае текущей) с помощью javascript:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="ScriptProject" basedir="." default="def">
  <property name="target.dir" value="."/>
  <property name="output.file" value="output.txt"/>
  <target name="def">
    <script language="javascript"> <![CDATA[
      importClass(java.io.File);
      var dirName = project.getProperty("target.dir");
      var outputFileName = ScriptProject.getProperty("output.file");
             fecho = project.createTask("echo");
             fecho.setFile(new File(outputFileName));
      var outputResult = '';
      var rootFile = new File(dirName);
	var files = rootFile.listFiles();
      for (var i=0; i< files.length; i++){
	outputResult += files[i].getName()+'\n';
	}
     fecho.setMessage(outputResult);
     fecho.perform();
    ]]></script>
  </target>
</project>
Программные продукты

Открытые коды