Вместо того, чтобы бороться с заданием ANT echo, я бы предложил использовать groovy для генерации пакетного сценария.
Следующий пример немного сложнее, потому что я использую ivy для загрузки зависимостей сборки.
Структура проекта
$ tree
.
|-- build.xml
|-- ivy.xml
`-- stuff
|-- script1
|-- script2
`-- script3
1 directory, 5 files
build.xml
<project name="demo" default="generate-script" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="init">
<ivy:resolve/>
<ivy:cachepath pathid="build.path" conf="build"/>
<mkdir dir="build"/>
</target>
<target name="generate-script" depends="init">
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>
<fileset id="files" dir="stuff"/>
<groovy>
def batchScript = new File("build/install.bat")
batchScript.withWriter() { writer ->
writer.println "if exist preinstall.bat call preinstall.bat"
project.references.files.each {
def stuffFile = new File(it.toString())
writer.println stuffFile.name
}
}
</groovy>
</target>
<target name="clean">
<delete dir="build"/>
</target>
</project>
ivy.xml
<ivy-module version="2.0">
<info organisation="org.myspotontheweb" module="demo"/>
<configurations>
<conf name="build" description="ANT tasks"/>
</configurations>
<dependencies>
<!-- Build dependencies -->
<dependency org="org.codehaus.groovy" name="groovy-all" rev="1.8.2" conf="build->default"/>
</dependencies>
</ivy-module>
Обновление
Это не былоЭто не оправдание использования плюща, но все, что доступно в Maven Central, может быть установлено.
Например ant-contrib :
<dependency org="ant-contrib" name="ant-contrib" rev="1.0b3"/>