Thanks Gert..

>From old list archives it appears that possibly properties when
referenced in expressions always come out as strings?  They seem to work
fine in arguments to functions, but I can't use them with operators
unless I use the datatype conversions.  This is as expected?  This is a
bit sparse in the doc pages regarding operators and expressions.

Some feedback may be to help with the warning message echo'd by nant
because the terminology in the warning isn't used anywhere else in the
docs, and the depreciation notes in convert:: functions do not reference
the new functions either.

For prosperity of the mail archives.. here is how my function looks now,
using properties for readability.

This is to load a txt file into a property, read the last line which is
a result code of varying length, but is always the last line.

        <!-- Check Install Log -->
                <loadfile file="${deployLocalPath}\setup.log"
property="deploySetupLogContents" />
                <property name="startPosition"
value="${string::index-of(deploySetupLogContents,'ResultCode=') + 11}"/>
                <property name="totallength"
value="${string::get-length(deploySetupLogContents)}"/>
                <property name="stringLength"
value="${string::get-length(deploySetupLogContents) -
int::parse(startPosition)}"/>
                <property name="deploySetupResultCode"
value="${string::substring(deploySetupLogContents,
int::parse(startPosition), int::parse(stringLength))}"/>
                <echo>Result Code is ${deploySetupResultCode}</echo>
                <if test="${int::parse(deploySetupResultCode) &lt; 0}">
                        <fail message="Setup failed with Result Code
${deploySetupResultCode}" />
                </if>



-----Original Message-----
From: Gert Driesen [mailto:[EMAIL PROTECTED] 
Sent: Sunday, September 14, 2008 4:15 AM
To: Steve Kapinos; 'Ron Grabowski'; 'nant'
Subject: RE: [NAnt-users] can you nest functions? problems with data
types

Hey Steve,

Use int::parse instead.

Gert
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Steve
Kapinos
Sent: zondag 14 september 2008 6:19
To: Ron Grabowski; nant
Subject: Re: [NAnt-users] can you nest functions? problems with data
types

It's not really - its simply taking a few numbers and trying to add and
subtract them.

I found that

<echo>${position - 3}</echo>

Which fails due to a data type mismatch.. will work if rewritten as

<echo>${convert::to-int(position) - 3}</echo>

But convert::to-int is marked as depreciated.. and says

Function convert::to-int is deprecated.  Use type-specific conversion
functions
instead.

But I can't find any reference to what that means.

I'm just trying to use variables to hold values to clean up readability
of the code, and I can't seem to use properties with operators without
this convert function.  


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ron
Grabowski
Sent: Saturday, September 13, 2008 11:58 PM
To: nant
Subject: Re: [NAnt-users] can you nest functions? problems with data
types

It looks like you're doing some serious manipulation...can you just make
your own custom task to do these operations?



----- Original Message ----
From: Steve Kapinos <[EMAIL PROTECTED]>
To: nant-users@lists.sourceforge.net
Sent: Saturday, September 13, 2008 11:23:07 PM
Subject: Re: [NAnt-users] can you nest functions?  problems with data
types

I can simplify this even more..

I have this

    <property name="position"
value="${string::index-of(deploySetupLogContents,'ResultCode=') + 11}"/>
    <echo>${position}</echo>

This outputs 135 for the echo

But when I try

<echo>${position - 3}</echo>

It considers position a string, not an int.  Without the outside ${ }
its not an expression.  How do I reference the property 'position' here
to subtract 3 from it?



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Steve
Kapinos
Sent: Saturday, September 13, 2008 11:13 PM
To: nant-users@lists.sourceforge.net
Subject: [NAnt-users] can you nest functions? problems with data types

Ok, I'm trying to do some simple expressions to manipulate some values,
but I'm not having luck nesting expressions.  Specifically, I can not
figure out how to use a function as a argument to another function.
This means I have to use incremental steps and assign the value to a
property, then reference that property in a later step rather then doing
it in a single step.  Is it possible to use a function as an arugument
to another function?

Something like..

Value=${stringsubstring(property1, property2, string::length(property3)
- property4}

Any combination I try to nest an expression inside another fails.

I'm also having a problem with specifying properties properly inside an
expression

Here's what I'm trying to do..

I have a string in a property.  I need to get the index location of a
substring, add to that number, get the overall length of the string, do
a subtraction of those two numbers, and then use these two numbers to
get a substring.  The pseudo code would be something like this

Position = string::Pindex-of(string, value) + 11
targetlength = string::length(string) - $position
result = string::substring(string, position, targetlength)

My code currently is

    <target name="test">
    <loadfile file="setup.log" property="deploySetupLogContents" />
    <property name="position"
value="${string::index-of(deploySetupLogContents,'ResultCode=') + 11}"/>
    <property name="length"
value="${string::get-length(deploySetupLogContents) - position}"/>
    <property name="deploySetupResultCode"
value="${string::substring(deploySetupLogContents, position, length)}"/>

    <echo>Result Code is ${deploySetupResultCode}</echo>
    </target>

But the above does not work.  It complains that in line 4, it can't do
the subtraction between an 'int' and 'string'.  Position is not a
string.. it's a property which is holding an init from line 3.  I can't
specify it as ${position}.. so how can I reference the value I need
here?  I need the entire thing inside an ${  } so its evaluated as an
expression and not just saved as a string.

-Steve

------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to