> Bob Archer wrote: > >> I am very familiar with JScript, but not with JScript.NET or C#. I > >> want > >> to write a function in JScript.NET that I can use in my NAnt script. > >> > >> I currently have: > >> > >> <project name="TestFunction"> > >> > >> <target name="go"><echo>${script::testfunc()}</echo></target> > >> > >> <script language="JS"> > >> <code> > >> <![CDATA[ > >> public function testfunc():String { return ("Hello World > from > >> JS"); } > >> ]]> > >> </code> > >> </script> > >> </project> > >> > >> But when I run this I get: > >> > >> C:\hp\Scripts>nant -f:a.build go > >> NAnt 0.86 (Build 0.86.2898.0; beta1; 12/8/2007) > >> Copyright (C) 2001-2007 Gerry Shaw > >> http://nant.sourceforge.net > >> > >> Buildfile: file:///C:/hp/Scripts/a.build > >> Target framework: Microsoft .NET Framework 3.5 > >> Target(s) specified: go > >> > >> [script] Scanning assembly "l-qhzdpm" for extensions. > >> > >> go: > >> > >> > >> BUILD FAILED > >> > >> C:\hp\Scripts\a.build(4,4): > >> Unknown function 'script::testfunc'. > >> Expression: ${script::testfunc()} > >> > > > > I'm not sure but you may have to annotate the function name: > > > > [Function("testfunc")] > > > > at the top of your script. > > > > BOb > > > > > > > Yes, that's what I thought. When I add that line, I get: > > C:\hp\Scripts>nant -f:a.build go > NAnt 0.86 (Build 0.86.2898.0; beta1; 12/8/2007) > Copyright (C) 2001-2007 Gerry Shaw > http://nant.sourceforge.net > > Buildfile: file:///C:/hp/Scripts/a.build > Target framework: Microsoft .NET Framework 3.5 > Target(s) specified: go > > > BUILD FAILED > > C:\hp\Scripts\a.build(7,3): > Compilation failed: > C:\Documents and Settings\mike\Local Settings\Temp\oaw_xbfp.0.js(28,3) > : > error JS1002: Syntax error > //--------------------------------------------------------------------- > --------- > /// <autogenerated> > /// This code was generated by a tool. > /// Runtime Version: 2.0.50727.1433 > /// > /// Changes to this file may cause incorrect behavior and will be > lost if > /// the code is regenerated. > /// </autogenerated> > //--------------------------------------------------------------------- > --------- > > //@cc_on > //@set @debug(off) > > import System; > import System.Collections; > import System.Collections.Specialized; > import System.IO; > import System.Text; > import System.Text.RegularExpressions; > import NAnt.Core; > import NAnt.Core.Attributes; > > > public FunctionSet("script", "script") > class nant7f8689ee26f04ddb9472f9b5a112bd8c extends > NAnt.Core.FunctionSetBase { > > > [Function("testfunc")] > public function testfunc():String > { > return ("Hello World from JS"); > } > > > public function nant7f8689ee26f04ddb9472f9b5a112bd8c(project : > NAnt.Core.Project, propDict : NAnt.Core.PropertyDictionary) { > super(project, propDict); > } > } >
Hmm... I use C#. How complex if the function you want to write? Is there a reason you can use C#? BOb ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ NAnt-users mailing list NAnt-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-users