Hi, Gert....

I'm presently using 0.85-rc3.  My next shot to work on it is Friday, and I
will download the latest Nant and NantContrib nightly builds. 

A related question:
I'd like to check and see if the property named in property.name exists.
All the "valid" properties have already been assigned default values.  If
property.name exists, I will override with the value in property.value, and
set to readonly="true".  Otherwise, rehect the override from the property
file as an invalid property.

I've tried this:
<if test="${property::exists('property.name')}">

With both a valid and invalid property in the property file.  They both get
added because property.name exists (nuts!).  I guess what I am trying to do
is double-derefernce (!)...I want to test for the property that is named in
property.name.  How might that be done?

In an unrelated logic path, I wanted to create a property if it didn't
already exist; so I tried:
<property name=myprop value="" if="${not property::exists('myprop')} />

==>suppose I could have tired the simple way:  <property name=myprop
value="" unless="${property::exists('myprop')} /> <==

Anyway, the test caused the error that the property hadn't been set.  Duh!?

Thanks for the response.

Rod



-----Original Message-----
From: Gert Driesen [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, November 16, 2005 12:35 PM
To: [EMAIL PROTECTED]; nant-users@lists.sourceforge.net
Subject: RE: [Nant-users] Problem with readonly attribute on property

Rod,

What version of NAnt are you using ?

This is working just fine here. 

Let me know if its working for you using a recent nightly build
(http://nant.sourceforge.net/nightly/latest).

Gert

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Rod Ayers
> Sent: woensdag 16 november 2005 7:59
> To: nant-users@lists.sourceforge.net
> Subject: [Nant-users] Problem with readonly attribute on property
> 
> I have a "top-level" build file in which I initialize several 
> properties.  It then calls a task in another build file <nant .../> 
> that reads a properties file, updating properties previously 
> initialized.  I want to make sure that properties updated from the 
> property file don't get overwritten anywhere in the script, so I tried 
> teh following:
>  
>  
>      <foreach in="${build.file.properties}"
>       item="Line"
>       delim="="
>       property="property.name,property.value"
>       >
>  
>     <!-- property.name must not be empty -->
>       <if test="${property.name > ''}">
>  
>      <!-- property.name must not be a comment -->
>            <if test="${not string::starts-with(property.name, '#')}">
>  
>       <!-- property.value must not be empty -->
>             <if test="${property::exists('property.value')}">
>  
>            <property name="property.name"      
> value="${string::trim(property.name)}"/>
>            <property name="property.value"      
> value="${string::trim(property.value)}"/>
>  
>            <echo message="Adding property = value:         
> ${property.name} = ${property.value}"/>
>            <property name="${property.name}"                  
>  value="${property.value}" readonly="true" />
>         </if>
>  
>        </if>
>  
>       </if>
>  
>    </foreach>
>  
> Everything weorks fine, except the readonly attribute is bein ignored.  
> I had one property in the property file, build.number.  But, right 
> after the foreach, I was able to set build.number to a different value 
> with another property statement, withouth an error or waraning.
>  
> If I set readonly on the original property statement, any attempt to 
> update the value results in the warning message:
> Read-only property "build.number" cannot be overwritten.
>  
> Why doesn't readonly="true" work when I change the value of an 
> existing property?
>  
> Thanks,
> Rod
> 





-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to