I think inheritall was intended to pass on the properties to the sub-build
and its the basic inheritance concept that the sub-build or children cannot
change properties of the parent.

So I think inheritall is just fine.

What you might want to do is not use a subbuild at all, instead use
<include> task to include your sub-build file. that way the sub-build will
act as a part of the main build and then any property changes done in the
included build will be available and persisted in the parent build.

I hope this helps.

-daya

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Foley, Cash
Sent: Thursday, August 28, 2003 10:12 AM
To: [EMAIL PROTECTED]
Subject: RE: [Nant-users] nant Task with inheritall



I don't think I clearly stated my problem and question.

1) I need a sub-build to set properties that will be available to the
calling build.

2) Using inheritall on the nant task does not seem to work.

3) Does anyone have any suggestions on how to make this work?

I'm thinking my example is clear enough, but just in case...
The problem is that the last echo produces:

        [echo] 3) basename = 'basename_Mod'

When I want:

        [echo] 3) basename = 'basename_SubMod'

Thanks again,

Cash

-----Original Message-----
From: Foley, Cash [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 27, 2003 3:04 PM
To: [EMAIL PROTECTED]
Subject: [Nant-users] nant Task with inheritall

I cannot reproduce the following expected behavior:  In a Base NAnt build
file set a property value (in my example 'basename') then invoke an NAnt
task, using the 'inheritall' attribute set to 'true', modify the property
and have the modification in my Base NAnt process.

In my example it changes the value in the SubTest1.build but when I echo it
after coming back, it is back to what it had been.  This acts 'Read-Only',
which I thought the inheritall dealt with.  It acts the same with or without
inheritall.  If I put inheritall='false' I do get the expected error when
using the uninitialized property.

Thanks in advance,

Cash

[base1.build]
    <project name="Test1">
        <property name="basename" value="basename_Mod"/>
        <echo message="1) basename = '${basename}'"/>
        <nant buildfile="SubTest1.build" inheritall='true'/>
        <echo message="3) basename = '${basename}'"/>
    </project>

[SubTest1.build]
    <project name="SubTest1">
        <echo message="SubTest 1) basename = '${basename}'"/>
        <property name="basename" value="basename_SubMod"/>
        <echo message="SubTest 2) basename = '${basename}'"/>
    </project>

nant -buildfile:base1.build


    D:\temp\build>nant -buildfile:base1.build
    Buildfile: file:///D:/temp/build/base1.build
        [echo] 1) basename = 'basename_Mod'
        [nant] SubTest1.build
                Buildfile: file:///D:/temp/build/SubTest1.build
                    [echo] SubTest 1) basename = 'basename_Mod'
                    [echo] SubTest 2) basename = 'basename_SubMod'

                BUILD SUCCEEDED

                Total time: 0 seconds
        [echo] 3) basename = 'basename_Mod'

    BUILD SUCCEEDED

    Total time: 0 seconds


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to