Я хочу, чтобы разные цели делали примерно одно и то же:
ant build <- this would be a normal (default) build
ant safari <- building the safari target.
Цели выглядят так:
<target name="build" depends="javac" description="GWT compile to JavaScript">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
<classpath>
<pathelement location="src"/>
<path refid="project.class.path"/>
</classpath>
<jvmarg value="-Xmx256M"/>
<arg value="${lhs.target}"/>
</java>
</target>
<target name="safari" depends="javac" description="GWT compile to Safari/JavaScript">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
<classpath>
<pathelement location="src"/>
<path refid="project.class.path"/>
</classpath>
<jvmarg value="-Xmx256M"/>
<arg value="${lhs.safari.target}"/>
</java>
</target>
(Не берите в голову первую мысль, которая бросается в глаза: выбросить муравья! Пока что это не вариант.) Я попытался использовать macrodef, но получил странное сообщение об ошибке (хотя сообщение не подразумевало его, оно думало, что должно делать с постановкой цели в последовательном порядке). Я не хочу писать cmdline так: ant -Dwhatever=nevermind
. Есть идеи?