Jaroslaw ,
You're right on the money here. This is somthing I've been thinking about for a while. I think Gerry wrote a basic EE a while back but nothing came of it.
It would be awesome of you'd like to build the basic EE stuff. I'll pitch in as well but it sounds like you have a bit more experience with parsers/evaluators in c# than me.


Decent expression support would be much nicer than having an extra tag for each comparism type thats needed.

Ian

Jaroslaw Kowalski wrote:

Every time I see constructs like this I want to scream for the support of
simple expression evaluator, because without them NAnt syntax gets uglier
every time someone invents a potentially useful extension.

MSBuild has a very simple EE here, and I think it's a good idea to support
it too.

I think ours should have some basic operators =, !=, some environmental
functions for working
with files (exists(file), lastmod(file)), plus some string operators (like
"startsWith", "endsWith", "contains", substring", "concat", "uppercase",
"lowercase", "length" - XPath functions can be a guide here).

Data types supported would be strings, integers, and datetimes.

So the previous example would be a simple one-liner:

<if test="'${myOne}'='${myOther}'">
</if>

Assuming you have a tokenizer - which is pretty easy in this case - writing
a simple, recursive parser should be trivial.

I've written many parsers/evaluators in C# and would be glad to help here.

Jarek

----- Original Message ----- From: "Jean Rajotte" <[EMAIL PROTECTED]>
To: "'Sean Perkin'" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
Sent: Thursday, November 13, 2003 10:55 PM
Subject: RE: [Nant-users] How to compare two property values





the only way that comes to mind is to write a script (my standard cheat
:)

<target name="test-compare" >
   <property name="myOne" value="obo" />
   <property name="myOther" value="obo" />

   <property name="compare.a" value="myOne" />
   <property name="compare.b" value="myOther" />
   <call target="compare.equal" force="true" />

<echo message="${compare.result}" />


</target>


<target name="compare.equal" >
 <script language="C#"><code><![CDATA[
   public static void ScriptMain( Project project ) {
     string a = project.Properties[ project.Properties[ "compare.a"] ];
     string b = project.Properties[ project.Properties[ "compare.b"] ];
     project.Properties[ "compare.result" ] = (a==b) ? "true" :
"false";
   }
 ]]></code></script>
</target>


-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sean Perkin Sent: Thursday, November 13, 2003 15:28 To: [EMAIL PROTECTED] Subject: [Nant-users] How to compare two property values


Hi Folks,


Does anyone know how to compare two property values in NAnt?

Regards,


Sean Perkin Build Developer Cactus Commerce 819.778.0313 . 315 819.771.0921 http://www.cactuscommerce.com [EMAIL PROTECTED]



-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users






-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users




--
Ian MacLean, Developer, ActiveState, a division of Sophos
http://www.ActiveState.com





------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Nant-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to