> While looking through the code, though, I noticed that the code in
> PropertyDictionary's indexer is:
>
> set {
> if (!_readOnlyProperties.Contains(name)) {
> Dictionary[name] = value;
> }
> }
>
> Now, this will silently be ignored if the property is
> readonly. Somehow, I
> don't think this is good behavior; it's confusing at best. Even more
> cumbersome is the fact that some of the code is relying on this wicked
> behavior. For example, unit tests for NAnt.Console actually
> _check_ for this
> silent change attempts to be ignored.
>
> Any comments?
This behavior is for this situation: In your build file you define a
property (ie, debug) to have a default value.
<property name="debug" value="true"/>
And you use that property in your build file. You then want to override
that property on the command line so you use:
nant -D:debug=false
The nant console will add all properties on the command line as
readonly. When the <property name="debug" value="true"/> task gets
executed the property will not be set to true but keep the value
specified on the command line.
I believe this is a valid use case but I share your concerns about the
subtle nature this might cause. I'm open to ideas to solve this.
-------------------------------------------------------
This sf.net email is sponsored by:
Access Your PC Securely with GoToMyPC. Try Free Now
https://www.gotomypc.com/s/OSND/DD
_______________________________________________
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers