Hi Fletcher, I recommend to use Ant-Contrib. See Variable Task, and If-Then task
Regards, trad-ex >I would like to be able to take a macro parameter such as "devel" and >use this information to compute the actual path where the data is stored >(ex \\pca001\mypath). Unfortunately I cannot use properties for these >values because they are immutable once set and I may use each macro more >than once. > > >How would I take a macro parameter and compute a path in a way that the >macro can be run more than once? > > >I am using Ant and some Ant macros to encapsulate deploying code in my >organization. In the build.xml for each system I use a single ant task >such as this to deploy the application onto the server. > > <deployCorporateWebApp > assemblypath="PetroCanada.Finance.Tales.Website" > target-tier="pcaw2" > target-level="devel" > target-name="talefin" > webconfig="Deploy\Config\website-devel.config" >/> > >This is a simplified example of the macro definition. > > <macrodef name="deployCorporateWebApp"> > <attribute name="target-tier" default="pcaw2" /> > <!-- etc --> > > <sequential> > > <!-- Setup the target.basepath property --> > <condition property="target.basepath" >value="\\pcaw2d1\wwwroot$"> > <equals arg1="@{target-tier}" >arg2="pcaw2" /> > </condition> > > <condition property="target.basepath" >value="\\pcaw2s1\wwwroot$"> > <equals arg1="@{target-tier}" >arg2="pcaw2" /> > </condition> > > <fail unless="target.basepath" > message="Unknown target-level." /> > > <!-- Compute the rest of the properties. --> > <property name="target.path" > value = >"[EMAIL PROTECTED]" /> > > <!-- Simplified example of the actualy code --> > <delete dir="${target.path}" /> > <copy todir="{target.basepath}"/> > </sequential> > </macrodef> > >This does not work because properties are immutable once set. > > >Michael Fletcher >Corporate and Executive Systems >(403) 296-4215 > >-------------------------------------------------------- > >This email communication is intended as a private communication for the >sole use of the primary addressee and those individuals listed for copies >in the original message. The information contained in this email is private > and confidential and If you are not an intended recipient you are hereby >notified that copying, forwarding or other dissemination or distribution of > this communication by any means is prohibited. If you are not >specifically authorized to receive this email and if you believe that you >received it in error please notify the original sender immediately. We >honour similar requests relating to the privacy of email communications. > >Cette communication par courrier electronique est une communication privee >a l'usage exclusif du destinataire principal ainsi que des personnes dont >les noms figurent en copie. Les renseignements contenus dans ce courriel >sont confidentiels et si vous n'etes pas le destinataire prevu, vous etes >avise, par les presentes que toute reproduction, transfert ou autre forme >de diffusion de cette communication par quelque moyen que ce soit est >interdite. Si vous n'etes pas specifiquement autorise a recevoir ce >courriel ou si vous croyez l'avoir recu par erreur, veuillez en aviser >l'expediteur original immediatement. Nous respectons les demandes >similaires qui touchent la confidentialite des communications par courrier >electronique. > >--------------------------------------------------------------------- >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]