You have the <property> task inside a target, and that target is only
executed within an <antcall> task, so the property is only set for the
duration of that <antcall> execution, which is why the "test3" target sees
the property as not set.
Not sure about why the build sequence has the "test3" target before the
"test2" one -- but then, I've never really understood the whole "Complete
build sequence" thing or why it's included (ie., what it's usefullness
is).
Diane
--- "M.A.Dunphy" <[EMAIL PROTECTED]> wrote:
> Hi guys,
>
> Sorry to be bringing this subject up again, but I'm not getting the
> expected
> behaviour. Firstly, I have read thr' previous discussions in the archive
> and
> I think I understand how property set works, but I'm not getting what I
> want!!. As an example, heres the test build file
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Michael
> Dunphy
> -->
> <!DOCTYPE project SYSTEM "ant-project.dtd">
> <project name="test" default="">
> <target name="test1">
> <antcall target="test2"/>
> <antcall target="test3"/>
> </target>
> <target name="test2">
> <property name="srd.fetch.complete" value="true"/>
> <echo message="the value is ${srd.fetch.complete}"/>
> </target>
> <target name="test3" if="srd.fetch.complete">
> <echo message="the value is ${srd.fetch.complete}"/>
> </target>
> </project>
>
> When I run it using: ant -verbose -buildfile test.xml test1
>
> I get:
>
> C:\TEMP>ant -verbose -buildfile test.xml test1
> Ant version 1.3 compiled on March 2 2001
>
> Buildfile: test.xml
> Detected Java Version: 1.3
> Detected OS: Windows 2000
> parsing buildfile C:\TEMP\test.xml with URI = file:C:/TEMP/test.xml
> resolving systemId: file:C:/TEMP/ant-project.dtd
> Project base dir set to: C:\TEMP
> Build sequence for target `test1' is [test1]
> Complete build sequence is [test1, test3, test2]
>
> test1:
> Project base dir set to: C:\TEMP
> parsing buildfile C:\TEMP\test.xml with URI = file:C:/TEMP/test.xml
> resolving systemId: file:C:/TEMP/ant-project.dtd
> Project base dir set to: C:\TEMP
> Build sequence for target `test2' is [test2]
> Complete build sequence is [test2, test3, test1]
>
> test2:
> [echo] the value is true
> Project base dir set to: C:\TEMP
> parsing buildfile C:\TEMP\test.xml with URI = file:C:/TEMP/test.xml
> resolving systemId: file:C:/TEMP/ant-project.dtd
> Project base dir set to: C:\TEMP
> Build sequence for target `test3' is [test3]
> Complete build sequence is [test3, test2, test1]
>
> test3:
> Skipped because property 'srd.fetch.complete' not set.
>
> BUILD SUCCESSFUL
>
> Total time: 1 second
> C:\TEMP>
>
>
> My first observation is why does it say "Complete build sequence is
> [test1,
> test3, test2]"?
>
> any insight would be much appreciated..
>
> Thanks
>
> Mick
>
> PS: in the generated DTD file, a property is defined as
>
> <!ATTLIST property
> id ID #IMPLIED
> refid IDREF #IMPLIED
> name CDATA #IMPLIED
> classpath CDATA #IMPLIED
> file CDATA #IMPLIED
> userproperty %boolean; #IMPLIED
> resource CDATA #IMPLIED
> environment CDATA #IMPLIED
> classpathref IDREF #IMPLIED
> taskname CDATA #IMPLIED
> value CDATA #IMPLIED
> location CDATA #IMPLIED
> description CDATA #IMPLIED
> >
>
> but the docs do not specify these attributes, so are the docs
> incorrect/incomplete?
>
=====
([EMAIL PROTECTED])
__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - Buy the things you want at great prices.
http://auctions.yahoo.com/