userproperty :
ant -f build.xml -Dprojectname=foobar
:
<project>
<echo>$${projectname} => ${projectname}</echo>
</project>
:
[echo] ${projectname} => foobar
- EDIT -
- , ..:
ant -f build.xml -Dprojectnames=project1,project2,project3
(checkout, compile...) :
<project>
<macrodef name="foobar">
<attribute name="projectname"/>
<sequential>
<echo>Projectname : @{projectname}</echo>
</sequential>
</macrodef>
<script language="javascript">
<![CDATA[
var projects = project.getProperty('projectnames').split(',');
for (i=0; i < projects.length; i++) {
macro = project.createTask('foobar');
macro.setDynamicAttribute('projectname', projects[i]);
macro.perform();
}
]]>
</script>
</project>
:
[echo] Projectname : project1
[echo] Projectname : project2
[echo] Projectname : project3
ant macrodef.
Javascript Java >= 1.6.0_06, .
, .. xmlproperty , , xmltask (= xmldriven build), xpath.
buildscript.