The whole script is a little over 1,000 lines, so posting the whole thing wouldn't be too nice :) But, here is a trimmed-down version that should give you the info you want... It should be noted that my Ant scripts are note what one would call "typical"... I do things a little differently, but I prefer it done this way... anyway...
<project name="MyProject" default="build" basedir="." > <property file="build.properties" /> <property file="build_control.properties" /> <path id="classpath"> <pathelement location="../WEB-INF/lib/commons-beanutils.jar" /> <pathelement location="../WEB-INF/lib/struts.jar" /> <pathelement location="../source/temp" /> </path> <target name="build"> <get_dependencies /> <taskdef resource="net/sf/antcontrib/antcontrib.properties"> <classpath refid="compiletime_classpath" /> </taskdef> <set_props /> <antcall target="compile_app" inheritRefs="true" /> <antcall target="junit_tests" inheritRefs="true" /> <antcall target="static_analysis_checkstyle" inheritRefs="true" /> </target> <macrodef name="get_dependencies"> <sequential> <echo message=" " /> <echo message="Retrieving dependencies..." /> <setproxy proxyhost="${proxy_host}" proxyport="${proxy_port}" /> <typedef classpath="libutils/ant-dependencies.jar" resource="dependencies.properties" /> <dependencies pathId="compiletime_classpath" verbose="true"> <dependency group="servletapi" version="2.3" /> <dependency group="checkstyle" version="4.0-beta5" /> <dependency group="checkstyle" artifact="checkstyle-optional" version="4.0-beta5" /> <dependency group="antlr" version="2.7.5" /> <dependency group="regexp" version="1.3" /> <dependency group="junit" version="3.8.1" /> <dependency group="ant-contrib" version="20020829" /> </dependencies> <echo message="Done" /> </sequential> </macrodef> <macrodef name="set_props"> <sequential> <echo message="Setting build control properties..." /> <taskdef name="antform" classname="com.sardak.antform.AntForm" classpath="libutils/antform.jar" /> <antform title="" save="build_control.properties" image="../img/appTitle.gif" resetMessage="" okMessage="Build"> <label>Check off the tasks you wish to execute for this build, or close the window to abort the build. Note that ONE AND ONLY ONE of the options in the first section should MUST be selected. Also note that the application in exploded format is always set up for Tomcat only, and the EAR is always set up for Websphere only, and both are set up in whatever mode is indicated by the first four items. Security IS NOT enabled in Tomcat.</label> <separator /> <booleanProperty label="Target build for DEVELOPMENT environment (mode_dev)" property="appmode_dev" /> <booleanProperty label="Target build for STEST environment (appmode_stest)" property="appmode_stest" /> <booleanProperty label="Target build for ATEST environment (appmode_atest)" property="appmode_atest" /> <booleanProperty label="Target build for PRODUCTION environment (appmode_prod)" property="appmode_prod" /> <separator /> <booleanProperty label="Run CheckStyle on all code (do_static_analysis_checkstyle)" property="do_static_analysis_checkstyle" /> <booleanProperty label="Perform unit tests (do_unit_tests)" property="do_unit_tests" /> </antform> <echo message="Done" /> </sequential> </macrodef> <!-- Compile the app. --> <target name="compile_app"> <echo message="Compiling app..." /> <delete dir="../WEB-INF/classes/com" /> <mkdir dir="../WEB-INF/classes/com" /> <javac srcdir="${basedir}" debug="true" debuglevel="lines,vars,source" destdir="../WEB-INF/classes" deprecation="on" excludes="junittests/*.*" classpath="../WEB-INF/lib/log4j.jar"> <classpath refid="classpath" /> <classpath refid="compiletime_classpath" /> </javac> <echo message="Done" /> </target> <!-- Perform any JUnit tests required. --> <target name="junit_tests"> <if> <equals arg1="${do_unit_tests}" arg2="true" /> <then> <echo message="Performing JUnit Tests..." /> <javac srcdir="junittests" destdir="temp" deprecation="on"> <classpath refid="classpath" /> <classpath refid="compiletime_classpath" /> </javac> <junit printsummary="on" haltonerror="yes" haltonfailure="yes"> <classpath refid="classpath" /> <classpath refid="compiletime_classpath" /> <formatter type="brief" usefile="false" /> <test name="junittests.DisbursementDelegateTestCase" /> </junit> <echo message="Done" /> </then> <else> <echo message="Skipping junit_tests" /> </else> </if> </target> <!-- Performs static code analysis using CheckStyle. --> <target name="static_analysis_checkstyle"> <if> <equals arg1="${do_static_analysis_checkstyle}" arg2="true" /> <then> <echo message="Performing static code analysis using CheckStyle..." /> <delete file="static_analysis_checkstyle.xml" /> <taskdef resource="checkstyletask.properties"> <classpath refid="classpath" /> <classpath refid="compiletime_classpath" /> </taskdef> <checkstyle config="libutils/checkstyle_checks.xml" failOnViolation="false"> <classpath refid="classpath" /> <classpath refid="compiletime_classpath" /> <fileset dir="com" includes="**/*.java" /> <formatter type="xml" toFile="static_analysis_checkstyle.xml" /> </checkstyle> <echo message="Done" /> </then> <else> <echo message="Skipping static_analysis_checkstyle" /> </else> </if> </target> </project> And, for completeness, build_control.properties is nothing but: appmode_dev=true do_unit_tests=true do_static_analysis_checkstyle=true -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com AIM: fzammetti Yahoo: fzammetti MSN: [EMAIL PROTECTED] On Tue, February 14, 2006 12:33 pm, Ivan \"Rambius\" Ivanov said: > Hello Frank, > > --- "Frank W. Zammetti" <[EMAIL PROTECTED]> wrote: > >> I don't know if it's the right way to do it, or if >> there is some reason >> not to do it this way, but I found a solution... I >> took the contents of >> the target that executed Antform and put it in a >> macrodef... doing that, >> the properties DO get changed as expected. > Can you post your code? I got interesed because > properties are immutable, no matter where you send > them - in a ordinary target or in a macrodef. > > Regards > Ivan > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]