ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject RE: Chicken and Egg question
Date Thu, 07 Jun 2001 20:13:57 GMT
Can I ask a slightly off-subject question about this type of thing?  
Why doesn't Ant resolve the variables in an attribute of a task at 
runtime? Why do it at setup-time, where it may be in a different 
state?  It would be more intuitive, at least to me, to have the 
variable values able to change depending upon the targets that are run, 
and then resolve them to their actual, present-state values before 
running a task. This is not hard to do; I have in fact made this change 
to the copy that I use here at Sprint.
Is there some sort of philosophical (or other) reason not to do this?

-----Original Message-----
From: patrick.ohara []
Sent: Thursday, June 07, 2001 2:55 PM
To: ant-user
Subject: RE: Chicken and Egg question

How would I combine a path and a property to make a new property? 

Pat O 

-----Original Message----- 
From: Diane Holt [] 
Sent: Thursday, June 07, 2001 2:39 PM 
Subject: Re: Chicken and Egg question 

I don't see where you're defining build.classes, but if it's the output 
dir where your classes get built into, then you shouldn't need to 
it in your <path>, since the directory specified in the "destdir" attr 
automatically included in the classpath for the compiles. 

But to answer the question more generally: You can define your <path> 
without the dir-based-on-date, then have a target that runs <tstamp>, 
a property based on a refid to your defined <path>, then sets a 
that combines that property with the path to your dir-based-on-date. 
when you need to specify that classpath, reference that property, 
than the path id. 


--- "O'Hara, Patrick" <> wrote: 
> I have the following which does not work: 
>   <tstamp/> 
>   <property name="build.dir" value="Build$build.num-$DSTAMP" 
> if="build.num"/> 
>   <property name="build.basedir" 
> value="$weblogic.basedir/$starteam.viewname/$build.dir" 
> if="build.num"/> 
>   <path id="project.classpath"> 
>     <pathelement location="$build.classes"/> 
>     <pathelement 
> location="$weblogic.basedir/weblogic451sp13boot.jar"/> 
>     <pathelement location="$weblogic.basedir/classes/boot"/> 
>     <pathelement location="$weblogic.basedir/weblogic451sp13.jar"/> 
>     <pathelement location="$weblogic.basedir/lib/weblogicaux.jar"/> 
>     <pathelement location="$weblogic.basedir/classes"/> 
>     <pathelement 
> location="$weblogic.basedir/mssqlserver4v70/classes"/> 
>     <pathelement location="$project_env.JAVA_HOME"/> 
>     <pathelement location="$project_env.JAVA_HOME/lib"/> 
>     <fileset dir="$jar.dir"> 
>       <include name="**/*.jar"/> 
>       <include name="**/*.zip"/> 
>     </fileset> 
>     <fileset dir="$project_env.ANT_HOME/lib"> 
>       <include name="**/*.jar"/> 
>       <include name="**/*.zip"/> 
>     </fileset> 
>   </path> 
> The issue is that tstamp must be in a task.  This would actually be 
> better 
> for me except that I must get build.classes into my classpath.  I 
> found 
> that one cannot put a path task into a task.  So the question is how 
> I go 
> about defining a class path that I can use on several calls to javac, 
> given 
> that I need to be in a task to define one of the elements of that 
> path? 
> Thanks for your help. 
> Patrick O'Hara 
> Workscape, Inc 
> N17 W24222 Riverwood Pl 
> Waukesha, WI 53188-1162 
> 262-408-3849 
> 262-408-3840 Fax 
>  <<O'Hara, Patrick.vcf>> 

> ATTACHMENT part 2 application/octet-stream name=O'Hara, Patrick.vcf 


Do You Yahoo!? 
Get personalized email addresses from Yahoo! Mail - only $35 
a year! 

  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message