Re: [nant-dev] XmlPeekTask extention
Hi Martin, Sorry for the slow response to this Martin Aliger wrote: This introduce new boolean flag, which disable error message when XmlPeek task coudn'd find any maching node. This is very useful in some scenarios. I think, it could be useful to community, se here it is. Thanks for the patch but I'm curious - how is it different to just using the failonerror attribute ? The only difference I can see is that if the new attribute is used there will be no error and nothing logged whereas with failonerror=true it also won't fail but the error string will get logged if log level is set to verbose. Am I missing something here ? Ian --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnkkid=103432bid=230486dat=121642 ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] need VS 2005 solution task support
Martin Aliger wrote: I don't think we need to make solution task compatibility a goal here. I was thinking same, but first I wanted to use msbuild, I found myself in situation where solution is used today. Even that msbuild is quite general system, we, nant users, will call it mainly to compile vs2005 solutions. So I rethink it, and it makes some sense to me. Creating a solution on the fly is not something we should support, as you need to make a bunch of assumptions anyway (dependencies, platform, ...). In fact, this was first issue I come around, when writing msbuild wrapper task. Thats why I rethinked implementation. If you find more appropriate, we could make msbuild task as direct wrapper and make another task,say vs2005 or msbuild-solution, which could do those additional wrapping. This sounds like a good compromise. msbuild gives you full control of the msbuild commandline while msbuild-solution provides a nice upgrade path for vs2003 solution task users. Good think about this on-the-fly solution creation is, that msbuild imply dependences and project compile order from it. Exacly what our solution do when we fed it with project fileset. Sure - there are assumption, but I beleive they could be made configurable where appropriate. so it sounds like there is definately a place for solution like functionality in an msbuild wrapping task. About namespace/packaging: would it be ok to add it to NAntContrib first, and move it to NAnt once it has stabilized ? This is our policy for all new tasks. np. I do not use NAntContrib currently, but no problems with relocating to another project. It is quite stand-alone task (depending on just ExternalProgramBase). Putting it NAntContrib first is the correct policy decision but I suspect we'll have some demand to move it into main fairly soon - vs2005 support for solution has been one of the most requested features. Thanks for starting this Martin - I'm sure there will be many happy solution task users. Ian --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] need VS 2005 solution task support
Gert Driesen wrote: -Original Message- From: Martin Aliger [mailto:[EMAIL PROTECTED] Sent: Monday, December 5, 2005 02:19 PM To: ''Gert Driesen'', ''Ian MacLean'' Cc: [EMAIL PROTECTED], ''! nant'' Subject: RE: [nant-dev] need VS 2005 solution task support Do you know, whether mono team have any plans about msbuild? Do they still use nant internally? Nope, NAnt is not used internally in the Mono project. Note: we fully support Mono though. not strictly speaking 100% true. Cecil - which is part of mono uses nant although there is a make file as well. But in general everything mono is makefile, autotools based. I dont follow mono lately and dont find anything about it on web site. I know someone was working on it a while ago, but I'm pretty sure there's no longer any activity there. There was a project as part of the google summer of code program. I think it got to the point of being able to build itself but I don't think its been worked in since then. Ian --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] need VS 2005 solution task support
Gert Driesen wrote: Ian, Martin, Do you think we should support VS.NET 2005 solutions/projects in the solution task ? As far as I can tell, we have two options for supporting this: 1. Do the full parsing, and processing of the solutions/projects ourselves, like we do for VS.NET 2002/2003, and use our built-in tasks (and extend these where required) to do the heavy work. As Martin already mentioned this is quite a lot fo work - effectively re-implementing msbuild in a revamped solution task. 2. Invoke MSBuild (behind the scenes) to build VS.NET 2005 solutions/projects. This is certainly the easier solution. The advantage of (1) could be that it allows users to target multiple framework versions, but the code that is generated (behind the scenes) by VS.NET 2005 makes it impossible to compile for older versions of .NET. However, we might be able to compile most code using Mono once the Mono tools support some of the stuff that's introduced in .NET 2.0 (eg. creating strongly typed code for accessing resources) For windows platforms there is a project under way to use MSBuild to target vs2005 projects to version 1.1 of the framework - see : http://blogs.msdn.com/clichten/archive/2005/11/08/490541.aspx Depending on how that is distributed we could utilise it to target previous framework versions. Users (build authors) can also extend the VS.NET 2005 project files. This is definitely not something we can support. So, we'd be putting in a lot of effort just to support very basic VS.NET 2005 projects. Short of re-implemening the whole of msbuild - thats right we couldn't do that. Option (2) makes perhaps even less sense: if we do not process the VS.NET 2005 solutions/projects ourselves, then we cannot support more advanced options of the solution task for them (such as assemblyfolders, outputdir, ...). And if we cannot do this, then what's the benefit over using a msbuild task anyway ? Just thinking out loud - but things like assembly folders could be simulated by re-writing the solution/project file before passing it to MSBuild but maybe initially going with a plain msbuild task could be the way to go. Ian -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: Monday, December 5, 2005 06:38 AM To: 'Martin Aliger' Cc: [EMAIL PROTECTED], '! nant' Subject: Re: [nant-dev] need VS 2005 solution task support Martin Aliger wrote: Or, alternativelly, it should not be hard at all to write msbuild task just as a wrapper around msbuild.exe as ccnet do it. Something like ant already do. Not bad idea. What others think about this? Maybe I'd not give up mine hard-earned build scripts after all :-) I think thats a great idea. I think that would be a big help for the many people migrating to vs2005 but wanting to retain their existing NAnt build scripts. Ian --- --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] [Fwd: [WiX-devs] wix2.0 NAnt'ification starting...]
I just saw this on the wix dev list. They've decided to use NAnt as their build tool - instead of msbuild or nmake. Its quite cool to see this - considering that the wix dev lead is at Microsoft. Interestingly - NAnts support for the c++ compiler was one of the main reasons for the decision. heres the original blog post explaining the decision: http://blogs.msdn.com/jrock/archive/2005/09/08/462827.aspx Ian Original Message Subject:[WiX-devs] wix2.0 NAnt'ification starting... Date: Mon, 5 Dec 2005 14:40:25 -0800 From: Rob Mensching [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: WiX-devs wix-devs@lists.sourceforge.net Just want to send a heads-up to anyone who might be pulling code out of CVS that things are going to get rocky for the next day or three while I start getting all of Justin's NAnt stuff up for WiX v2 into CVS. At the end of this process it should be much easier to get code posted, built, and released. It's been painful in between times but hopefully this will be the last week of it. Anyway, beware downloading from CVS for the next few days until the process is complete. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ WiX-devs mailing list WiX-devs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-devs --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] need VS 2005 solution task support
Martin Aliger wrote: Or, alternativelly, it should not be hard at all to write msbuild task just as a wrapper around msbuild.exe as ccnet do it. Something like ant already do. Not bad idea. What others think about this? Maybe I'd not give up mine hard-earned build scripts after all :-) I think thats a great idea. I think that would be a big help for the many people migrating to vs2005 but wanting to retain their existing NAnt build scripts. Ian --- --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] contributing
Ed Atwell wrote: Hello all, I was hoping to start contributing to NAnt by working on the bug list. Are there any recommendations as to where I should start? I'd suggest going after whatever looks easiest so that you can get a feel for how the codebase is laid out. Pick one you like the look of, have a stab at fixing it and post any questions or patches to the list. Ian --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Fwd: Filesets referencing filesets ?
Hi Martin, Martin Aliger wrote: Thanks, here is patch again, this time it is agains 0.85 RC3. I'd really love to see this incorporated in core. There are some implementation problems which we already discussed, though: - what should happen, if referenced fileset have another basedir ? - what should happen, if exclude/include of 2 filesets conflicts ? - is every possible combination of those covered in test cases? For mine use, I dont combine basedirs and dont use excludes at all, but those problems should be solved. I feel, this is main problem why this extension wasnt incorporated yet. Maybe we could discuss it now... I'm tempted to include it and let people have a play with it and then refine it as necessary rather than holding out until its perfect. What do people think ? Ian Martin Aliger -Original Message- From: Rory Becker [mailto:[EMAIL PROTECTED] Sent: Friday, August 26, 2005 10:50 AM To: Martin Aliger Subject: Re: [nant-dev] Fwd: Filesets referencing filesets ? Assuming that your syntax has not varied too greatly from the version I saw in the newsgroup, I agree entirely that this is the right way to go. No task supports more that one fileset but allowing a fileset to contain or be created based on other filesets allows for many combinations I assume that this allows the derivative fileset types like zipfileset to inherit a similar behaviour I believe that this would make a great enhancement to the core nant system. How would we proceed from here Can I get a copy of this patch? How would I use it? Should I wait for the community to approve the patch?(really don't want to do this) Ideas? Suggestions ? Rory BTW Well done martin for this Idea / Implementation. Very simple and very powerful. :) On 8/26/05, Martin Aliger [EMAIL PROTECTED] wrote: Hello Rory, Currently, I fear, there is no such feature in NAnt. Some tasks allow to specify multiple filesets, but only some... That syntax you stole from another post was mine proposal to extend current fileset task. I have it locally and it works for me. I use it in production, in fact. I already sent patch for this and could send more current one, if community have interest for it. I'd like to see that incorporated in NAnt's core. btw: it also allow adding to existing fileset - and its what I need in production. Martin Aliger -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rory Becker Sent: Thursday, August 25, 2005 1:59 PM To: nant-developers@lists.sourceforge.net Subject: [nant-dev] Fwd: Filesets referencing filesets ? This was posted to the users group originally sorry :) Rory -- Forwarded message -- From: Rory Becker [EMAIL PROTECTED] Date: Aug 25, 2005 12:48 PM Subject: Filesets referencing filesets ? To: nantList nant-users@lists.sourceforge.net I would like to alter fileset so that it could reference multiple other filesets but I am not sure where to start. The syntax has been stolen from a post I read http://www.mail-archive.com/[EMAIL PROTECTED] net/msg03232.html and is as follows fileset id=Group1 include name=File1.dll / include name=File2.dll / /fileset fileset id=Group2 include name=File3.dll / include name=File4.dll / /fileset fileset includeFileset refid=Group1 / includeFileset refid=Group2 / /fileset I have found the fileset Class in Nant.Core and I figured I needed to determine how to use the refid syntax. So I looked for another class that already does this. The CopyTask seems to provide this but I cannot find anything in the source to indicate how this is handled. Can anyone help? Thanks Rory --- SF.Net email is Sponsored by the Better Software Conference EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile Plan-Driven Development * Managing Projects Teams * Testing QA Security * Process Improvement Measurement * http://www.sqe.com/bsce5sf ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF.Net email is Sponsored by the Better Software Conference EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile Plan-Driven Development * Managing Projects Teams * Testing QA Security * Process Improvement Measurement * http://www.sqe.com/bsce5sf ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Rational behind not supporting basedir?
Gert Driesen wrote: don't support the basedir property. Ahh pity. From an academic, developer to developer point of view I'm curious why that decision was made. I'm just wondering because obviously that's a big decision since many existing Ant scripts use ${basedir} as a property and it must have been a conscious decision to break the interface. Obviously a lot of thought must go into each decision that breaks simple compatibility with the original Ant since by the nature of calling it NAnt it implies a certain compatibility. At some point I'm sure someone said, Ok, Ant does it this way but I don't think NAnt should because (fill in blank) It's that fill in the blank part I'm after. I definitely agree that compatibility with Ant would've been nice. However, I wasn't involved in NAnt when some of these decision were made. come on - you can find a better example of incompatability than this one :) . basedir vs nant.project.basedir is hardly a huge difference and as far as I'm aware this is the first time this has been brought up as an issue. If it had been that important to a majority of NAnt users then it surely would have been changed years ago. You should either use the project::get-base-directory() or the nant.project.basedir property Thanks for the advice but I think I'll stick with Ant. Too many scripts use ${basedir} and I don't want to convert all of those that do to use the NAnt proprietary project::get-base-directory() or nant.project.basedir. We share these admin-style scripts and I don't want to force others to use nant just to work around this issue. Proprietry ? its not proprietary its just different. In the online docs there is a section for Ant Users which says : If you have used Ant before than NAnt should feel comfortable but NAnt is only compatible with Ant in spirit. - ie its not meant to be an exact clone of Ant. However on a more positive note - its easy enough to add a basedir property thats an alias for project::get-base-directory(). Just add the following property definition to NAnt.exe.config ... from line 1095 or so properties !-- properties defined here are accessible to all build files -- !-- property name=foo value = bar readonly=false / -- property name=basedir value = ${project::get-base-directory()} readonly=false / /properties /nant ... and the basedir property will become available to all scripts. Of course you'd need to make this change in NAnt.exe.config on every developers machine but thats less work than changing all your buil scripts. Ian --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Re: .NET 2.0 (beta 2) specific attributes for compilers
Gert Driesen wrote: Hi, In .NET 2.0 (beta 2), quite some options have been added to the command-line compilers. For example, for csc these are : /keyfile:file /keycontainer:string /platform:string /reference:alias=file /langversion:string /pdb:file /moduleassemblyname:string Now, the question is: how do we expose these options to build authors and still avoid confusing build authors that target older versions of .NET (that do not support these options) ? Do we 1. just expose these options as attribute of the csc task itself For example: csc keyfile=key.snk platform=x86 pdb=assembly.pdb / -or- 2. add nested child element for the .NET 2.0 specific options csc ... whidbey keyfile=... / /csc -or- 3. add a csc2 task that derives from csc csc2 keyfile=... ... / What do you think ? I don't like 2 and 3 much as they will get very ugly if successive versions of the compilers add new features like this. Could we use 1 but mark the new options with a CustomAttribute indicating their version. Then at load time we can match that against the current framework version and throw an exception if the option is not allowed with the currently targetted compiler. This could also be used when we generate the task doc to clearly mark the new options as 2.0 only. Ian --- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Query regading how to join this project
Hi Pavan, The simple answer is : - follow this list - find a bug in the bug database that you'd like to fix or - implement some functionality that you think would be useful or has been requested - post any questions you might have here. - post patches to the list good luck. Ian Pavan B G wrote: Hello, My name is Pavan and I am really interested in contrubuting to this Nant open source project. Can some one give info on how to join this project and how to pick up an open task. Waiting for a reply. cheers, Pavan --- SF.Net email is sponsored by: Tell us your software development plans! Take this survey and enter to win a one-year sub to SourceForge.net Plus IDC's 2005 look-ahead and a copy of this survey Click here to start! http://www.idcswdc.com/cgi-bin/survey?id5hix ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] FW: [Nant-users] How to generate the doc on demand?
Troy Laurin wrote: Anyway, I might have a play with it over the next few weeks, and if I don't find any nasty side-effects with targets or other elements, then I'll submit it as a patch post-0.85. PS- no offense, but some of the code to initialise the project and process the build file could use some refactoring :-) none taken. That code has been reworked a number of times and is better than it was. However any refactoring patches would be more than welcome. In the meantime, a simple approach that works today is to duplicate the task invocation with if/unless attributes, and use a property to indicate which to do: In the setup targets: property name=generateDocs value=true / !-- or false -- In the build targets: csc target=exe output=... doc=... if=${generateDocs} / csc target=exe output=... unless=${generateDocs} / It's annoyingly verbose, but I use this idiom frequently. I think most people use it, because it's currently the only way to do it :-) It gets exponentially more annoying the larger the element needing repetition is, though. (IMHO) Allowing dynamic attributes seems like a much more scalable and maintainable solution for the build script author. somthing like this could be a good solution. Another possibility is to have a way to set an attributes value such that its equivalent to it not being set - somthing like null for attributes. For example; target name=notdoc property name=docFile value=${property::null-value()} /target csc target=exe output=... doc=${docFile}/ Ian --- This SF.Net email is sponsored by: New Crystal Reports XI. Version 11 adds new functionality designed to reduce time involved in creating, integrating, and deploying reporting solutions. Free runtime info, new features, or free trial, at: http://www.businessobjects.com/devxi/728 ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] compiling NAnt and NAntContrib to generate MSI...
Gert Driesen wrote: Hi John, I just forgot to commit a small change, hold on a sec (or in case you're using anon cvs, a little longer). btw John, I was meaning to ask - how is that msi working out for you ? I'd like to start adding it to out download page for releases. What do you think Gert ? Ian -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Cole Sent: woensdag 20 april 2005 16:15 To: nant-developers@lists.sourceforge.net Subject: [nant-dev] compiling NAnt and NAntContrib to generate MSI... It appears that the build instructions have changed again and my NAnt build batch files aren't working any longer. I'd like to be able to compile NAnt and NAntContrib and then run the NAntContrib msi task to create the NAnt.msi that the rest of our developers will use. I had been doing the following: -- nmake -f Makefile.nmake bootstrap\NAnt.exe package cd .. cd NAntContrib ..\nant\build\net-1.1.win32\nant-0.85-debug\bin\nant -D:nant.dir=..\nant\build\net-1.1.win32\nant-0.85-debug -f:NAntContrib.build xcopy /E /S /Y build\nantcontrib-0.85-debug ..\nant\build\net-1.1.win32\nant-0.85-debug ..\nant\build\net-1.1.win32\nant-0.85-debug\bin\nant -D:nant.dir=..\nant\build\net-1.1.win32\nant-0.85-debug -f:NAntContrib.build msi Now the bootstrap\NAnt.exe package fails with the following error [nant] C:\src\nantsrc\test\nant\src\NAnt.VSNet\NAnt.VSNet.build build Buildfile: file:///C:/src/nantsrc/test/nant/src/NAnt.VSNet/NAnt.VSNet.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: build build: [csc] Compiling 39 files to 'C:\src\nantsrc\test\nant\build\net-1.1.win32\nant-0.85-debug\ bin\NAnt.VSNet Tasks.dll'. [csc] c:\src\nantsrc\test\nant\src\NAnt.VSNet\ProjectBase.cs(152,29): error CS0117: 'NAnt.Core.Util.FileUtils' does not contain a definition for 'GetHomeDirectory' BUILD FAILED C:\src\nantsrc\test\nant\src\NAnt.VSNet\NAnt.VSNet.build(11,10): External Program Failed: C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe (return code was 1) Total time: 1.5 seconds. Thanks, John Cole - This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. --- This SF.Net email is sponsored by: New Crystal Reports XI. Version 11 adds new functionality designed to reduce time involved in creating, integrating, and deploying reporting solutions. Free runtime info, new features, or free trial, at: http://www.businessobjects.com/devxi/728 ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: New Crystal Reports XI. Version 11 adds new functionality designed to reduce time involved in creating, integrating, and deploying reporting solutions. Free runtime info, new features, or free trial, at: http://www.businessobjects.com/devxi/728 ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: New Crystal Reports XI. Version 11 adds new functionality designed to reduce time involved in creating, integrating, and deploying reporting solutions. Free runtime info, new features, or free trial, at: http://www.businessobjects.com/devxi/728 ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] property file=filename / ?
Mike Roberts wrote: task for this purpose. The included project (build file) can just contain a project element and a set of properties to set in the parent project. Good idea. Better than the script workaround I was thinking of - thanks! btw this is the NAnt idiomatic way of doing Ant's property file= /. Its a bit more typing than using a 'name=value' properties file but it means that there is a single format and its easy to cut and past property definitions from a build file into an included file. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] nant (breaking) changes
Gert Driesen wrote: Hi, Right now, build authors cannot control whether references are copied to new projects. I decided to add support for this (using a inheritrefs attribute on nant), and while doing so I decided to make a breaking change here: references will now no longer be copied to new projects unless you set inheritrefs to true. This also matches the behavior of Ant. What do you think, is this ok ? sounds good to me. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ResourceUtil rewind
Greco Giuseppe wrote: what's about something like that? Giving the following resource files Global.resx Another.resx ... .resx we could have a separate resource manager for each resource file, This means storing *all* the resources in a single assembly I don't quite understand how your implementation is supposed to work. The static constructor will only be called once so: static ResourceUtils() { Assembly assembly = Assembly.GetCallingAssembly(); Global = new ResourceManager(assembly.GetName().Name + GlobalResx, assembly); Another = new ResourceManager(assembly.GetName().Name + AnotherResx, assembly); ... } will only allow the loading of resources whatever the calling assembly is at type initialization time ( probably NAnt.Core.dll ? ). This means that we would have to store *all* resources for *all* asemblies in NAnt.Core. I thought we agreed that it would be better to have each assembly store its own localised resources ? No, that was just a way to have more than one *.resx file per assembly. aah ok - I'm not sure that its necessary though - one Strings.resx for localized strings per assembly is probably sufficent. Besides, creating the two resourcemanagers in the static constructor doesn't solve the problem as its only called a single time. You would need to store a more complicated structure with 'x' ResourceManagers per assembly - ie 1 for each embedded resource file. solving also the problem with VS.NET: it has no bearing on the vs.net problem. That issue only related to the naming of the embedded resource structure - so Another.resx still maps to defaultnamespace.Another.resource in the final assembly ( when built by vs.net ). Exactly, meaning that in the example above we would have something like MyNamespace.Global.resource MyNamespace.Another.resoruce ... I think that a variation on your register assemblies proposal could work well and be more flexible going forward: public sealed class ResourceUtils { private static ResourceManager _sharedResourceManager; private static Hashtable _resourceManagerDictionary = new Hashtable(); ... ... private static void RegisterAssembly(Assembly assembly) { lock (_resourceManagerDictionary) { _resourceManagerDictionary.Add(assembly.GetName().Name, new ResourceManager(assembly.GetName().Name, assembly)); } } private static void RegisterSharedAssembly(Assembly assembly) { lock (_sharedResourceManager) { _sharedResourceManager = new ResourceManager(assembly.GetName().Name, assembly); } } I think the RegisterSharedAssembly() method is not necessary; we could just always use the RegisterAssembly() method (adding also the shared resource manager to the hashtable). sure - thats fine. Except- how would you know to use that one as the fallback if the resource isn't found in the current assembly's ResourceManager ? We don't want to try all of them. Hardcode the name NAnt.SharedResources in the GetString() method ? In any case the problem related to the naming of the embedded resource structure still remains... In the code above you assume this name always corresponds to the assembly name... but it does not (e.g. MyNamespace.Another.resources). sure but if we assume strings.resx and namespace == assemblyname then we always get: MyNamespace.Strings.resources doh ! -- except the namespace doesn't equal the assembly name - for example NAnt.DotNet = NAnt.DotNetTasks.dll. Ok - another way around this is to just change the vs.net project files to have *no* default namespace and set the prefix manually on each resx file. I don't think we should be working to hard to workaround vs.net't busted build system especially since the official build is the 'built by nant' one. Since there are only 2 cases. - load resource from the current assembly - load the resource from the shared resource assembly and somewhere in NAnt startup sequence we'd call: ResourceUtils:RegisterSharedAssembly( Assembly.LoadFrom( NAnt.SharedResources.dll ) ); ResourceUtils.RegisterAssembly(Assembly.LoadFrom(NAnt.SharedResources.d ll)); would be enought... isn't it? yep - if we can identify the shared resourcemaneger to use as a fallback. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ResourceUtil rewind
Greco Giuseppe wrote: what's about something like that? Giving the following resource files Global.resx Another.resx ... .resx we could have a separate resource manager for each resource file, This means storing *all* the resources in a single assembly I don't quite understand how your implementation is supposed to work. The static constructor will only be called once so: static ResourceUtils() { Assembly assembly = Assembly.GetCallingAssembly(); Global = new ResourceManager(assembly.GetName().Name + GlobalResx, assembly); Another = new ResourceManager(assembly.GetName().Name + AnotherResx, assembly); ... } will only allow the loading of resources whatever the calling assembly is at type initialization time ( probably NAnt.Core.dll ? ). This means that we would have to store *all* resources for *all* asemblies in NAnt.Core. I thought we agreed that it would be better to have each assembly store its own localised resources ? solving also the problem with VS.NET: it has no bearing on the vs.net problem. That issue only related to the naming of the embedded resource structure - so Another.resx still maps to defaultnamespace.Another.resource in the final assembly ( when built by vs.net ). I think that a variation on your register assemblies proposal could work well and be more flexible going forward: public sealed class ResourceUtils { private static ResourceManager _sharedResourceManager; private static Hashtable _resourceManagerDictionary = new Hashtable(); ... ... private static void RegisterAssembly(Assembly assembly) { lock (_resourceManagerDictionary) { _resourceManagerDictionary.Add(assembly.GetName().Name, new ResourceManager(assembly.GetName().Name, assembly)); } } private static void RegisterSharedAssembly(Assembly assembly) { lock (_sharedResourceManager) { _sharedResourceManager = new ResourceManager(assembly.GetName().Name, assembly); } } public static string GetString(string name, CultureInfo culture) { string localizedString = null; ResourceManager resourceManager = null; Assembly assembly = Assembly.GetCallingAssembly(); if ( ! _resourceManagerDictionary.Contains(assembly.GetName().Name ) ) { lock (_resourceManagerDictionary) { RegisterAssembly(assembly); } } // get the required Manager resourceManager = _resourceManagerDictionary[assembly.GetName().Name] as ResourceManager; localizedString = resourceManager.GetString(name, culture); // try the shared resources if we didn't find it in the specific resource manager if ( localizedString == null _sharedResourceManager != null) { return _sharedResourceManager.GetString(name, culture); } return localizedString; } } Since there are only 2 cases. - load resource from the current assembly - load the resource from the shared resource assembly and somewhere in NAnt startup sequence we'd call: ResourceUtils:RegisterSharedAssembly( Assembly.LoadFrom( NAnt.SharedResources.dll ) ); Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ResourceUtils
Ian MacLean wrote: Greco Giuseppe wrote: Hi Ian, I think it would be preferable to have a common resource assembly (e.g. NAnt.Resources.dll). you mean all resources for every assembly all in a single resources assembly ? - I don't much like that idea at all. Resources should be located together with the assembly that uses them in most cases. To be honest I'd rather store duplicate copies of strings in different satellite assemblies that merge all the satellites into a single monolithic one. I've been doing some more reading about .net internationalization strategies and it looks like a common model is to have satellite dlls for each assembly containing resources specifc to that assembly only and to create a resource only assembly to put *all* shared resources into. Maybe this is what you meant with NAnt.Resources.dll above ? Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] L16N - resx files
Greco Giuseppe wrote: Hmm - well I'd like the keep the number in there - for errors/warnings at least. It will make finding the use of a given error message easier later on. Okay, but tell me which one of the following formats: data name=NA1001 valueCould not find a '{0}' file in '{1}'/value commentSome descriptive comment/comment /data or Actually the idea behind using the NAxxx form was to be consistent with other command line tools like csc.exe that uses CS for all errors and warnings. So I think if we use NA for errors/warnings and maybe informative messages and a more descriptive name for other strings - which dont need to have an id associated with them. So String_BannerText for example. Ian !-- Error messages -- data name=E1001 ... /data !-- Warning messages -- data name=W1001 ... /data !-- Informational messages -- data name=I1001 ... /data !-- General strings -- data name=S1001 ... /data Take your time to think about the best solution; if we later decide to change that, it will be quite expensive... j3d. -- DISCLAIMER -- This message (including any attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system.Any unauthorised use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change. Banca del Gottardo (including its group companies) shall not be liable for the improper or incomplete transmission of the information contained in this communication nor for any delay in its receipt or damage to your system. Under no circumstances this message can be considered as a written acceptance or confirmation of an instruction/order given to Banca del Gottardo. Instructions and orders cannot be accepted or confirmed via e-mail. Banca del Gottardo (or its group companies) does not guarantee that the integrity of this communication has been maintained nor that this communication is free of viruses, interceptions or interference. - --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] L16N
Greco Giuseppe wrote: csc ... ... resources include name=*.resx/ /resources /csc will work just fine. Just a question: does the resource element automatically embed the defalut resources into the assembly, or is the arg element still necessary? If the name of the .resx file contains a culture part it will package it up with any other resources for that culture in a satellite assembly in the appropriate child directory. If not it will embed the resource in the main assembly. - so the are element is not necessary. For example - this build fragment : csc target=exe output=ListCultures.exe debug=true sources include name=ListCultures.cs/ include name=RM.cs/ /sources resources include name=*.resx/ /resources /csc produces this log output : [csc] Compiling 2 files to 'C:\ianm\dev\test\csharp\Globalization\ListCultures.exe'. [resgen] Output file 'C:\ianm\dev\test\csharp\Globalization\ListCultures.ja-JP.resources' does not exist, recompiling. [resgen] Starting 'C:\Program Files\Microsoft.NET\SDK\v2.0\bin\resgen.exe (/usesourcepath C:\ianm\dev\test\csharp\Globalization\ListCultures.ja-JP.resx C:\ianm\dev\test\csharp\Globalization\ListCultures.ja-JP.resources)' in 'C:\ianm\dev\test\csharp\Globalization' [resgen] Read in 2 resources from C:\ianm\dev\test\csharp\Globalization\ListCultures.ja-JP.resx [resgen] Writing resource file... Done. [resgen] Output file 'C:\ianm\dev\test\csharp\Globalization\ListCultures.resources' does not exist, recompiling. [resgen] Starting 'C:\Program Files\Microsoft.NET\SDK\v2.0\bin\resgen.exe (/usesourcepath C:\ianm\dev\test\csharp\Globalization\ListCultures.resx C:\ianm\dev\test\csharp\Globalization\ListCultures.resources)' in 'C:\ianm\dev\test\csharp\Globalization' [resgen] Read in 3 resources from C:\ianm\dev\test\csharp\Globalization\ListCultures.resx [resgen] Writing resource file... Done. [csc] Contents of C:\Documents and Settings\ianm\Local Settings\Temp\tmp39C.tmp. [csc] /fullpaths [csc] /debug [csc] /define:DEBUG [csc] /define:TRACE [csc] /nologo [csc] /target:exe [csc] /out:C:\ianm\dev\test\csharp\Globalization\ListCultures.exe [csc] /resource:C:\ianm\dev\test\csharp\Globalization\ListCultures.resources,ListCultures.resources [csc] C:\ianm\dev\test\csharp\Globalization\ListCultures.cs [csc] C:\ianm\dev\test\csharp\Globalization\RM.cs [csc] [csc] Starting 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.40607\csc.exe (@C:\Documents and Settings\ianm\Local Settings\Temp\tmp39C.tmp)' in 'C:\ianm\dev\test\csharp\Globalization' [al] 'C:\ianm\dev\test\csharp\Globalization\ListCultures.exe' has been updated, recompiling. [al] Compiling 0 files to 'C:\ianm\dev\test\csharp\Globalization\ja-JP\ListCultures.resources.dll'. [al] Contents of C:\Documents and Settings\ianm\Local Settings\Temp\tmp39F.tmp. [al] /target:lib [al] /out:C:\ianm\dev\test\csharp\Globalization\ja-JP\ListCultures.resources.dll [al] /culture:ja-JP [al] /template:C:\ianm\dev\test\csharp\Globalization\ListCultures.exe [al] /nologo [al] [al] Starting 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.40607\al.exe (@C:\Documents and Settings\ianm\Local Settings\Temp\tmp39F.tmp /embed:C:\ianm\dev\test\csharp\Globalization\ListCultures.ja-JP.resources,ListCultures.ja-JP.resources)' in 'C:\ianm\dev\test\csharp\Globalization' --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Documentor
Hi Justin, James, Justin wrote: What are the requirements for the Nant Documentor to actually generator the nant style documentation? I have a bunch of custom task that I have built but when I use the nant documentor all of the tasks/properties/types show up in the web output but it does not include any of the xml comments such as comments and code samples. Do you pass the appropriate doc= attribute on the csc task when you build your custom tasks ? If you post the build file you are using - showing the ndoc invocation I may be able to tell you why its not outputting the comments. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] L16N
Greco Giuseppe wrote: Mono source code does not contain documentation comments; XML stubs are generated via reflection with assembler.exe/updater.exe. Miguel told me that they want to keep user documentation separated from source code, meaning the /doc feature of the C# compiler is useless... sure - and that is why iot took so long for mcs to get the /doc feature implemented. MonoDoc generates a separate XML file for each *.cs file, while the C# compiler just put all togheter in a single file. The main disadvantage of the Mono approach is productivity. I honestly feel more productive if I write the [english] SDK documentation while coding, but the way MonoDoc works if more elegant. I think we should take the best from the two world and finally offer the killer application for generating SDK documentation. agreed - using the inline xml for the fallback language and then editing the other languages seperately. This kinda fits the hub and spoke model that msoft has defined for resources anyway. of course - quite apart from the documentation there is the process of making internal strings load from a resource file rather than being hard-coded to english as they are now. Attached to this email you'll find the RM.cs file, which implements the localization mechanism. Here below is how to use it: Old messages (as it is now): Console.Error.WriteLine(Invalid framework '{0}' specified., cmdlineOptions.TargetFramework); New messages: Console.Error.WriteLine(RM.GetString(Error_InvalidFramework), cmdlineOptions.TargetFramework); You need a copy of RM.cs for each assembly and you should set the private field AssemblyName to the name of the current assembly. looks ok - but why not get AssemblyName dynamically using : Assembly.GetCallingAssembly() ? then you only need to define the RM class once in NAnt.Core. Ian Ian - Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)79 602 99 27 email: [EMAIL PROTECTED] web:www.agamura.com --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396 op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers -- DISCLAIMER -- This message (including any attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system.Any unauthorised use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change. Banca del Gottardo (including its group companies) shall not be liable for the improper or incomplete transmission of the information contained in this communication nor for any delay in its receipt or damage to your system. Under no circumstances this message can be considered as a written acceptance or confirmation of an instruction/order given to Banca del Gottardo. Instructions and orders cannot be accepted or confirmed via e-mail. Banca del Gottardo (or its group companies) does not guarantee that the integrity of this communication has been maintained nor that this communication is free of viruses, interceptions or interference. - --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Windows installer for binary distribution.
John Cole wrote: There was a discussion on this topic a few months ago. The main point of contention was installing NAnt/NAntContrib to the same directory or not and whether or not to include NAntContrib at all in the installer. My feelings remain the same. Use the MSI target as is. It works great, its ready to go, and it fully exercises the MSM and MSI tasks. I agree - although maybe pull out the NAntContib tasks for now - make them a seperate installer. Building a MSI task with the nightly builds would also make sure the MSM and MSI tasks are tested too :-) There is a certain amount of elegance with a NAnt built MSI of NAnt/NAntContrib. Sort of eating your own dog food. :-) I have been building and using the NAnt built MSI to install NAnt on developer machines here for over 6 months. great - so we know they have been road tested. Ian I haven't tested rc2 yet, but I plan on doing that today. My last build was 1/11 and it worked fine then. John Cole -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jim Geurts Sent: Tuesday, February 15, 2005 8:24 AM To: Ian MacLean Cc: Swoogan; nant-developers@lists.sourceforge.net Subject: Re: [nant-dev] Windows installer for binary distribution. I agree that a win32 install would be a nice addition to NAnt. I think it could get some people using NAnt that would otherwise shy away from it... The install script in NAntContrib is functional, to the best of my knowledge. It just hasn't been used to generate official installs. I would say that if it's easier for more people to support innosetup over traditional msi, then we should go that route. Otherwise, if it really doesn't buy us anything, then I would stick with the msi targets in NAntContrib. On Tue, 15 Feb 2005 13:37:32 +0900, Ian MacLean [EMAIL PROTECTED] wrote: Hi Swoogan, I wrote an installer script for Inno Setup (http://www.jrsoftware.org/isinfo.php) for NAnt distribution around my office and I would like to contribute it. Besides copying the files, it adds the nant bin directory the environment path and creates a registry entry pointing to the installation path for third party apps to reference (such as the NAnt-contrib installer I intend to create). You can download the installer here (perhaps we can move this to sourceforge if you like what you see): http://swoogan.com/downloads/nant/NAnt-0.85-rc2-setup.exe looks pretty cool. NAnt certainly needs a win32 installer. I think there is a build file in NAntContrib to create a nant msi but I'm not sure if its been decided to ship that - certainly its been there for ages and we haven't shipped an msi installer yet. So I guess now is as good a time to decide. Do we want to : a) go with the msi based installer ( has the virtue of exercising the msi tasks ) b) use Swoogan's innosetup installer ( seems simpler than full blown msi ) c) somthing else ? btw is InnoSetup free/opensource - I don't have internet acesss right now to check. oh and how easy would it be to add an installer dialog page that finds the list of available frameworks ( from the registry ) and allows the user to select the one they would like to use as the default ? Ian The script I used to create the installer can be found here http://swoogan.com/downloads/nant/NAnt_installer.zip You will need Inno Setup to compile the script (http://www.jrsoftware.org/isdl.php). I simply unzip the zipped binary distribution from SF and drop the script in the root. Running it from there creates an 'installer' dir where the compiled installer is placed. I've also included a simple nant task for creating the installer from a nant build file in the zip file. The tag is simply: innosetup script=NAnt.iss / (really just a substitution for using exec). This task requires that Inno Setup 5 be installed. Swoogan --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which
Re: [nant-dev] L16N
Greco Giuseppe wrote: Ian, looks ok - but why not get AssemblyName dynamically using : Assembly.GetCallingAssembly() ? then you only need to define the RM class once in NAnt.Core. You're right... attached to this email you'll find a better version of RM.cs (RM stands for [R]esource[M]anager). I figured that one out :). We could probably call it NAnt.Core.ResourceUtils or somthing like that. Let me know if it is Okay, Looks good. I'll start going thru the errors in NAnt.Core and factoring them into a resource file. I might look at defining error codes and documenting them at the same time. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Windows installer for binary distribution.
Perhaps we should explore a new mechanism for extension libraries in NAnt, with inspiration taken from the Java jre/lib/ext idea... 4) Install NAntContrib to a different folder, and add an xml descriptor/locator in NAnt/bin/ext which describes the library. NAnt could scan the bin/ext folder for descriptors on startup in a similar fashion to the NAnt.exe.config method, but this allows for specific support such as disabling all extension libraries, or disabling a named library when invoking NAnt. why not extend NAnt.exe.config rather than adding another config file. One of the things I like about the Nant model is that you don't *need* to have a task registration scheme the way Ant does because of the attribute based auto-scan mechanism. PRO: Libraries decoupled from NAnt installation PRO: Libraries automatically discovered on NAnt startup not really - only if that xml file has been setup. PRO: Libraries can be easily registered/deregistered by adding or removing their own locator... there's no possibility of corrupting your NAnt install by breaking the xml structure - just one library. CON: It's not implemented yet The other thing I like about this approach is that is allows extension to namespaces in the future... the namespace can be specified in the xml locator (by default uses the default namespace), or the namespace for a named library can be overridden from the commandline when invoking NAnt (In case of a namespace clash with a particular build script). Also, it would be reasonably simple to create a registerlibrary (and deregisterlibrary?) NAntContrib task to create this locator dynamically. except that you couldn't register NAntContrib itself if you didn't already have it registered in order to be able to use those tasks :) I still think that it would be better to extend the existing config file extra functionality is required. It already allows you to specify paths to scan for assemblies and I think to exclude specific assemblies. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] L16N
Greco Giuseppe wrote: I figured that one out :). We could probably call it NAnt.Core.ResourceUtils or somthing like that. That's up to you... but such a name is a little bit too long and uncomfortable to be used often... you think ? Show me some classes in the core framework that have 2 letter names. The name 'RM' isn't particularly descriptive - as evidenced by the fact that you felt the need to explain what it stands for. Furthermore a class name should be singular and represent just an entity (Array, Window, Button, etc.). I disagree. We're talking about a class that contains only 1 static method and will never be instantiated. So its hardly modelling a fixed object. For similar examples in the NAnt codebase: NAnt.Core.Util.FileUtils NAnt.Core.Util.ReflectionUtils NAnt.Core.Util.StringUtils so for consistency it should probably be called: NAnt.Core.Util.ResourceUtils which is even more verbose :) Ian Let me know if it is Okay, Looks good. I'll start going thru the errors in NAnt.Core and factoring them into a resource file. I might look at defining error codes and documenting them at the same time. The first step would be to create the resource files (NAnt.Core.en-US.resx, NAnt.DotNet.Task.en-US.resx, etc.), then replace hardcoded strings with RM.GetString(Message_Id) - or whatever name you want, and finally add the following target into the different NAnt build files: target name=build-resources depends=init description=Builds resource binaries foreach item=String in=de-DE,en-US,es-ES,fr-FR,it-IT delim=, property=culture mkdir dir=${build.dir}/${package.name}/lib/${culture} failonerror=false / resgen input=${assembly}.${culture}.resx output=${build.dir}/${package.name}/lib/${culture}/${assembly}.${cultur e}.resources / /foreach /target You should also modify the build target in order to let the C# compiler embed the default resource (en-US) in the NAnt assemblies (for other languages we generate satelite assemblies): target name=build depends=init build-resources description=Builds the binaries for the current configuration ... property name=default.resources value=en-US/${assembly}.en-US.resources,${assembly}.resources / foreach item=String in=de-DE,es-ES,fr-FR,it-IT delim=, property=culture al target=library output=${build.dir}/${package.name}/lib/${culture}/${assembly}.resource s.dll culture=${culture} sources basedir=${build.dir}/${package.name}/lib/${culture} include name=*.resources / /sources /al /foreach csc ... ... arg value=-res:${build.dir}/${package.name}/lib/${default.resources} / /csc /target If you want I can help you... just let's coordinate. Have you already run sed to extract all the hardcoded string from the code? j3d. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396 op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers -- DISCLAIMER -- This message (including any attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system.Any unauthorised use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change. Banca del Gottardo (including its group companies) shall not be liable for the improper or incomplete transmission of the information contained in this communication nor for any delay in its receipt or damage to your system. Under no circumstances this message can be considered as a written acceptance or confirmation of an instruction/order given to Banca del Gottardo. Instructions and orders cannot be accepted or confirmed via e-mail. Banca del Gottardo (or its group companies) does not guarantee that the integrity of this communication has been maintained nor that this communication is free of viruses, interceptions or interference. - --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net
Re: [nant-dev] L16N
The first step would be to create the resource files (NAnt.Core.en-US.resx, NAnt.DotNet.Task.en-US.resx, etc.), we can just start with NAnt.Core.resx for the default ( US english ) language. then replace hardcoded strings with RM.GetString(Message_Id) - or whatever name you want, and finally add the following target into the different NAnt build files: target name=build-resources depends=init description=Builds resource binaries foreach item=String in=de-DE,en-US,es-ES,fr-FR,it-IT delim=, property=culture mkdir dir=${build.dir}/${package.name}/lib/${culture} failonerror=false / resgen input=${assembly}.${culture}.resx output=${build.dir}/${package.name}/lib/${culture}/${assembly}.${cultur e}.resources / /foreach /target You should also modify the build target in order to let the C# compiler embed the default resource (en-US) in the NAnt assemblies (for other languages we generate satelite assemblies): target name=build depends=init build-resources description=Builds the binaries for the current configuration ... property name=default.resources value=en-US/${assembly}.en-US.resources,${assembly}.resources / foreach item=String in=de-DE,es-ES,fr-FR,it-IT delim=, property=culture al target=library output=${build.dir}/${package.name}/lib/${culture}/${assembly}.resource s.dll culture=${culture} sources basedir=${build.dir}/${package.name}/lib/${culture} include name=*.resources / /sources /al /foreach csc ... ... arg value=-res:${build.dir}/${package.name}/lib/${default.resources} / /csc we can use the resources child element for this - thats what its for :). You can even add the resx files ( even the international ones ) to that and the csc task will do the right thing - ie create child directories for each culture and run the al task. /target If you want I can help you... just let's coordinate. Have you already run sed to extract all the hardcoded string from the code? Sure - thanks. I haven't got the NAnt source with me right now ( at work ) so no I haven't run sed. If you'd like to start on that - by all means go ahead. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] L16N
Ian MacLean wrote: al target=library output=${build.dir}/${package.name}/lib/${culture}/${assembly}.resource s.dll culture=${culture} sources basedir=${build.dir}/${package.name}/lib/${culture} include name=*.resources / /sources /al /foreach csc ... ... arg value=-res:${build.dir}/${package.name}/lib/${default.resources} / /csc we can use the resources child element for this - thats what its for :). You can even add the resx files ( even the international ones ) to that and the csc task will do the right thing - ie create child directories for each culture and run the al task. However that doesn't work so well with foreach so it might be better your way. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] L16N
Ian MacLean wrote: Ian MacLean wrote: al target=library output=${build.dir}/${package.name}/lib/${culture}/${assembly}.resource s.dll culture=${culture} sources basedir=${build.dir}/${package.name}/lib/${culture} include name=*.resources / /sources /al /foreach csc ... ... arg value=-res:${build.dir}/${package.name}/lib/${default.resources} / /csc we can use the resources child element for this - thats what its for :). You can even add the resx files ( even the international ones ) to that and the csc task will do the right thing - ie create child directories for each culture and run the al task. However that doesn't work so well with foreach so it might be better your way. scratch that - I'm an idiot. This: csc ... ... resources include name=*.resx/ /resources /csc will work just fine. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ndoc task
Greco Giuseppe wrote: Hi all, Why doesn't the ndoc task support the NDoc argument xmldoc (see http://ndoc.sourceforge.net/usersguide.html)? NAnt assumes that XML files generated by the C# compiler are always located in the same directory as the compiled assemblies. Don't you think that we should add the xmldoc element to the ndoc task? That would also help when localizing SDK documentation. sounds like a good idea. Why don't you log a bug for it ? Ian -- DISCLAIMER -- This message (including any attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system.Any unauthorised use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change. Banca del Gottardo (including its group companies) shall not be liable for the improper or incomplete transmission of the information contained in this communication nor for any delay in its receipt or damage to your system. Under no circumstances this message can be considered as a written acceptance or confirmation of an instruction/order given to Banca del Gottardo. Instructions and orders cannot be accepted or confirmed via e-mail. Banca del Gottardo (or its group companies) does not guarantee that the integrity of this communication has been maintained nor that this communication is free of viruses, interceptions or interference. - --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] L16N
Giuseppe Greco wrote: Do you plan to localize NAnt? I think it would be a good idea. If yes, how are you going to manage translations? Actually, compiled assemblies and XML files generated by the C# compiler are kept togheter in the same directory, letting NDoc find them and do its job. looks like the xmldoc attribute you mention in a later email is the way to get around this. We would invoke ndoc once for each translated language. In order to be able to translate, let's say, the SDK documentation into many languages, the XML files generated by the C# compiler should be kept separately (e.g. doc/en-US) and, of course, only English documentation should be generated automatically from source code; other translations, which should have their own directory (doc/it-IT, doc/es-ES, etc.), have to be done manually. although we should be able to knock up a script to generate stubs based on the original english doc. So the question is: how do you tell NDoc where to find the XML files to process? xmldoc tag :) A thought I've had recently is that it could be cool to hack nDoc to accept the monodoc xml format as input. There is no reason it shouldn't be possible as its functionally equivalent to the ms/ndoc format. The advantage then is that there are some nice tools for editing monodoc and we would get the ability to view the nant help in the monodoc gui. I'm not sure if the monodoc gui is functional on win32 yet but I think its being worked on. of course - quite apart from the documentation there is the process of making internal strings load from a resource file rather than being hard-coded to english as they are now. Ian - Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)79 602 99 27 email: [EMAIL PROTECTED] web:www.agamura.com --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Windows installer for binary distribution.
Hi Swoogan, I wrote an installer script for Inno Setup (http://www.jrsoftware.org/isinfo.php) for NAnt distribution around my office and I would like to contribute it. Besides copying the files, it adds the nant bin directory the environment path and creates a registry entry pointing to the installation path for third party apps to reference (such as the NAnt-contrib installer I intend to create). You can download the installer here (perhaps we can move this to sourceforge if you like what you see): http://swoogan.com/downloads/nant/NAnt-0.85-rc2-setup.exe looks pretty cool. NAnt certainly needs a win32 installer. I think there is a build file in NAntContrib to create a nant msi but I'm not sure if its been decided to ship that - certainly its been there for ages and we haven't shipped an msi installer yet. So I guess now is as good a time to decide. Do we want to : a) go with the msi based installer ( has the virtue of exercising the msi tasks ) b) use Swoogan's innosetup installer ( seems simpler than full blown msi ) c) somthing else ? btw is InnoSetup free/opensource - I don't have internet acesss right now to check. oh and how easy would it be to add an installer dialog page that finds the list of available frameworks ( from the registry ) and allows the user to select the one they would like to use as the default ? Ian The script I used to create the installer can be found here http://swoogan.com/downloads/nant/NAnt_installer.zip You will need Inno Setup to compile the script (http://www.jrsoftware.org/isdl.php). I simply unzip the zipped binary distribution from SF and drop the script in the root. Running it from there creates an 'installer' dir where the compiled installer is placed. I've also included a simple nant task for creating the installer from a nant build file in the zip file. The tag is simply: innosetup script=NAnt.iss / (really just a substitution for using exec). This task requires that Inno Setup 5 be installed. Swoogan --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Getting the NAnt ${variable} working?
Wen Ching Chua wrote: I try to find on the internet on how to achieve this in C#, but still can't find any good resources till i downloaded Nant. But there are too many codes inside Nant, and i have no idea which part of Nant code that can achieve this below. ?xml version=1.0? project name=Property Test default=test basedir=. property name=project.name value=PropertyTest/ property name=project.version value=1.0.0/ target name=test echo message=Building ${project.name}-${project.version}/ /target /project -- I want to get the value of project.name. So i can use the ${project.name} a few times in my xml script. Any idea on which portion of the NAnt code can do this? I'm not quite sure what you are asking. The above project works fine for me : Target framework: Microsoft .NET Framework 1.1 Target(s) specified: test test: [echo] Building PropertyTest-1.0.0 BUILD SUCCEEDED Total time: 0 seconds. an alternative is to use the project::get-name() function [1] like this: target name=test echo message=Building ${project::get-name()}-${project.version}/ /target to get the project name. You'll need to be running 0.85rc1 or a nightly build to use the function. Ian [1] http://nant.sourceforge.net/release/latest/help/functions/project.get-name.html --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt ___ nant-developers mailing list nant-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: NDoc 1.3
Jaroslaw Kowalski wrote: I like the wrapper idea. I never understood why NAnt included NDoc instead of just spawning it. Same thing applies to NUnit. It would be cool to have a common way of detecting the packages locations. I think we can use pkgconfig approach on Unix and AssemblyFolders or other registry place on Windows (all we need to do is to convince the developers to provide the appropriate registration procedures or prepare them ourselves). I had a similar thought - It would actually be nice if pkg-config could be adopted more across platforms. Theres no reason it couldn't work just as well on windows for .net libraries. NAnt would then be able to provide a common way to get the paths: package::installed('NUnit2') - true/false package::get-version('NUnit2') - 2.2.0 package::get-lib-path('NUnit2') - C:\Program Files\NUnit 2.2\bin package::get-exe-path('NUnit2') - C:\Program Files\NUnit 2.2\bin we already have some pkg-config functions. Of course, much more needs to be done to properly use versioning and framework support but that's the idea. The only tough part is getting all relevant .net packages/projects to adopt such a package registration scheme. Ian - Original Message - *From:* Gert Driesen mailto:[EMAIL PROTECTED] *To:* 'Jaroslaw Kowalski' mailto:[EMAIL PROTECTED] *Cc:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Sent:* Sunday, December 19, 2004 1:40 PM *Subject:* RE: NDoc 1.3 Hi Jarek, I'm still in flux on how to proceed with this. Adding all documenters (and their dependencies, which at this time is only the Interop.MSHelpCompiler.dll assembly) to the NAnt distribution would increase the size of the NAnt distribution quite a lot (as we have to include them for each support target framework). If we do not include all documenters, then we should at least provide more information to our users on how to make the other documenters that available for usage by the ndoc task. In the end, it would've been better if we could convert the ndoc task to a wrapper for NDocConsole, but then we'd need to have some mechanism on both Windows and Linux to discover the install directory of NDoc. Gert *From:* Jaroslaw Kowalski [mailto:[EMAIL PROTECTED] *Sent:* zondag 19 december 2004 12:34 *To:* Gert Driesen *Subject:* NDoc 1.3 Hi Gert! Will NDoc.Documenter.Xml.dll and other documenters be included in NAnt 0.85 ? Currently only NAnt and MSDN documenters are available to ndoc task. Jarek --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] include task question
Ian MacLean wrote: Gert Driesen wrote: -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Jansen Sent: vrijdag 3 december 2004 17:19 To: [EMAIL PROTECTED] Subject: [nant-dev] include task question Hi again, I have a question about the include task and the project::get-buildfile-path() function. I would like to know if there is a way to get the path of an included build file, rather than the containing build file, from withing the included file. Example: C:\folder\project.build --- project include buildfile=..\include.build / /project C:\include.build --- project echo message=${project::get-buildfile-path()} / /project In this case, the message display is C:\folder\project.build, but, I need to find a way to have a function return C:\include.build. Any suggestions? As far as I know this is not possible. Ian: do you have anything to add to this ? Actually whenever we load a file we store the location map - mapping each xml node to a file and line-number. So the information is there - the major issue I see is that you would need to obtain the task/Target object that is being referenced at the function call site. So in the example above : snip a bunch of unnecessarily complicated stuff /snip It turns out its actually quite simple. We already pass a Location reference when we expand properties ( ie when functions get evaluated ) Properties.ExpandProperties(attributeValue, Location); This Location object contains the path of file where that property was defined. So its not too hard to pass that location on to the FunctionSet classes via their constructor. I have this working locally such that : project name=include echo message=this file is :${project::get-buildfile-path()} / echo message=main file is: ${project::get-master-buildfile-path()} / /project when included in another file called Simple.build produces : Buildfile: file:///K:/dev/test/csharp/GetBuildFileTest/Simple.build Target(s) specified: run [echo] this file is :K:\dev\test\csharp\GetBuildFileTest\include.build [echo] main file is: K:\dev\test\csharp\GetBuildFileTest\Simple.build Now i just have a question on the naming. Should we : A) keep get-buildfile-path() as it is returning the the including file and add a get-current-file-path() function or B) change get-buildfile-path() to return the current file and add a project::get-master-buildfile-path() function to return the including (ie master ) file . ( as demonstrated above ) Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] include task question
Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED] Cc: Gert Driesen [EMAIL PROTECTED]; 'Steve Jansen' [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, December 08, 2004 4:20 PM Subject: Re: [nant-dev] include task question Now i just have a question on the naming. That always seems to be our problem ;-) true enough Should we : A) keep get-buildfile-path() as it is returning the the including file and add a get-current-file-path() function or B) change get-buildfile-path() to return the current file and add a project::get-master-buildfile-path() function to return the including (ie master ) file . ( as demonstrated above ) We could also add a bool argument to project::get-buildfile-path(). BTW: Would this return the parent build file, or the top build file ? What if we have nested includes ? What about the other project functions : project::get-base-directory project::get-buildfile-uri project::get-default-target project::get-name probably won't need get-name as the included file gets merged into the including file and loses its name at that point. I think we're gonna need an all or nothing solution for this problem. It doesn't make sense to provide a solution for just one the project functions. of course - It might actually make sense to put functions dealing with the current file outside the project namespace - not sure what to call it though. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Adding extension objects to style task
Tim Noll wrote: I've tested this with some proprietary code that I've written at work, but I could prepare a simple example from scratch. Again, it may be a few days before I have the time to work on it, but I'll send it along as soon as I can. no problem. The extension object stuff has been committed to cvs. Ian Tim On Thu, 02 Dec 2004 21:10:16 +0900, Ian MacLean [EMAIL PROTECTED] wrote: Tim Noll wrote: Here are the changes needed in order to add extension objects to the style task. This change consists of three files: NAnt.Core\Tasks\StyleTask.cs - modified (I've also included a diff file against the original source) NAnt.Core\Types\XsltExtensionObjectCollection.cs - new NAnt.Core\Types\XsltExtensionObject.cs - new I've also fixed what appeared to be an error with handling the if and unless attributes of the XsltParameter objects. Sorry that I missed the 0.85 RC1 release, but hope this is useful in any case. thanks Tim. I'm taking a look and so far it looks good. Do you have any sample example extension objects to put in the nant examples directory ? Ian Tim On Wed, 24 Nov 2004 18:59:43 +, Tim Noll [EMAIL PROTECTED] wrote: OK, I'll post the code in the next few days, as soon as I have a chance to make sure it works against the 0.85 code base. And, yes, extension objects will have to have a default parameterless constructor for now. Regards, Tim On Mon, 22 Nov 2004 12:11:27 +0900, Ian MacLean [EMAIL PROTECTED] wrote: Tim Noll wrote: --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] include task question
Gert Driesen wrote: -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Jansen Sent: vrijdag 3 december 2004 17:19 To: [EMAIL PROTECTED] Subject: [nant-dev] include task question Hi again, I have a question about the include task and the project::get-buildfile-path() function. I would like to know if there is a way to get the path of an included build file, rather than the containing build file, from withing the included file. Example: C:\folder\project.build --- project include buildfile=..\include.build / /project C:\include.build --- project echo message=${project::get-buildfile-path()} / /project In this case, the message display is C:\folder\project.build, but, I need to find a way to have a function return C:\include.build. Any suggestions? As far as I know this is not possible. Ian: do you have anything to add to this ? Actually whenever we load a file we store the location map - mapping each xml node to a file and line-number. So the information is there - the major issue I see is that you would need to obtain the task/Target object that is being referenced at the function call site. So in the example above : echo message=${project::get-buildfile-path()} / we'd need to get a hold of the Location property on the echoTask instance. Hmm now that I look at it we already maintain a Project.CurrentTarget property. If we added a CurrentTask property to Target then that should be sufficent. GetBuildfilePath could look somthing like : GetBuildfilePath() { if ( Project.CurrentTask != null ){ return = Project.CurrentTask.Location.FileName; } if ( Project.CurrentTarget == null ) { return Project.BuildFileLocalName } if ( Project.CurrentTarget.CurrentTask == null ){ return Project.CurrentTarget.CurrentTask.Location.FileName; } else { return Project.CurrentTarget.FileName; } } ( simplified for brevity ) It probably wouldn't be quite that simple - this is just speculation right now - but it looks possible with a few changes. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] NAnt 0.85 release - how ?
Martin Aliger wrote: ps : I've got a small nant function called is-assembly (to determine whether a file is a valid assembly or not). Is it worth contributing ? I'm using it to separate my legacy dll from assemblies. I know there's the get-assembly-name trick, but maybe it's worth it. Tell me what you think. Not sure about that, anyone else got a strong opinion on this ? I think, that could be useful (but am not sure if mine opinion is 'strong' :-) I also think it looks useful. Maybe we should start a function library in NAntContrib for anything else that comes up. Ian --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Separating targets into individual files
Neil Cowburn wrote: Heh. My mistake. It *seemed* to the executing the targets... Until I released that the targets were empty :) The include task is working as documented, but what I'd like to see is something analogous to include files in ASP where targets can be separated out into an external build file. This build file is the referenced in a master build file where the targets in the external build file may or may not be called from the master file. Using the nant task just doesn't cut it as you can't specific a target to execute. Maybe I'm not understanding your question - but you can call specific targets in an included build file from a master file. And as Troy pointed out you can call individual targets using the nant task as well. Ian --Neil -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ian MacLean Sent: 18 November 2004 04:40 To: [EMAIL PROTECTED] Cc: 'NAnt Developers' Subject: Re: [nant-dev] Separating targets into individual files Neil Cowburn wrote: I have a number of targets of various type (code compilers, file system management, custom scripts) and I'd like to separate them out into individual files and reference them from a master build file. I thought the include task would meet my requirements, but since it executes the targets in the included build file whenever the include task is touched, it does not. What I would like to be able to do is something like this: project name=... !-- Global Properties -- include buildfile=globals.build / !-- Scripted target collection -- include buildfile=scripts.build / target name=build !-- 'myFunkyLittleScriptTarget' is defined in scripts.build -- call target=myFunkyLittleScriptTarget / /target /project In the current model, all the targets in scrips.build would get called and the call task would try to invoke a target that is not defined. Has anyone any thoughts on how I can achieve my goal? thats certainly not the expected behaviour. The include task should only execute top level ( project level ) tasks and not execute any targets. Can you post a small repro demonstrating the all targets getting executed behaviour. Ian --Neil --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Adding extension objects to style task
Tim Noll wrote: I'd like to propose adding extension objects to the style task. More information about extension objects can be found here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconXsltArgumentListForStylesheetParametersExtensionObjects.asp The build file task would look like this: style style=style.xsl in=in.xml out=out.xml extensionobjects extensionobject namespaceuri=urn:CustomParser type=XsltExtensions.CustomParser assembly=XsltExtensions.dll / /extensionobjects /style I believe this should be part of core NAnt rather than NAntContrib, as the style task already supports parameters via the internal use of an XsltArgumentList. Extension objects are the other major feature of argument lists, so incorporating them as well is a logical step. The use of extension objects in place of script blocks also addresses a known memory leak. See http://support.microsoft.com/kb/316775/ and http://support.microsoft.com/kb/325689/#6 for details. I've previously written code to to do this for the 0.84 code base and would be glad to update it for use with 0.85. Please let me know what you think. Sounds good Tim. I assume that the custom extension classes must have a null paramater constructor for your code to be able to instantiate them and pass them to XslStylesheet. I wrote somthing similar as part of another project. Please post the code and someone one will take a looks at it with a view to inclusion. Ian Tim --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Fwd: VB task not working
Gert Driesen wrote: -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Eric Fetzer Sent: woensdag 17 november 2004 17:39 To: Gert Driesen; 'NAnt Developers' Subject: RE: [nant-dev] Fwd: VB task not working Gert, Thanks, but I tried that. I already had the vb98 folder in the path, but added the actual vb6.exe in there also. Didn't change the results at all. Anyone using the vb6 task with nightly builds successfully? I added verbose=true to the vb6 task and here is my output: !--end D:\NAntContribDebugnant -f:TestBuild.build NAnt 0.85 (Build 0.85.1755.0; net-1.1.win32; dev; 10/21/2004) Copyright (C) 2001-2004 Gerry Shaw http://nant.sourceforge.net Buildfile: file:///D:/NAntContribDebug/TestBuild.build Target(s) specified: build [loadtasks] Scanning assembly NAnt.Contrib.Tasks for extensions. build: [vb6] Building project 'D:\NAntContribDebug\StringComp_Test\Project1.vbp'. [vb6] Output file 'D:\NAntContribDebug\Project1.exe' does not exist, recom piling. [vb6] Starting 'vb6 ( /make D:\NAntContribDebug\StringComp_Test\Project1. vbp /outdir D:\NAntContribDebug /out D:\NAntContribDebug\vbError.log)' in ' D:\NAntContribDebug' BUILD FAILED D:\NAntContribDebug\TestBuild.build(5,6): 'vb6' failed to start. The system cannot find the file specified Total time: 0.4 seconds. !---end snip-- Is he complaining that he can't find vb6.exe or some other file? It's complaining that it can't find vb6.exe. try running the generated command: vb6 /make D:\NAntContribDebug\StringComp_Test\Project1.vbp /outdir D:\NAntContribDebug /out D:\NAntContribDebug\vbError.log from a command shell and see what the results are. Ian --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Separating targets into individual files
Neil Cowburn wrote: I have a number of targets of various type (code compilers, file system management, custom scripts) and I'd like to separate them out into individual files and reference them from a master build file. I thought the include task would meet my requirements, but since it executes the targets in the included build file whenever the include task is touched, it does not. What I would like to be able to do is something like this: project name=... !-- Global Properties -- include buildfile=globals.build / !-- Scripted target collection -- include buildfile=scripts.build / target name=build !-- 'myFunkyLittleScriptTarget' is defined in scripts.build -- call target=myFunkyLittleScriptTarget / /target /project In the current model, all the targets in scrips.build would get called and the call task would try to invoke a target that is not defined. Has anyone any thoughts on how I can achieve my goal? thats certainly not the expected behaviour. The include task should only execute top level ( project level ) tasks and not execute any targets. Can you post a small repro demonstrating the all targets getting executed behaviour. Ian --Neil --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Rename NAnt.Zip ?
Gert Driesen wrote: Hi, Should we rename the NAnt.Zip(Tasks) namespace, assembly and directory name to NAnt.Compression (or if someone can come up with a better name ...), now that I've also added tar support ? sounds good to me. Ian Gert --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588alloc_id=12065op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588alloc_id=12065op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] filterchain copy issue
Gert Driesen wrote: Eric, Currently, filterchain will, by default, use UTF-8 encoding for both the input as the output. We might consider changes the default encoding to the system's current ANSI code page. That would also match the behavior of Ant. Ian, Roger: what do you think ? sounds reasonable. And you can always override using the encoding attribute on filterchain. Ian Gert - Original Message - From: Eric Fetzer [EMAIL PROTECTED] To: NAnt Developers [EMAIL PROTECTED] Sent: Friday, October 01, 2004 12:36 AM Subject: [nant-dev] filterchain copy issue I'm using filterchain to copy and replace a string in a NSIS install script. The problem is that filterchain seems to be putting special characters into the resultant file causing the resultant file to not be compilable. The error that the NSIS compiler gives with the resultant file (the copy from file compiles fine) is: -snip- Processing script file: D:\Build\InstallVersion2.nsi Invalid command: BGGradient Error in script D:\Build\Version2.nsi on line 1 -- aborting creation process -end snip- The line it is choking on is just: ;BGGradient The ; is the comment symbol. I've tried removing all of the comments, but that doesn't help anything. It finds a problem with every single line in the script. Any help? Thanks, Eric ___ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] I was wrong loadtasks
Gert Driesen wrote: Troy, Eventually, we might want to get rid of the binaries in the source distribution and use Makefile (linux) or batch file (windows) to build a bootstrap version of NAnt, that is then used to build the full version of NAnt. we'll still need the binaries for dependent libraries though so this might not be that useful. Although it would mean not having to update those bootstrap binries all the time. Oh and if we decide makefile then there is no reason not to use a nmake compatible makefile for windows. Ian If you have time to look into this that would be great... You should be able to find a bootstrap makefile in cvs (just look at earlier revisions of the Makefile in the root directory). Gert - Original Message - From: Troy Laurin [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Castro, Edwin Gabriel (Firing Systems Engr.) [EMAIL PROTECTED]; Eric Fetzer [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Friday, October 01, 2004 3:15 AM Subject: Re: [nant-dev] I was wrong loadtasks Gert Driesen wrote: - Original Message - From: Castro, Edwin Gabriel (Firing Systems Engr.) [EMAIL PROTECTED] Gert, you mentioned that we should not use the binaries in the bin directory of the src distribution. Could you explain why we get this error? I'm sure it's something trivial I haven't thought of... I'm just curious. The binaries that are included in the source distribution are only intended to be used to build a full version of NAnt. Is it worth renaming the bin folder to something like bootstrap? I guess that's not very standard. Perhaps a message in the header when running the bootstrap NAnt, to clearly indicate that you're not using the correct NAnt? Just a thought, -T --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] I was wrong loadtasks
Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Troy Laurin [EMAIL PROTECTED]; Castro, Edwin Gabriel (Firing Systems Engr.) [EMAIL PROTECTED]; Eric Fetzer [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Friday, October 01, 2004 8:43 AM Subject: Re: [nant-dev] I was wrong loadtasks Gert Driesen wrote: Troy, Eventually, we might want to get rid of the binaries in the source distribution and use Makefile (linux) or batch file (windows) to build a bootstrap version of NAnt, that is then used to build the full version of NAnt. we'll still need the binaries for dependent libraries though so this might not be that useful. Although it would mean not having to update those bootstrap binries all the time. Not sure, if I understand you correctly, but we'd only need the third party assemblies, no NAnt assemblies, right ? yep - thats what I meant. If there are no NAnt assemblies in the source distribution, then users cannot mistake then for being a full binary distribution, and we would indeed get rid of the need to update the binaries in cvs ... sounds good. Oh and if we decide makefile then there is no reason not to use a nmake compatible makefile for windows. Yeah, but I'm not sure if all users have nmake (is it installed as part of VS.NET, or ... ?), but those wanting to build NAnt from source will surely have I guess ... its part of the SDK also.: C:\Program Files\Microsoft.NET\SDK\v2.0\Bin\nmake.exe Ian --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] I was wrong loadtasks
Gert Driesen wrote: its part of the SDK also.: C:\Program Files\Microsoft.NET\SDK\v2.0\Bin\nmake.exe Ian, do you have time to look into this ? sure - I already have a working linux bootstrap makefile. It shouldn't take too long to setup. Ian --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] FxCop task future?
[EMAIL PROTECTED] wrote: Hi, Is anyone currently working on an FxCop task for NAnt? I'm thinking about giving it a go, but, don't want to duplicate efforts. hmm - it looks like somthing was writtin way back in August last year but it never ended up getting added for various reasons: http://www.mail-archive.com/[EMAIL PROTECTED]/msg01925.html Is there any historical reason as to why one doesn't exist yet? I guess no one has taken the time to work thru all the issues involved. Where's the best place to find feature requests for such a task? search the mailing list archives at: http://www.mail-archive.com/nant-users%40lists.sourceforge.net/ and http://www.mail-archive.com/nant-developers%40lists.sourceforge.net/ A quick scan turned up: http://www.mail-archive.com/[EMAIL PROTECTED]/msg00702.html and http://www.mail-archive.com/[EMAIL PROTECTED]/msg01925.html Ian Thanks again, Steve --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Ndoc Expection while loading a Managed dll
Gert Driesen wrote: Jeu, What version of NAnt are you using ? Are you using NAnt at all ? This part of the stack trace makes me doubt it: at NDoc.Core.Project.AddNamespacesFromAssembly(String assemblyFile) at NDoc.Core.Project.AddAssemblySlashDoc(AssemblySlashDoc assemblySlashDoc) at NDoc.Gui.MainForm.addButton_Click(Object sender, EventArgs e) perhaps you meant to post to the ndoc-devel list ? Ian Gert - Original Message - From: Jeu George [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Monday, September 20, 2004 3:01 AM Subject: Re: [nant-dev] Ndoc Expection while loading a Managed dll Yes, Is this a known issue.. is there a fix available On Sat, 18 Sep 2004 08:18:11 +0200, Gert Driesen [EMAIL PROTECTED] wrote: George, Does that assembly happen to be a .NET 2.0 assembly ? Gert - Original Message - From: Jeu George [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, September 16, 2004 3:05 AM Subject: [nant-dev] Ndoc Expection while loading a Managed dll I am trying to build CHM documentation for a managed asssembly using NDOC 1.3.1549.0 However When I add the dll, NDoc throws this error syaing the dll doesn't appear to be managed. In fact, it is a managed dll, and I am able to use this dll successfully in other places. Does anyone know what the issue is? Is there a avialable fix or workaround with this. Thanks, -Jeu Unable to load the file PAuto.App.dll PAuto.App.dll doesn't appear to be a managed assembly. Exception: System.BadImageFormatException The format of the file 'PAuto.App.dll' is invalid. Exception: System.BadImageFormatException at NDoc.Core.BaseDocumenter.LoadAssembly(String fileName) at NDoc.Core.Project.AddNamespacesFromAssembly(String assemblyFile) at NDoc.Core.Project.AddAssemblySlashDoc(AssemblySlashDoc assemblySlashDoc) at NDoc.Gui.MainForm.addButton_Click(Object sender, EventArgs e) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Property Scoping
Andy Sipe wrote: I'm in the process of implementing a parallel type task (similiar to the existing Ant task). I've pretty much got it working and was playing with it in our current build file. The first thing I found was that properties that are declared within a target are global in scope. Needless to say, this caused a lot of problems when targets began to run at the same time. I did a bit of snooping in the archives and found that at one point (http://www.mail-archive.com/[EMAIL PROTECTED]/msg03300.html) there was talk of having the ability to scope properties to a given target vs being global. Has this been implemented in any way? No - not yet. I think we had basically decided that there was no pressing need for scoped properties. Perhaps you've just found one. I was under the impression that Ant properties also have global scope but maybe this has changed recently. From Ant - the definitive guide: the other prominent property characteristic is that properties are always global in scope. If this is still true then I wonder how the parallel task in Ant works around it. Ian -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: install targets
Gert Driesen wrote: - To install NAnt, you should not use the install target of the makefile as that will first rebuild NAnt. The install target of the makefile (and NAnt) should only be used to install NAnt from source. Instead, a complete set of pre-built binaries should come with the rpm, and these should be installed, and a shell script should be created. At least that's my opinion ... Mine too. - I'm not sure if the rpm should contain both binaries and sources. Perhaps we might wanna consider two separate rpm's : one with only bin (and perhaps doc), and one with bin (only assemblies necessary to build NAnt), src, examples, doc. agreed. I think an rpm for binaries only and just a tarball/zip for source should be fine. - It would be great if we could use NAnt to generate the rpm (except for rpmbuild, which we could just run using exec), we should consider adding support for tars and gzip soon anyway (if I recall correctly, #ziplib supports both, no ?) ... But its not something we can do for the 0.85 release ... that should be easy enough - there isn't anything happening in that build.sh that couldn't be done in a .build file. - We should use filterchains to substitute hardcoded values in the spec file +1 - I don't think you should retrieve a version of NAnt from cvs to create the rpm. You should use a pre-built version of NAnt that is available locally. sure - because the contents of the bin directory in cvs aren't guarenteed to be the latest binaries. - Targets to create the rpm('s) should be added to the release.xml build file. and if its added to nightly.xml then we can have nightly built rpms - awesome ! Ian - Original Message - From: Clayton Harbour [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED]; Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Monday, August 23, 2004 5:04 PM Subject: RE: [nant-dev] Re: install targets Hi, I took a stab at creating an RPM for the NAnt install. This is my first attempt and I am hoping to get some feedback from those that know. Just a couple of notes: 1) there are some hard code paths in the NAnt.spec file 2) $RPM_TEST and $RPM_BASE are set in the build.sh file; these point to your working directory and RPM base directory. 3) I did most of my work on cygwin/ windows - some issues with line ends in the script - install target does not seem to work (requires mkdir?) There may be more issues, again this is a first attempt and I am mostly looking for feedback. Thanks, Clayton -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: Fri 8/20/2004 9:02 AM To: Gert Driesen Cc: Nant-Developers (E-Mail) Subject: Re: [nant-dev] Re: install targets Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Friday, August 20, 2004 11:44 AM Subject: Re: [nant-dev] Re: install targets The current layout is already confusing. How many I downloaded version x of nant but the test failed when building emails do we get - to which we reply you don't need to build - its already there. If there is no makefile or NAnt.build in the binary distribution then this won't happen. But we do include a shell script for installing NAnt (and creating a wrapper script on linux) in the binary distribution ? yes I think so. I mean we could get away with using a small install.build file. Yeah I know I know - I just said in a previous mail that build/makefiles aren't necessarily the best choice for installers but it would be easy to write and it would be X-platform. PS. Have you have looked into creating an RPM for NAnt ? No - If I get a chance I'd like to - or if someone out there with rpm building skills would like to volunteer - that would be great too. Ian --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: Add support for multiple filesets to the zip task.
Gert Driesen wrote: Ian, Having supprot for multiple fileset is definitely useful For example: if you want to reference assemblies from a single base directory, then you can use : references basedir=C:/Test/Dunno include name=AssemblyA.dll / include name=bin/AssemblyB.dll / include name=whatever/AssemblyC.dll / /references but if you want to reference assemblies from multiple base directories, then you're forced to use this : references include name=C:/Test/AssemblyA.dll / include name=C:/Test/bin/AssemblyB.dll / include name=C:/Test/whatever/AssemblyC.dll / include name=D:/Test/whatever/AssemblyD.dll / include name=D:/Test/whatever/AssemblyE.dll / /references Not only is this not as clean as having support for multiple filesets, it also causes problems for tasks that use the relative path to the base directory (like the zip task does to determine the directory within the zip file). sure - totally - in fact the the compiler tasks already support multiple resources filesets. I was just pointing out a way to work around the limitation with the zip task and current builds. Ian Ant supports this in various (all tasks that use filesets ?) tasks. Gert - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Felice Vittoria [EMAIL PROTECTED]; Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Saturday, August 21, 2004 4:16 AM Subject: Re: [nant-dev] Re: Add support for multiple filesets to the zip task. You can always just use multiple invocations of the zip task Ian Gert Driesen wrote: Hi Felice, I think we should actually tackle this in general : I'm pretty sure there are more tasks where support for multiple filesets could be useful. However, this should be done post 0.85 ... Gert - Original Message - From: Felice Vittoria [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Sent: Friday, August 20, 2004 9:57 PM Subject: Add support for multiple filesets to the zip task. Gert, I was wondering what the status of Add support for multiple filesets to the zip task is. I noticed in the Release Plan that it's pending. If it's not going in Nant 0.85 will it be going in a future release? Thanks, Felice --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Re: [Nant-users] Params vs properties redux was: Nant .85 not working with Draco.Net
Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Nant-Developers (E-Mail) [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Saturday, August 21, 2004 4:42 AM Subject: [Nant-users] Params vs properties redux was: Nant .85 not working with Draco.Net This seems to be causing a lot of grief. I'm really leaning towards having a list of param elements at the project level and allowing those and only those values to be passed on the commandline. I'm not sure how feasible that would be with the way we pass properties to nested builds but I think it would simplfy things a lot and add extra benefits. For example: project name=foo param name=param1 default=somevalue description=my first commandline param / Ian, I like the idea in general, but I'm not sure if the default value for these properties is always known at design time, so users would have to resort to the overwrite attribute anyway ... sorry - you've lost me. A default doesn't have to be specified - the default attribute wouldn't be required. Why would users have to resort to the overwrite attribute ? In the future, I'm pretty sure we'll need to allow user input for specifying property values (like Ant) : when a certain property is not specified on the command line, the build author might want to have the user asked to input the value ... so ? how is this an issue ? Its great that we can use the description (and property name) in the project help, and we could even add a required attribute to specify whether a given property needs to be specified on the command line yep - that would be useful. But as I said, I'm not sure the default attribute is all that useful, as its too static : when you need to execute other tasks/targets to determine the default value, the default attribute won't be of much use I understand the problem you're trying to tackle with this, but I'm not sure it will help users all that much ... sorry - you've lost me again. I would see the param as inheriting from property and stored as a property - just readonly. the default just sets the value if one wasn't passed on the commandline - how is this too static ? Its no different from ueing property - its just more explicit -- ie its clear that params would be readonly whereas currently its not so clear that a property you specifiy in the buildfile 'becomes' readonly when you pass it via the commandline. We would also need to think about how to deal with this for nested builds and included build files ... sure. Ian --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: install targets
Gert Driesen wrote: Ian, After giving it some more thought, I think the install target of the makefile should install the pre-built binaries and docs for official NAnt distributions, not and rebuild the binaries from source. We went to a lot of trouble in order to have a single binary distribution, and I'd hate to see all that effort go to waste. I disagree - this goes against how every other open source project packages their distribution. As I said before - its a source distribution that happens to include pre built binaries *not* a binary distribution. I actually consider it to be a binary distribution that happens to include the source ;-) thats the problem - right now we are a bit of both - thats what we need to change. I just don't understand why I went through all the trouble to allow us to have a single binary distribution that can still take advantage of framework-specific assemblies, if we instruct users to build a framework specific version of NAnt. we don't instruct them to do this -- that the point - we don't instruct them to do anything but quite often they *do* build it because there is a buildfile/make file and we never really provided proper installation instructions. Quite a while ago, we did agree that we should have a single binary distribution that would work on all supported CLR's out-of-the-box, right ? And now that we have it, we'd go back to having a framework-specific binary install (with only very limited docs on linux) ... not sure I understand the reason behind this ... no - completely incorrect. The install target is *not* a substitute for a binary installer. Its a convenience for when you build from source. Its not meant to used as the installer for an end user. What we should have (in my opinion) is : - a source only distribution (containing only the binaries necessary to build NAnt) - a full binary distribution which would work on all supported CLR's and platforms (this would be offered as a zip file or tar) - an RPM release for linux - an installer release for Windows These last two would also install a full binary distribution ofcourse ... I totally agree. I thought thats what I basically proposed. Also, the install targets in the NAnt build file should no longer depend on other build/doc targets (but they should just install whatever files are available in ${build.dir} (limited to bin, doc and examples directories). The dependency on other NAnt build target should be taken care of in the makefile. why is that ? sure you'd want to install somthing thats built -- isn't that the point ? if you do a make install with most OSS projects it will build first if its not up to date. Yes, for source distributions that is But users cannot always build a version of NAnt that is identical to what we want distribute, while they still expect it to be ... sure - again we are cross purposes -- Makefile is for building from source, somthing else for a binary distribution. For example : Let's say we have an assembly that is Mono-specific. If we encourage users to build NAnt from source, then users that don't have Mono installed will not be able to build the Mono-specific assembly. However, when they install Mono three later they would have been able to use the Mono-specific tasks however these are not available (without rebuilding) I'm not saying that we can't have users building from source, ofcourse they can ... but we should not instruct them to do so yes yes yes - I'm not saying we should instruct them to either -- hence the seperate source and binary distributions. The buildfile/make file should *not* be the installer for the binary only distribution. Why should the dependency happen in the makefile ? Lets use NAnt for this - its a build tool and it handle dependencies fine. The reason why I wanted this is to allow the install targets to be used from either the makefiles (to install either a freshly built NAnt or the pre-built binaries) or the nightly build once again - the makefile should not be the installer for pre-built binaries IMHO. my proposal - 2 download packages: 1) binaries only with a simple shell script to install on linux, batch file for windows -- hopefully installer at some stage. 2) source package that mirrors the cvs tree. Use Make install to build install on *nix, bin\NAnt.exe install to build install on windows. This is a fairly standard packaging practice It is because most oss project are not able to provide a single binary distribution that works on all supported platforms ... thats not true - its the standard for source based distributions - which is what the install targets are for - a source based distro. The binary distro should be seperate. - getting clever with multiple Makefiles seems like a recipe for confision. What's difference between multiple makefiles (one for cvs/source distribution and one for binary distribution), and one makefile and one
Re: [nant-dev] Re: install targets
Gert Driesen wrote: Ian, I guess these was somehow a misunderstanding, but in the README.TXT you actually added a section called Compliation and installation in which you provide these instructions .. sure - then that should probably be Compliation and installation of a source distribution with a seperate Installation of a binary distribution section or we provide seperate README's for source and binary. Previously there were *no* instructions at all for building - thats why I added them. . These could easily be mistaken for instructions to install official releases ... Well - it quite clearly says compilation - if the official binary release doesn't contain source or a NAnt.build file (which it shouldn't) then users can hardly compile by accident can they ? Currently, we only provide one means of installing NAnt (meaning using make install from the source distribution), so users are very likely to use that to install official distributions too (meaning they'll download and install the source distribution, while they should in fact use the binary distribution) ... ok - well then lets split into source and binary distros as soon as possible. The current layout is already confusing. How many I downloaded version x of nant but the test failed when building emails do we get - to which we reply you don't need to build - its already there. If there is no makefile or NAnt.build in the binary distribution then this won't happen. So we should make it very cler that this is not the recommended way to install official releases of NAnt ... of course. Ian Gert - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Friday, August 20, 2004 10:51 AM Subject: Re: [nant-dev] Re: install targets Gert Driesen wrote: Ian, After giving it some more thought, I think the install target of the makefile should install the pre-built binaries and docs for official NAnt distributions, not and rebuild the binaries from source. We went to a lot of trouble in order to have a single binary distribution, and I'd hate to see all that effort go to waste. I disagree - this goes against how every other open source project packages their distribution. As I said before - its a source distribution that happens to include pre built binaries *not* a binary distribution. I actually consider it to be a binary distribution that happens to include the source ;-) thats the problem - right now we are a bit of both - thats what we need to change. I just don't understand why I went through all the trouble to allow us to have a single binary distribution that can still take advantage of framework-specific assemblies, if we instruct users to build a framework specific version of NAnt. we don't instruct them to do this -- that the point - we don't instruct them to do anything but quite often they *do* build it because there is a buildfile/make file and we never really provided proper installation instructions. Quite a while ago, we did agree that we should have a single binary distribution that would work on all supported CLR's out-of-the-box, right ? And now that we have it, we'd go back to having a framework-specific binary install (with only very limited docs on linux) ... not sure I understand the reason behind this ... no - completely incorrect. The install target is *not* a substitute for a binary installer. Its a convenience for when you build from source. Its not meant to used as the installer for an end user. What we should have (in my opinion) is : - a source only distribution (containing only the binaries necessary to build NAnt) - a full binary distribution which would work on all supported CLR's and platforms (this would be offered as a zip file or tar) - an RPM release for linux - an installer release for Windows These last two would also install a full binary distribution ofcourse ... I totally agree. I thought thats what I basically proposed. Also, the install targets in the NAnt build file should no longer depend on other build/doc targets (but they should just install whatever files are available in ${build.dir} (limited to bin, doc and examples directories). The dependency on other NAnt build target should be taken care of in the makefile. why is that ? sure you'd want to install somthing thats built -- isn't that the point ? if you do a make install with most OSS projects it will build first if its not up to date. Yes, for source distributions that is But users cannot always build a version of NAnt that is identical to what we want distribute, while they still expect it to be ... sure - again we are cross purposes -- Makefile is for building from source, somthing else for a binary distribution. For example : Let's say we have an assembly that is Mono-specific. If we encourage users to build NAnt from source, then users that don't have Mono installed
Re: [nant-dev] Re: Add support for multiple filesets to the zip task.
You can always just use multiple invocations of the zip task Ian Gert Driesen wrote: Hi Felice, I think we should actually tackle this in general : I'm pretty sure there are more tasks where support for multiple filesets could be useful. However, this should be done post 0.85 ... Gert - Original Message - From: Felice Vittoria [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Sent: Friday, August 20, 2004 9:57 PM Subject: Add support for multiple filesets to the zip task. Gert, I was wondering what the status of Add support for multiple filesets to the zip task is. I noticed in the Release Plan that it's pending. If it's not going in Nant 0.85 will it be going in a future release? Thanks, Felice --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Params vs properties redux was: Nant .85 not working with Draco.Net
This seems to be causing a lot of grief. I'm really leaning towards having a list of param elements at the project level and allowing those and only those values to be passed on the commandline. I'm not sure how feasible that would be with the way we pass properties to nested builds but I think it would simplfy things a lot and add extra benefits. For example: project name=foo param name=param1 default=somevalue description=my first commandline param / ... params would be the equivalent of c#'s args[] array thats passed to main and similarly would be readonly. Because they are seperate from properties its clear that they have pass by value semantics. The default attribute allows you to use a default if a value isn't passed on the commandline without haveing to do the non-intuitive overwrite=false mojo that is required now - similar to languages that allow default values for function paramaters. The description would be output when you do a nant -projecthelp further documenting the build file. If you want a writable value based on a param you would set a new property - the same as you would in c# code with pass by value method arguments. Similarly it probably makes sense to have params and properties in the same namespace so you coulndn't create a property with the same name as an existing param. Ian Merrill Cornish wrote: Unfortunately, the property task's overwrite attribute can't overwrite a readonly property--according to the documentation. So, if you are passing a command line argument into the NAnt 0.85 script and you want to munge that value internally, then you will have to create a second property initialized to the command line property value, then munger this second property. Of course, if the command line argument wasn't specified, then you can detect that in the NAnt script with not property::exists('propertyName') then set propertyName to its default value. Merrill --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ 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 --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] [Fwd: [Mono-list] nant-0.85-20040817.zip won't build, 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete]
Original Message Subject: [Mono-list] nant-0.85-20040817.zip won't build, 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete Date: Wed, 18 Aug 2004 15:13:06 -0700 From: Adam Monsen [EMAIL PROTECTED] Reply-To: Adam Monsen [EMAIL PROTECTED] To: [EMAIL PROTECTED] I'm using mono on Fedora Core 2, RPMs from http://www.go-mono.com/archive/1.0.1/fedora-2-i386/. I'm unable to install nunut. Someone on irc.gnome.org#mono suggested a CVS snapshot, so I'm trying to build nant-0.85-20040817.zip (downloaded from http://nant.sf.net/builds/). Here is the error I get: [...] /home/adamm/bin/Nant/src/NAnt.NUnit/NUnit1/NUnitTask.cs(142) error CS0618: 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete: 'In a future release, this task will be moved to NAntContrib. However, we strongly advise you to upgrade to NUnit 2.x.' [...] More details attached. Any ideas? -- Adam Monsen [EMAIL PROTECTED] http://adammonsen.com/ -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com [nant] /home/adamm/bin/Nant/src/NAnt.NUnit/NAnt.NUnit.build build Buildfile: file:///home/adamm/bin/Nant/src/NAnt.NUnit/NAnt.NUnit.build Target(s) specified: build build: GC Warning: Finalization cycle involving 844b7b8 GC Warning: Finalization cycle involving 844b980 GC Warning: Finalization cycle involving 844b850 GC Warning: Finalization cycle involving 844bb48 GC Warning: Finalization cycle involving 844bbe0 GC Warning: Finalization cycle involving 844ba18 GC Warning: Finalization cycle involving 844bab0 GC Warning: Finalization cycle involving 844bd10 GC Warning: Finalization cycle involving 844bda8 GC Warning: Finalization cycle involving 85f5b48 GC Warning: Finalization cycle involving 844be40 GC Warning: Finalization cycle involving 844bed8 [csc] Compiling 14 files to '/home/adamm/bin/Nant/build/mono-1.0.unix/nant-0.85-debug/bin/NAnt.NUnit1Tasks.dll'. [csc] /home/adamm/bin/Nant/src/NAnt.NUnit/NUnit1/NUnitTask.cs(142) error CS0618: 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete: 'In a future release, this task will be moved to NAntContrib. However, we strongly advise you to upgrade to NUnit 2.x.' [csc] /home/adamm/bin/Nant/src/NAnt.NUnit/NUnit1/NUnitTask.cs(170) error CS0618: 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete: 'In a future release, this task will be moved to NAntContrib. However, we strongly advise you to upgrade to NUnit 2.x.' [csc] /home/adamm/bin/Nant/src/NAnt.NUnit/NUnit1/NUnitTask.cs(175) error CS0618: 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete: 'In a future release, this task will be moved to NAntContrib. However, we strongly advise you to upgrade to NUnit 2.x.' [csc] /home/adamm/bin/Nant/src/NAnt.NUnit/NUnit1/NUnitTask.cs(177) error CS0618: 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete: 'In a future release, this task will be moved to NAntContrib. However, we strongly advise you to upgrade to NUnit 2.x.' [csc] Compilation failed: 4 error(s), 0 warnings BUILD FAILED /home/adamm/bin/Nant/src/NAnt.NUnit/NAnt.NUnit.build(22,9): External Program Failed: /usr/lib/mono/1.0/mcs.exe (return code was 1) Total time: 9.2 seconds. BUILD FAILED Nested build failed. Refer to build log for exact reason. Total time: 28.3 seconds. GC Warning: Finalization cycle involving 844b7b8 GC Warning: Finalization cycle involving 844b980 GC Warning: Finalization cycle involving 844b850 GC Warning: Finalization cycle involving 844bb48 GC Warning: Finalization cycle involving 844bbe0 GC Warning: Finalization cycle involving 844ba18 GC Warning: Finalization cycle involving 844bab0 GC Warning: Finalization cycle involving 844bd10 GC Warning: Finalization cycle involving 844bda8 GC Warning: Finalization cycle involving 85f5b48 GC Warning: Finalization cycle involving 844be40 GC Warning: Finalization cycle involving 844bed8 make[1]: *** [linux-nant] Error 1 make[1]: Leaving directory `/home/adamm/bin/Nant' make: *** [all] Error 2
Re: [nant-dev] nant-0.85-20040817.zip won't build, 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete]
Hi Adam, You can work around this by adding the following line to src\NAnt.NUnit\NAnt.NUnit.build at around line 24 under the nowarn element: warning number=0618 / Apologies for the hassle. This fix is in cvs now. Ian Original Message Subject: [Mono-list] nant-0.85-20040817.zip won't build, 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete Date: Wed, 18 Aug 2004 15:13:06 -0700 From: Adam Monsen [EMAIL PROTECTED] Reply-To: Adam Monsen [EMAIL PROTECTED] To: [EMAIL PROTECTED] I'm using mono on Fedora Core 2, RPMs from http://www.go-mono.com/archive/1.0.1/fedora-2-i386/. I'm unable to install nunut. Someone on irc.gnome.org#mono suggested a CVS snapshot, so I'm trying to build nant-0.85-20040817.zip (downloaded from http://nant.sf.net/builds/). Here is the error I get: [...] /home/adamm/bin/Nant/src/NAnt.NUnit/NUnit1/NUnitTask.cs(142) error CS0618: 'NAnt.NUnit1.Tasks.NUnitTask' is obsolete: 'In a future release, this task will be moved to NAntContrib. However, we strongly advise you to upgrade to NUnit 2.x.' [...] More details attached. Any ideas? -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Console logging output
Recent changes to the console logger mean that there is a task name prefix emitted for every line of output related to that task. So: [csc] Compiling 298 files to 'H:\svn\boo\build\Boo.Lang.Compiler.dll'. Boo.AntlrParser: [csc] Compiling 11 files to 'H:\svn\boo\build\Boo.AntlrParser.dll'. [csc] h:\svn\boo\src\Boo.AntlrParser\BooLexer.cs(299,11): warning CS0219: The variable '_token' is assigned but its value is never used [csc] h:\svn\boo\src\Boo.AntlrParser\BooLexer.cs(1887,4): warning CS0162: Unreachable code detected [csc] h:\svn\boo\src\Boo.AntlrParser\BooExpressionLexer.cs(250,11): warning CS0219: The variable '_token' is assigned but it value is never used [csc] h:\svn\boo\src\Boo.AntlrParser\BooExpressionLexer.cs(1213,4): warning CS0162: Unreachable code detected instead of : [csc] Compiling 298 files to 'H:\svn\boo\build\Boo.Lang.Compiler.dll'. Boo.AntlrParser: [csc] Compiling 11 files to 'H:\svn\boo\build\Boo.AntlrParser.dll'. h:\svn\boo\src\Boo.AntlrParser\BooLexer.cs(299,11): warning CS0219: The variable '_token' is assigned but its value is never used h:\svn\boo\src\Boo.AntlrParser\BooLexer.cs(1887,4): warning CS0162: Unreachable code detected h:\svn\boo\src\Boo.AntlrParser\BooExpressionLexer.cs(250,11): warning CS0219: The variable '_token' is assigned but it value is never used h:\svn\boo\src\Boo.AntlrParser\BooExpressionLexer.cs(1213,4): warning CS0162: Unreachable code detected I personally find the older behaviour clearer as you can see that each [csc] represents a single invocation of the [csc] task whereas now its difficult to determine how many time the task has been used. The fact that the additional lines of output are part of the same [csc] usage is made clear by the indenting. Wrapping of long lines makes this even worse as you get some lines starting with [csc] and some not. Thoughts ? Ian -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] [ nant-Bugs-968278 ] Output redirection of exec
Troy Laurin wrote: I'm not confident writing tests for this for any platform other than Win32, however - basically I don't know what standard commands might be available that emit a known text to stderr, and don't have access to a machine to run the tests. you could write a small c# commandline app that writes to stderr and use that to call from exec. Why not just post the test code when you have it and those of us running non-win32 platforms can test it there. Ian Comment By: Gert Driesen (drieseng) Date: 2004-08-02 19:09 Message: Logged In: YES user_id=707851 I guess we should actually allow separate files for standard and error output. Please submit a feature request or a patch for this. I'm closing this bug now as I'm not able to reproduce this issue. Disclaimer Message: This message contains confidential information and is intended only for the individual(s) named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please immediately delete it and all copies of it from your system, destroy any hard copies of it, and notify the sender. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. To the maximum extent permitted by law, Immersive Technologies Pty. Ltd. does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. --- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] [ nant-Bugs-968278 ] Output redirection of exec
Troy Laurin wrote: you could write a small c# commandline app that writes to stderr and use that to call from exec. Why not just post the test code when you have it and those of us running non-win32 platforms can test it there. Ian Ideally I want an application that is guaranteed to be available that has stable output, so a stable test could be added to the ExecTaskTest fixture. I guess the most robust/generic way to do this would be to use a small purpose-build C# application as you suggest, but is there a way to ensure this application would be generated prior to running these tests, and cleaned up afterwards? either; - build it during the regular nant build process and just call it form the test or - build it during the 'setup' phase of the test and delete it during 'teardown' Ian --- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] ReplaceStringTest tests failing
This is currently breaking the build. Roger, Gert - any ideas ? [exec][nunit2] Failures: [exec][nunit2] 1) Tests.NAnt.Core.Filters.ReplaceStringTest.InstantiationTest : Tests.NAnt.Core.TestBuildExce tion : Error Executing Project [exec][nunit2] NAnt.Core.BuildException : C:\DOCUME~1\ian\LOCALS~1\Temp\Tests.NAnt.Core.Filters.Repla eStringTest\test.build(5,35): [exec][nunit2] 'from' is a required attribute of replacestring ... /. [exec][nunit2]at Tests.NAnt.Core.BuildTestBase.ExecuteProject(Project p) in h:\cvs\nant\tests\NAnt.Core\B ildTestBase.cs:line 155 [exec][nunit2]at Tests.NAnt.Core.BuildTestBase.RunBuild(String xml, Level level) in h:\cvs\nant\tests\NAn .Core\BuildTestBase.cs:line 112 [exec][nunit2]at Tests.NAnt.Core.BuildTestBase.RunBuild(String xml) in h:\cvs\nant\tests\NAnt.Core\BuildT stBase.cs:line 85 [exec][nunit2]at Tests.NAnt.Core.Filters.FilterTestBase.FilterTest(String filterXml, String input, String expectedOutput, String prologueXml) in h:\cvs\nant\tests\NAnt.Core\Filters\FilterTestBase.cs:line 48 [exec][nunit2]at Tests.NAnt.Core.Filters.FilterTestBase.FilterTest(String filterXml, String input, String expectedOutput) in h:\cvs\nant\tests\NAnt.Core\Filters\FilterTestBase.cs:line 43 [exec][nunit2]at Tests.NAnt.Core.Filters.ReplaceStringTest.InstantiationTest() in h:\cvs\nant\tests\NAnt. ore\Filters\ReplaceStringTest.cs:line 36 [exec][nunit2] --TestBuildException [exec][nunit2]at NAnt.Core.AttributeConfigurator.InitializeAttribute(PropertyInfo propertyInfo) in h:\cvs nant\src\NAnt.Core\Element.cs:line 699 [exec][nunit2]at NAnt.Core.AttributeConfigurator.Initialize() in h:\cvs\nant\src\NAnt.Core\Element.cs:lin 553 [exec][nunit2]at NAnt.Core.Element.InitializeXml(XmlNode elementNode, PropertyDictionary properties, Fram workInfo framework) in h:\cvs\nant\src\NAnt.Core\Element.cs:line 287 [exec][nunit2]at NAnt.Core.Element.Initialize(XmlNode elementNode, PropertyDictionary properties, Framewo kInfo framework) in h:\cvs\nant\src\NAnt.Core\Element.cs:line 269 [exec][nunit2]at NAnt.Core.Element.Initialize(XmlNode elementNode) in h:\cvs\nant\src\NAnt.Core\Element.c :line 192 [exec][nunit2]at NAnt.Core.TypeFactory.CreateFilter(XmlNode elementNode, Element parent) in h:\cvs\nant\s c\NAnt.Core\TypeFactory.cs:line 474 [exec][nunit2]at NAnt.Core.Filters.FilterChainConfigurator.InitializeBuildElementCollection(PropertyInfo ropertyInfo) in h:\cvs\nant\src\NAnt.Core\Filters\Support\FilterChain.cs:line 246 [exec][nunit2]at NAnt.Core.AttributeConfigurator.Initialize() in h:\cvs\nant\src\NAnt.Core\Element.cs:lin 557 ... ... --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ResourceFileSet
Gert Driesen wrote: I think we need to add a resource child element that would allow the manifest resource name of a given resources file to be explicitly set. I agree. As you say below, having to copy files to specify an explicit name isn't ideal. We actually need this ourselves in several places : - al : right now, we're forced to pass embedded resources from CompilerBase to the al task as command line arguments - NAntContrib : just found a major issue with the msi task / schema validated tasks, to fix it I have to embed the msi xsd file directly into the assembly, but in order to match the manifest resource name that the schema validator expects I actually have to copy the xsd to give it a file name that matches the manifest resource name, which is kinda of a hack. not just kinda :) It is a hack. Would be better if the resourcefileset type allowed explicitly manifest resource names to be set for a given resource. Sure - do you have a design to do this ? The fundamental problem is that to add explicit manifest names you need to be able to provide a name for each file in the set. This obviously conflicts with how filesets work - ie you can't use explicit names with wildcard include patterns. Perhaps one way to get around this is to define a fileset type with an additional child element that takes a filename and its matching resource name so somthing like: newresourcefilesetwithexplicitnames include name=*.resx/ exclude name= / resource file=foo.bar name=foobar / /newresourcefilesetwithexplicitnames obviously I'm joking about the element name. Now, I'm not quite finished with the details of the implementation : Which implementation ? From the questions you've asked it doesn't sound like you've made enough design decisions to create an implementation :) - should we extend ResourceFileSet ? Not sure about this, as it doesn't always make sense to have manifest resource names : ResourceFileSet is also used for the resgen task, which does not involve manifest resource names. So, we might actually need a different type for the resgen and the compiler tasks. well we could extend ResourceFileSet with the change I outlined above. Resgen would just ignore the new element type. - al currently uses a normal fileset, it does not try to automatically determine manifest resource names for the resources it embeds. So for al we'd need a new type (which derives from FileSet) that also supports the nested resource element. Right ? sure - it should have the same resource compilation functionality as the compiler tasks. Why would we need a new type for al ? wouldn't it use the same type as the compiler tasks ? - should we extend any fileset at all ? Should this perhaps be a completely separate collection of elements ? Not sure I like this... it would certainly make things simpler development wise. 2 elements for resource management. resources and namedresources like csc ... resources include name=*.resx/ /resources namedresources resource file=foo.bar name=foobar / /namedresources /csc namedresources wouldn't need to be a fileset since wildcards don't make sense. Sure it would be nicer/cleaner to keep all resource stuff in a single element, however the fundamental disconnect between the goals of filesets ( ie wildcards ) and the need to have an explicit name for each file means that it will be difficult to do in a way that doesn't look a bit odd. It also means we wouldn't need to burden the current ResourceFileset with detail that isn't required wherever its used. - should the file be resolved to a full path using the base directory of the containing fileset (or resourcefileset, or whatever) ? Guess so, right ? sure - that makes it consistent with the filesets we have now. - do we automatically compile the file if its a resx/licx file ? Don't think we should do this ... I don't think so. Filesets should, generally speaking be containers rather than classes that take explicit action using the contents of those containers. We do some clever auto-resolution of paths in fileset code but I think thats of a different order to having the fileset perform the compilation. I think its best to keep compilation in the resgen, licx tasks. So I guess I'm leaning to the 2nd option - new non-fileset element to hold the explicitly named resources. Whats your opinion ? Does my description of the problem above match your understanding ? Ian --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Re: [Nant-users] 0.85 release candidate by August 4th
Malcolm MacLucas wrote: I'm in the process of setting up a machine just for (currently) NAnt testing, so I'll see what I can do, but I'm more interested in using my time to support a August 4 release, or at least candidate release for Nant 0.85 Currently I'm trying to get a copy of the 7-23 NAnt Build to install on my brand new, freshly ghosted machine. I've installed the 1.1 sdk I've installed the 7-23 build in the \program files\NAnt directory I've set my path to include the NAnt\bin directory My build *was* successfull. (436 Seconds) Now I'm not sure if I should install the NAntContrib 7-23, or the NAntContrib 0.84 on my machine. But I need the solution task, so it's going to be one of them. the solution task is part of nant core not NAntContrib. I'm also a little un-clear as to recommended uninstall procedures in the case of needing to put a different build in. I've got some concerns about the NAntContrib being unzipped right into the NAnt directory, it overwrites some of the help files, and I've been too busy (lazy?) to notice what else. are you unzipping the source into the nant directory or just the built binaries ? Ian Thanks Malcolm --- Gert Driesen [EMAIL PROTECTED] wrote: - Original Message - From: Malcolm MacLucas [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Sent: Friday, July 23, 2004 1:19 AM Subject: Re: [Nant-users] VS.Net 2003, solution excludeprojects does not do anything. How do I do that? Create a new solution, and new project(s) and create a small build file for it, and make sure that you can reproduce this issue with these files. Then create a zip file containing these files, and send it to me. Gert = Oh Bother! said the Borg, We just assimilated Pooh. __ Do you Yahoo!? Yahoo! Mail - 50x more storage than other providers! http://promotions.yahoo.com/new_mail --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ 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 BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Re: [Nant-users] 0.85 release candidate by August 4th
Malcolm MacLucas wrote: Ok first, I a mistake in my original post, there is no 7-23 build of nant, there is a 7-22 build, that's the one I used. I used the 7-23 build of NAnt Contrib. I installed it into the previously mentioned program files\nant directory and the I ran the NantContrib.build nant -buildfile:NAntContrib.build It seemed to blow up on the first test. Here's my error Build Failed C:\Program Files\NAnt\NAntContrib.build(35,14): Please pass the folder containing the NAnt build on the commandline as a property (-D:nant.dir=???). So I sent this command nant -buildfile:NAntContrib.build -D:nant.dir=bin This time I got further Build Failed C:\Program Files\NAnt\NAntContrib.build(100,10): External Program Failed: C:\WINNT\Microsoft.NET\Framework\v1.1.4322\csc.exe (return code was 1) I'm not sure what I need to do with this, my path has the NAnt Bin directory in it, so I'm not sure what I need to do about the first problem. you want to use a command somthing like this: nant -D:nant.dir=H:\cvs\nant\build\net-1.1.win32\nant-0.85-debug -f:NAntContrib.build where nant.dir is the path to where you've freshly built nant. THis is documented in the readme.txt file in the base of the NAntContrib source tree. I should probably be passing this to the NAnt Contrib list shouldn't I? nant-dev is ok too but please don't post to all 3 lists at once. Ian --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ResourceFileSet
First off sorry for top-posting but this thread is getting too long to reply inline. I agree that having a profusion of resource related elements isn't a good thing so lets go with the augmented fileset rather than a dedicated namedresources element. Now just to be clear on what we are going to need in terms of fileset types: an augmented resourcefileset that supports explicit names ( will be used by compiler tasks ) a new type extending fileset that supports explicit names ( will be used by the al task ) resgen will change to using a regular fileset instead of a ResourceFileSet. Incidentally why does it use ResourceFileSet now ? Is it just for easier assignment from the compiler tasks ? is that an accurate summation ? Ian - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Friday, July 23, 2004 5:46 PM Subject: Re: [nant-dev] ResourceFileSet Gert Driesen wrote: I think we need to add a resource child element that would allow the manifest resource name of a given resources file to be explicitly set. I agree. As you say below, having to copy files to specify an explicit name isn't ideal. We actually need this ourselves in several places : - al : right now, we're forced to pass embedded resources from CompilerBase to the al task as command line arguments - NAntContrib : just found a major issue with the msi task / schema validated tasks, to fix it I have to embed the msi xsd file directly into the assembly, but in order to match the manifest resource name that the schema validator expects I actually have to copy the xsd to give it a file name that matches the manifest resource name, which is kinda of a hack. not just kinda :) It is a hack. Would be better if the resourcefileset type allowed explicitly manifest resource names to be set for a given resource. Sure - do you have a design to do this ? The fundamental problem is that to add explicit manifest names you need to be able to provide a name for each file in the set. This obviously conflicts with how filesets work - ie you can't use explicit names with wildcard include patterns. Perhaps one way to get around this is to define a fileset type with an additional child element that takes a filename and its matching resource name so somthing like: newresourcefilesetwithexplicitnames include name=*.resx/ exclude name= / resource file=foo.bar name=foobar / /newresourcefilesetwithexplicitnames This matches what I had in mind ... obviously I'm joking about the element name. I kinda liked the name though, seems like the best name we've come up with so far ;-) lol Now, I'm not quite finished with the details of the implementation : Which implementation ? From the questions you've asked it doesn't sound like you've made enough design decisions to create an implementation :) yeah, I ment the design ofcourse ... - should we extend ResourceFileSet ? Not sure about this, as it doesn't always make sense to have manifest resource names : ResourceFileSet is also used for the resgen task, which does not involve manifest resource names. So, we might actually need a different type for the resgen and the compiler tasks. well we could extend ResourceFileSet with the change I outlined above. Resgen would just ignore the new element type. Not sure I like that, could be confusing for users ... Resgen really just needs a plain old fileset, it doesn't need the resourcefileset at all ... - al currently uses a normal fileset, it does not try to automatically determine manifest resource names for the resources it embeds. So for al we'd need a new type (which derives from FileSet) that also supports the nested resource element. Right ? sure - it should have the same resource compilation functionality as the compiler tasks. Why would we need a new type for al ? wouldn't it use the same type as the compiler tasks ? al doesn't need resource compilation support, and it can't really support it anyway as it has no notion of which compiler (naming scheme) you want. al doesn't need to know anything about resx or non-resx files. It just embeds files as is ... So we dont' need a resourcefileset for al (it currently uses a normal fileset for the resources, which is correct), but we do need to be able to specify explicit names for files that need to be embedded (or linked, but we don't support this yet). - should we extend any fileset at all ? Should this perhaps be a completely separate collection of elements ? Not sure I like this... it would certainly make things simpler development wise. Not sure about this. Don't even think much development will be involved at all ... 2 elements for resource management. resources and namedresources like csc ... resources include name=*.resx/ /resources namedresources
Re: [nant-dev] NANT bugs in project.cs
I encourage you to grab the current cvs tree before sending patches. There have been substantial changes since the 0.84 release. http://sourceforge.net/cvs/?group_id=31650 thanks, Ian Steve Burkett wrote: Couple of bugs in NANT NAnt 0.84 (Build 0.84.1455.0; net-1.0.win32; release; 12/26/2003). (1) line 221 of project.cs. When you have a project File that has no DependentUpon (like a xml resource), this line caused an internal error. I fixed it with the blue code below. FileInfo fi = new FileInfo(outputFile); if (buildAction == Compile) { _htFiles[fi.FullName] = null; } else if (buildAction == EmbeddedResource) { Resource r = new Resource(this, fi.FullName, elemFile.Attributes[RelPath].Value, (elemFile.Attributes[DependentUpon]!= null) ? fi.DirectoryName + @\ + elemFile.Attributes[DependentUpon].Value : null, SolutionTask); _htResources[r.InputFile] = r; } (2) line 158 of project.cs. Not sure how to fix this yet, but wanted to let you know about it. For a webservice project, the red line below fetches the solution's file name. Later, when the project direction is combined with the project reference's HintPath, it creates an invalid location for the reference. This is causing my solution task to fail. if (!_isWebProject) { _projectDirectory = new FileInfo(projectPath).DirectoryName; } else { string projectDirectory = projectPath.Replace(:, _); projectDirectory = projectDirectory.Replace(/, _); projectDirectory = projectDirectory.Replace(\\, _); projectDirectory = Path.Combine(_projectSettings.TemporaryFiles.BasePath, projectDirectory); Directory.CreateDirectory(projectDirectory); webCacheDirectory = projectDirectory; _webProjectBaseUrl = projectPath.Substring(0, projectPath.LastIndexOf(/)); _projectDirectory = Path.GetDirectoryName(sln.FileName); } -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [Nant-users] Re: [nant-dev] Typed properties
Gert Driesen wrote: - Original Message - From: Malcolm MacLucas [EMAIL PROTECTED] To: Jaroslaw Kowalski [EMAIL PROTECTED]; Troy Laurin [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, July 21, 2004 9:02 PM Subject: Re: [Nant-users] Re: [nant-dev] Typed properties After thinking about it for a bit, I'll repeat what I said earlier, Typed properties would be cool. That being said, I think that it should be looked at and placed on the road map somewhere down the road. Around .87 or .88. Not sure, we really should make sure we don't have to break people's build files when we introduce typed properties at that stage ... Yeah but on the other hand we shouldn't go rushing in features because we're worried about breaking builds later on. Two points : firstly we are reccomending that people use nightly builds *now* which means that they'll get broken builds anyway and secondly, the amount of changes since 0.84 means that updrading users will get a slew of deprecated messages. Thats not a big problem but I mention it to make the point that upgrading will have a 'cost' regardless of which release we target features too. My view is that adding typed properties is a significant change with the potential to add complexity to builds. I can see the problems that can be solved by their addition but I'm not yet convinced that they are sufficent justification. It seems to me that it will be more complicated than just adding a type attribute. What types will we support ? just basic string, int, bool etc or the full CLR type system ? Ian --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Fwd: PreProcessor Directives and solution task
Original Message Subject:PreProcessor Directives Date: Fri, 16 Jul 2004 14:04:08 +0200 From: Verbist, Frederick [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED] Hi, I have a preprocessor directive in my assemblyInfo file to only sign my assembly when the config is Release It goes like : #If CONFIG = Release ... [assembly: AssemblyKeyFile(@..\..\MyKey.snk)] When building my solution with nant task solution with configuration=Release, and then Testing it with sn.exe, it tells me that the assembly has not been signed. This makes me think that the preprocessor directive is skipped when compiling with NAnt Is this a known bug or do I missed something ? Thanks, Fred -- The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] TypeFactory refactoring
Gert Driesen wrote: Hi, I guess we should refactor the TypeFactory class, as we currently scan all types for all task/extension assemblies three times : for tasks, types and functionsets ((four times when I've committed support for filter types), and this is really starting to add up ... So we just need to take a single pass thru all types rather than one for each type of extensions as we do now ? Ian Any volunteers for this relatively small task ? Gert --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: Fw: [nant-dev] current cvs build failure
Matthew Mastracci wrote: On Thu, 2004-07-08 at 20:12, Ian MacLean wrote: Matthew Mastracci wrote: Strange - I had the same issue while I was developing (turned out that the DirectoryScanner was busted), but the fix for that was checked in. Where was the fix ? Maybe its manifesting itself in another way on my machine setup It was one of my interim builds that was failing in that way before I had finished the implementation. Basically, the test patterns weren't matching the task DLLs as they should. I took a look at what might be going wrong. I assume that the *Tasks.dll pattern is no longer matching the correct task DLLs for some reason. Could you uncomment the DEBUG_REGEXES line in DirectoryScanner.cs and send the output just before it fails? It might give more insight into what is happening. Heres the output : [exec] Starting 'H:\cvs\nant/build/net-1.1.win32/nant-0.85-debug/bin/NAnt.exe ( -buildfile:NAnt.build debug self-test -D:proj ect.version=0.85 -targetframework:net-1.1)' in 'H:\cvs\nant' NAnt 0.85 (Build 0.85.1651.0; net-1.1.win32; nightly; 7/9/2004) Copyright (C) 2001-2004 Gerry Shaw NAnt Team * DirectoryScanner.Scan() * at NAnt.Core.DirectoryScanner.Scan() at NAnt.Core.Types.FileSet.Scan() at NAnt.Core.Types.FileSet.get_FileNames() at NAnt.Core.ProjectSettingsLoader.ProcessPlatform(XmlNode) at NAnt.Core.ProjectSettingsLoader.ProcessSettings() at NAnt.Core.Project.CtorHelper(XmlDocument, Level, Int32) at NAnt.Core.Project..ctor(String, Level, Int32) at NAnt.Core.ConsoleDriver.Main(String[]) at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object, BindingFlags, Binder, Object[], CultureInfo, Boolean, A ssembly, Boolean) at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object, BindingFlags, Binder, Object[], CultureInfo, Boolean) at System.Reflection.RuntimeMethodInfo.Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) at System.Reflection.MethodBase.Invoke(Object, Object[]) at NAnt.Console.HelperArguments.CallConsoleRunner() at System.AppDomain.DoCallBack(CrossAppDomainDelegate) at NAnt.Console.ConsoleStub.Main(String[]) Includes: *Tasks.dll *Tests.dll tasks/*.dll Excludes: NAnt.MSNetTasks.dll BUILD FAILED NAnt.MSNet.Tests.dll **/*~ **/#*# **/.#* **/%*% **/CVS **/CVS/** **/.svn **/.svn/** **/.cvsignore **/SCCS **/SCCS/** **/vssver.scc **/_vti_cnf/** For more information regarding the cause of the build failure, run the build again in debug mode. Try 'nant -help' for more information The current runtime framework 'net-1.1' is not correctly configured in the NAnt configuration file. Invalid element readregistry. Unknown task or datatype. BUILD FAILED DOes that help at all ? I only have the 1.1 SDK installed on this box - I don't know if it's framework-specific. I have 1.0 installed as well. I get the same error if I run nant with -K:net-1.0 ie ' framework 'net-1.1' is not correctly configured' I'll be going out of town tomorrow morning - we can always revert DirectoryScanner.cs and I can fix it when I get back. Matt. I just ran my local tests and everything seems to be running just fine. Can you grab another checkout to verify that you got my latest changes? I'm a little puzzled to why this might be happening. did a fresh checkout which didn't update any files ( ie yesterdays sync was the latest code ) and I'm still seeing it. If I revert DirectoryScanner.cs back to an older version and rebuild it works. My command-line is: bin\nant debug set-net-1.1-framework-configuration test it fails with that or just a bin\nant. Is anyone else seeing this failure ? Ian On Thu, 2004-07-08 at 12:00, Gert Driesen wrote: Matthew, Can you please have a look at this issue ? Thanks ! Gert - Original Message - From: Gert Driesen [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED]; Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Thursday, July 08, 2004 8:15 AM Subject: Re: [nant-dev] current cvs build failure - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Nant-Developers (E-mail) [EMAIL PROTECTED] Sent: Thursday, July 08, 2004 5:28 AM Subject: [nant-dev] current cvs build failure A fresh cvs checkout of nant is failing with the following : 2 [echo] Running unit tests
Re: [nant-dev] Some profiling hot-spots to optimize
Matthew Mastracci wrote: Here's a few hot-spots that someone could probably pick off pretty easy. All percentages are relative to total time. This is from running a solution task based build. I haven't tried a csc-based build yet. ProjectSettingsLoader::ProcessPlatform - 5.6% +- ProjectSettingsLoader::ProcessFrameworks - 2% - Combine the filesets for task scanning to reduce overhead. GacCache::IsAssemblyInGac - 3.66% (remoting overhead) - Find a way to communicate more efficiently between main and remote AppDomain. CultureInfo::get_CurrentCulture - 1658074 calls, 8.34% - Find a way for the regexes not to get the current culture repeatedly. NAnt.VSNet.ProjectFactory::LoadProjectXml() - 15% - Find a more efficient way to load the project Xml. I'm pretty sure using XPathDocument instead of XmlDocument will give a perf increase here. Doc at http://support.softartisans.com/kbview.aspx?ID=673 hints that its faster in certain circumstances - mainly use of xpath. Hmm taking a quick skim thru Project.cs I see lots of SelectNodes calls so its worth a try. Can someone more familiar with the Solution task code comment ? Ian AppDomain::Unload() - 11.92% - Called from GacCache::Dispose() to get rid of AppDomain - Unload AppDomains asynchronously? Matt. --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] current cvs build failure
A fresh cvs checkout of nant is failing with the following : [echo] Running unit tests with just built version of NAnt. [exec] H:\cvs\nant-test\nant/build/net-1.1.win32/nant-0.85-debug/bin/NAnt.exe -buildfile:NAnt.build debug self-test -D:proje ct.version=0.85 -targetframework:net-1.1 NAnt 0.85 (Build 0.85.1650.0; net-1.1.win32; nightly; 7/8/2004) Copyright (C) 2001-2004 Gerry Shaw NAnt Team BUILD FAILED For more information regarding the cause of the build failure, run the build again in debug mode. Try 'nant -help' for more information The current runtime framework 'net-1.1' is not correctly configured in the NAnt configuration file. Invalid element readregistry. Unknown task or datatype. BUILD FAILED H:\cvs\nant-test\nant\NAnt.build(160,10): External Program Failed: H:\cvs\nant-test\nant/build/net-1.1.win32/nant-0.85-debug/bin/NAnt.exe (return code was 1) This is new since yesterday - Does anyone who checked in code in the last day have an idea ? Ian -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: ResGen assembly references?
Gert Driesen wrote: - Original Message - From: Matthew Mastracci [EMAIL PROTECTED] To: Matthew Mastracci [EMAIL PROTECTED] Cc: Gert Driesen [EMAIL PROTECTED] Sent: Tuesday, July 06, 2004 3:13 AM Subject: Re: ResGen assembly references? Matthew Mastracci wrote: After upgrading to the latest CVS version, I've found that the resgen task is taking a long time to run for each project because it seems to be copying all of the project references. These are necessary, as resx files can contain references to types in the project references. So resgen need to be able to instantiate these types. What's the reason for this behaviour? We've never needed it before and it increases our build time dramatically. I don't think the 1.0 or 1.1 resgen tasks can even utilize assembly references. We didn't need it as we didn't implement this yet. The resgen.exe tool for the .NET 1.0 and .NET 1.1 does not provide direct support for assembly references, but you can trick it into the by copying the tool itself, and all assembly references to the same (temporary) directory, and launching the tool from there. This is what we do for .NET 1.0 and .NET 1.1. For .NET 2.0 we just specify the assembly references on the command line. Can't we do a quick parse of the resx sources to see if they require those references ? A large number of cases do not require any references at all. I'm working on cutting down the time for a solution build in our shop again (via profiling)- this is one of the biggest culprits right now. :) I understand, but we can't sacrifice features for performance. But on the other hand we shouldn't slow down *every* solution based build in order to satisfy some corner cases if we can avoid doing so. Ian --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Re: ILASM and ILDASM tasks
Giuseppe Greco wrote: Ian, The ILASM and ILDASM tasks are ready. I'll send them to you with a separate email. cool. I already committed ilasm.cs with couple of minor fixes. I'll just merge in the differences from your update. Ildasm will go in NAnt.MSTasks rather than NAnt.DotNetTasks as there is no mono implementation. There is is monodis but its commandline interface isn't very similar. About the rebuild property... we could rename it to redisassemble, but I don't think this name is very nice. In this context, rebuild means rebuild the IL output, so I think it could be fine. Lets just go with rebuild for now. I think people will know whats going on. Ian --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] checking task availability
Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Sunday, July 04, 2004 5:10 PM Subject: Re: [nant-dev] checking task availability To be able to use this in our tests to determine whether a given test can be executed, we'd need to initialize the task that we want to execute though. not if we make it static. That's not possible, as we always need an instance of the task that you want to check the availability of Why ? What instance level information is required ? It would be nice not to have to construct instances in order to determine if we can use those instances. Ian --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] checking task availability
Gert Driesen wrote: Ian, I think we should have a way of checking whether a given task is available, and can be executed (on a given pc, framework, platform, ...). Agreed. This would be very useful. One way of achieving this would be to have a virtual IsAvailable (or CanBeExecuted, or you tell me ... man, am I bad in names or what) property (or should it be a method) with a default implementation that just checks whether a available (or whatever) attribute has not been set to false on the task node in the NAnt configuration file (so by default it would be true). IsAvailable sounds fine. eg. tasks !-- by default, available is set to true -- task name=csc attribute name=exenamecsc/attribute attribute name=useruntimeenginefalse/attribute /task task name=jsc available=false / /tasks Tasks that need to determine the availability at runtime (eg. need to check whether the JScript.NET compiler is installed), can override this property (or method), or even add addtional logic to the framework initialization project in the NAnt configuration file and set the available attribute accordingly, or a combination of both ... eg. framework ... project !-- determine whether a given registry key exists, to find out if a given task can be executed )) readregistry property=doesntmatter key=... hive=LocalMachine failonerror=false / /project tasks task name=dummy available=${property::exists('doesntmatter')} / /task /framework After giving it some more thought, it might be best to have a bool property on Task that is non-virtual, and which never throws an exception. And have a protected virtual method (called CheckAvailability or so) that will throw a (Build)Exception if the task is not available, while specifying the reason. That way we could call this method as part of Task.Execute, and output the reason why the task is not available in the build log. ok - so the bool property just checks the config file or whatever and CheckAvailability does the runtime check. The bool property should probably be static so that it can be called without having to instantiate the Task class. To be able to use this in our tests to determine whether a given test can be executed, we'd need to initialize the task that we want to execute though. not if we make it static. eg. [Test] public void Test_JscDebugBuild() { JscTask jscTask = new JscTask(); jscTask.Project = CreateEmptyProject(); if (!jscTask.IsAvailable) { // skip test return; } } (I know this is kinda verbose, but ...) What do you think ? looks good. It would also be worth having a task::is-available(string taskName ) function so the check can be done from a build file. Ian --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM Task
Gert Driesen wrote: Giuseppe Greco wrote: Ach... I knew, in fact I've used writer.Write everywhere, but not in the WriteOptions method because I've copied the 3-lines 'foreach' statement from CompilerBase... By the way, attached to this email you'll find the definitive source file. thanks. I'll look at adding this to the code base shortly. Will you be adding it to NAnt or NAntContrib ? Guess we should discuss what procedure to follow when adding new tasks, or do decide on a task-by-task basis ? Whatever. Obviously it belongs in NAnt.DotNet.Tasks. Its a fairly straightforward command line app wrapper so theres not likely to be any issues putting it straight into core. I'm not convinced that we have to put everything in contrib first if it has an obvious fit in core - ie its a piece of previously missing functionality - I would put any other .net command line tools in this category. Others may have different opinions though. Ian --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILDASM Task
Giuseppe Greco wrote: Hi all, Attached to this email you'll find the implementation of the ildasm task. This is just a proposal. Comments are welcome! I'm assuming the rebuild flag was copied over from ilasm.cs and doesn't need to be there ? I wonder if have a fileset for sources would be useful. With a fileset you'd get one output file for each assembly specified just changing the name from .dll/exe to .il .You'd have to spawn the ildasm executable multiple times but that shouldn't be a problem. Ian -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM Task
What does the generated commandline look like ? Just use nant -v to output it or take a look in the debugger. Ian Giuseppe Greco wrote: OK guys, Now the IlasmTask class inherits from ExternalProbramBase... but I'm still unable to get the ilasm task working. I always get the following error message: Could not open C:\Home\Projects\temp\.net\ilasm\OddOrEven\MainClass.il The arguments list is OK (I've tried it manually and it does function) and the file above exists. Is there something else that I should know? Thanks, j3d. Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM Task
hmm - that commandline does seem ok. I just tested locally with a test .il file. I don't have any other ideas right now but if you want to send me the source I could take a quick look at it. Ian Giuseppe Greco wrote: Ian, Here's what NAnt reports: [ilasm] Starting 'C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ilasm.exe (/NOLOGO /EXE /OUTPUT=C:\Home\Projects\temp\.net\ilasm\OddOrEven\OddOrEven.exe C:\Home\Projects\temp\.net\ilasm\OddOrEven\MainClass.il)' in 'C:\Home\Projects\temp\.net\ilasm\OddOrEven' The command-line arguments are fine... I've tested them manually. j3d. What does the generated commandline look like ? Just use nant -v to output it or take a look in the debugger. Ian Giuseppe Greco wrote: OK guys, Now the IlasmTask class inherits from ExternalProbramBase... but I'm still unable to get the ilasm task working. I always get the following error message: Could not open C:\Home\Projects\temp\.net\ilasm\OddOrEven\MainClass.il The arguments list is OK (I've tried it manually and it does function) and the file above exists. Is there something else that I should know? Thanks, j3d. Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM Task
Giuseppe Greco wrote: Ach... I knew, in fact I've used writer.Write everywhere, but not in the WriteOptions method because I've copied the 3-lines 'foreach' statement from CompilerBase... By the way, attached to this email you'll find the definitive source file. thanks. I'll look at adding this to the code base shortly. Do you think it would also be helpful to have the ildasm task? Definately. Then you can do cool stuff like disassemble/merge extra code and reassemble using ilasm. Ian j3d. Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM task
Guis, I haven't looked at your source in detail yet but I think the problem is that ilasm.exe doesn't support the use of a response file. The core compilers : csc, vbc etc all take an @ argument: @file Read response file for more options And this is what CompilerBase uses to pass the commandline to the compiler tools. ilasm.exe takes no such paramater and thinks that '@C:\DOCUME~1\GGRECO~1.ECH\LOCALS~1\Temp\tmpB13.EXE' is the path to an il file. You may have to derive from ExternalprogramBase rather than CompilerBase although it will mean duplicating some of the functionality in CompilerBase. Ian Giuseppe Greco wrote: Hi all, I've just written the ILASM task, but it does not work (of course, I'm doing something wrong). Giving the following build file: project name=OddOrEven default=build target name=build ilasm target=exe output=OddOrEven.exe sources basedir=. include name=MainClass.il/ /sources /ilasm /target /project ... the output is: [ilasm] Compiling 3 files to 'C:\Home\Projects\temp\.net\ilasm\OddOrEven\OddOrEven.exe'. Microsoft (R) .NET Framework IL Assembler. Version 1.1.4322.573 Copyright (C) Microsoft Corporation 1998-2002. All rights reserved. Assembling '@C:\DOCUME~1\GGRECO~1.ECH\LOCALS~1\Temp\tmpB13.tmp' , no listing file, to EXE -- '@C:\DOCUME~1\GGRECO~1.ECH\LOCALS~1\Temp\tmpB13.EXE' Could not open @C:\DOCUME~1\GGRECO~1.ECH\LOCALS~1\Temp\tmpB13.tmp * FAILURE * It looks like the CompilerBase class is not able to find the source files. Attached to this email you'll find the IlasmTask.cs file... What am I missing? Thanks, j3d. Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM Task
Giuseppe Greco wrote: Hi guys, I've given a lock at the CompilerBase and ExternalProgramBase classes... and I think it would be better to modify the CompilerBase class instead of inheriting from ExternalProgramBase... What's your opinion? Its hard to say without seeing what changes you propose making to CompilerBase. There are substantial differences between the supported command args of ilasm and the other compilers. ilasm has no -r flag for example so you will need to hde the references fileset. Why don't you lay out what you think would need to be changed in CompilerBase to make it workable ? Ian j3d. Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM Task
Gert Driesen wrote: - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, June 30, 2004 3:16 PM Subject: [nant-dev] ILASM Task Hi guys, I've given a lock at the CompilerBase and ExternalProgramBase classes... and I think it would be better to modify the CompilerBase class instead of inheriting from ExternalProgramBase... What exact functionality of CompilerBase do you need for the ilasm task ? The resource compilation stuff ? What else ? actually the resource compilation stuff does not apply. the /resources flag of ilasm is for embedding a win32 resource block. .net resources are defined as metadata in the il source. See http://www.gotdotnet.com/Community/MessageBoard/Thread.aspx?id=151718 Ian Gert --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM Task
Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Giuseppe Greco [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, June 30, 2004 4:17 PM Subject: Re: [nant-dev] ILASM Task Gert Driesen wrote: - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, June 30, 2004 3:16 PM Subject: [nant-dev] ILASM Task Hi guys, I've given a lock at the CompilerBase and ExternalProgramBase classes... and I think it would be better to modify the CompilerBase class instead of inheriting from ExternalProgramBase... What exact functionality of CompilerBase do you need for the ilasm task ? The resource compilation stuff ? What else ? actually the resource compilation stuff does not apply. the /resources flag of ilasm is for embedding a win32 resource block. .net resources are defined as metadata in the il source. See http://www.gotdotnet.com/Community/MessageBoard/Thread.aspx?id=151718 Don't have time to look into this much further, but I don't see CompilerBase and a task for ilasm having much in common ... I tend to agree. Looking quickly thru compilerBase I see the following attributes/elements: lib references resources modules main win32icon define target -- ilasm uses either /exe or /dll warnaserror In CompilerBase that have no relevance to ilasm. In fact the only thing that would be of any possible benefit is the NeedsCompiling method and even that is full of checks for resources/references etc. I think you'll be much better off using ExternalProgramBase and copying across anything common. Ian --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ILASM Task
Its a good idea. Do you feel like taking a stab at it ? Ian Giuseppe Greco wrote: Hi all, are there any plans to implement the ILASM task? j3d. Giuseppe Greco ::agamura:: phone: +41 (0)91 604 67 65 mobile: +41 (0)76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email sponsored by Black Hat Briefings Training. Attend Black Hat Briefings Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] al task on Linux
too busy today - didn't get time and I'm off tomorrow for a 3 day weekend. If anyone feels like taking at stab at debugging this go ahead. Ian Ian MacLean wrote: Sure - I'll take a look tomorrow. Ian Gert Driesen wrote: Jarek, Ian, Could one of you have a quick look at this ? I'm still at work, and I still have to restore my gentoo image at home before I can test this ... Gert - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: NAnt Developers [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 5:30 PM Subject: Re: [nant-dev] al task on Linux On Wed, 2004-05-26 at 17:04, Gert Driesen wrote: - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: NAnt Developers [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 4:58 PM Subject: Re: [nant-dev] al task on Linux Gert, the following does work: al /t:lib /embed:myApp.en-US.resources /c:en-US /out:myApp.resources.dll al /target:lib /embed:myApp.en-US.resources /culture:en-US /out:myApp.resources.dll and this does not ? Yes, it does work... j3d. Gert -- Giuseppe Greco ::agamura:: phone: +41 91 604 67 65 mobile: +41 76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] get-assembly-direcotry() function
Ian MacLean wrote: I'll report the current mono behaviour as a compatibility bug. However the return type of those functions should probably change. Someone beat me to it. Its been fixed in mono cvs. See : http://bugs.ximian.com/show_bug.cgi?id=58804 /Ian/ no leading slash. my NAnt.exe.config is unchanged from the cvs version. I think there could be a problem with the config file reading code because: the following test .build property name=target.framework value=${framework::get-target-framework()} / property name=prefix value=${pkg-config::get-variable('mono', 'prefix')} / echo message= mono prefix is ${pkg-config::get-variable('mono', 'prefix')}/ echo message= combined value is ${path::combine(prefix, 'lib/mono/1.0')}/ echo message=${framework::get-assembly-directory(target.framework)} / echo message=${framework::get-framework-directory(target.framework)} / echo message=${framework::get-sdk-directory(target.framework)} / echo message=${framework::get-target-framework()} / produces the following output: [echo] mono prefix is /home/ianm/usr/local [echo] combined value is /home/ianm/usr/local/lib/mono/1.0 [echo] 1.0 [echo] bin [echo] bin [echo] mono-1.0 ${pkg-config::get-variable('mono', 'prefix')} is whats used in the config file to produce the assembly directory value. In the build file it produces the correct output but its not right when coming from the config file. Unless theres an issue with framework::get-assembly-directory impl. I'll do somw debuggin tomorrow and see what I can find. Ian Clayton Harbour wrote: Hi, No I am running rpms from the beta 1 release. This is probably a silly question but what is the value of your framework directory setting in NAnt.exe.config? If there is a leading slash Path.Combine might be taking that as a root path. Clayton -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: May 21, 2004 5:32 AM To: Clayton Harbour Cc: Gert Driesen; Giuseppe Greco; Jaroslaw Kowalski; NAnt Developers Subject: Re: [nant-dev] get-assembly-direcotry() function Hi Clayton, Do you have the lastest mono built from cvs ? I'm getting the same result as Guis. I'm also on Fedora 1. I don't have mono installed to /usr but I think its unlikly thats the cause. I'll investigate soem more. Ian Clayton Harbour wrote: Hi, I get /usr/lib/mono/1.0 on my Fedora Core 1 install with NAnt rebuilt this morning. There was some oddness with the install as the config file contained a reference to a tasks folder but the task binaries were not built in a task folder. Maybe I caught something in mid-checkin? Anyway, it seems to work on this install. Cheers, Clayton -Original Message- From:Gert Driesen [mailto:[EMAIL PROTECTED] Sent:Thu 5/20/2004 6:39 PM To:Giuseppe Greco Cc:Jaroslaw Kowalski; NAnt Developers Subject:Re: [nant-dev] get-assembly-direcotry() function - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Jaroslaw Kowalski [EMAIL PROTECTED]; NAnt Developers [EMAIL PROTECTED] Sent: Thursday, May 20, 2004 11:23 PM Subject: Re: [nant-dev] get-assembly-direcotry() function Giuseppe, can you indeed confirm that get-assembly-directory() just returned 1.0 ? Yes, I do (of course, on Linux). I've inserted the following task in one of my project files: echo message=${framework::get-assembly-directory(target.framework)} / ... and the result is 1.0. Can anyone else reproduce this issue ? (I still have to reload my gentoo image ... I installed the latest longhorn on my linux box .. shame on me ... blush :)) Gert --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] include Task
Gert Driesen wrote: You can use the call task to call targets in the current build file. Ian, Scott, Jarek : is this something we should change ? Should we call the target in the current build file, if no other build file(s) have been specified ? Or should we fail when no build file is specified at all (meaning buildfile attribute is not specified, and no includes specified in buildfiles fileset ? Or should we just output a warning (or info message) that no build file(s) were specified ? the nant task should be used for calling other build files. I don't see any value in doing what the call task does if there is no buildfile attribute specified. We should fail if no buildfile is specified and the buildfiles fileset is empty. I'm surprised we don't right now. Ian Gert - Original Message - From: Ramn Casanova [EMAIL PROTECTED] To: 'Gert Driesen' [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 9:40 AM Subject: RE: [nant-dev] include Task Hi Gert, After some additional testing I realised that the problem isn't in the include task, but in de nant task. I'm unable to invoke another target (included in another file or in the same project file). The following sample doesn't work. Thanks. ?xml version=1.0? project name=Test default=build target name=test echo message=Never Invoked/ /target target name=build nant target=test/ /target /project -Mensaje original- De: Gert Driesen [mailto:[EMAIL PROTECTED] Enviado el: mircoles, 26 de mayo de 2004 9:14 Para: Ramn Casanova Asunto: Re: [nant-dev] include Task Ramn, Can you send me a repro for this ? Thanks, Gert - Original Message - From: Ramn Casanova [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, May 25, 2004 1:33 PM Subject: [nant-dev] include Task Hello, When I include a file through an include task, I have to remove the project element. Otherwise, the target is simply ignored. When I include a file without a root project element, the only target is always executed even if I don't invoke it using a nant task. Thanks. --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id?66opk ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id?66op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] include Task
ok sure - thats what I meant to say. Ian I think we should only fail if no buildfile is specified, and no includes are specified in the fileset. I'm not sure if an empty fileset should cause a failure ... Gert --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id?66opk ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id?66op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] al task on Linux
Sure - I'll take a look tomorrow. Ian Gert Driesen wrote: Jarek, Ian, Could one of you have a quick look at this ? I'm still at work, and I still have to restore my gentoo image at home before I can test this ... Gert - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: NAnt Developers [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 5:30 PM Subject: Re: [nant-dev] al task on Linux On Wed, 2004-05-26 at 17:04, Gert Driesen wrote: - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: NAnt Developers [EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 4:58 PM Subject: Re: [nant-dev] al task on Linux Gert, the following does work: al /t:lib /embed:myApp.en-US.resources /c:en-US /out:myApp.resources.dll al /target:lib /embed:myApp.en-US.resources /culture:en-US /out:myApp.resources.dll and this does not ? Yes, it does work... j3d. Gert -- Giuseppe Greco ::agamura:: phone: +41 91 604 67 65 mobile: +41 76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] get-assembly-direcotry() function
it turns out that DirectoryInfo.ToString() returns only the name part rather than the full path on mono. And since the framework::get- functions are returning directoryInfo objects they get converted to strings using ToString(). I think we might be better off returning strings from those functions. Even on windows relying on the output of ToString isn't so wise as it returns the path you initialized the DirectoryInfo object with rather than the FullName. To illustrate: DirectoryInfo info = new DirectoryInfo(..\\..\\); Console.WriteLine(info.ToString()); Console.WriteLine(info.FullName); produces : ..\..\ H:\dev\test\csharp\ConsoleApplication9\ on windows. I'll report the current mono behaviour as a compatibility bug. However the return type of those functions should probably change. Ian Ian MacLean wrote: no leading slash. my NAnt.exe.config is unchanged from the cvs version. I think there could be a problem with the config file reading code because: the following test .build property name=target.framework value=${framework::get-target-framework()} / property name=prefix value=${pkg-config::get-variable('mono', 'prefix')} / echo message= mono prefix is ${pkg-config::get-variable('mono', 'prefix')}/ echo message= combined value is ${path::combine(prefix, 'lib/mono/1.0')}/ echo message=${framework::get-assembly-directory(target.framework)} / echo message=${framework::get-framework-directory(target.framework)} / echo message=${framework::get-sdk-directory(target.framework)} / echo message=${framework::get-target-framework()} / produces the following output: [echo] mono prefix is /home/ianm/usr/local [echo] combined value is /home/ianm/usr/local/lib/mono/1.0 [echo] 1.0 [echo] bin [echo] bin [echo] mono-1.0 ${pkg-config::get-variable('mono', 'prefix')} is whats used in the config file to produce the assembly directory value. In the build file it produces the correct output but its not right when coming from the config file. Unless theres an issue with framework::get-assembly-directory impl. I'll do somw debuggin tomorrow and see what I can find. Ian Clayton Harbour wrote: Hi, No I am running rpms from the beta 1 release. This is probably a silly question but what is the value of your framework directory setting in NAnt.exe.config? If there is a leading slash Path.Combine might be taking that as a root path. Clayton -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: May 21, 2004 5:32 AM To: Clayton Harbour Cc: Gert Driesen; Giuseppe Greco; Jaroslaw Kowalski; NAnt Developers Subject: Re: [nant-dev] get-assembly-direcotry() function Hi Clayton, Do you have the lastest mono built from cvs ? I'm getting the same result as Guis. I'm also on Fedora 1. I don't have mono installed to /usr but I think its unlikly thats the cause. I'll investigate soem more. Ian Clayton Harbour wrote: Hi, I get /usr/lib/mono/1.0 on my Fedora Core 1 install with NAnt rebuilt this morning. There was some oddness with the install as the config file contained a reference to a tasks folder but the task binaries were not built in a task folder. Maybe I caught something in mid-checkin? Anyway, it seems to work on this install. Cheers, Clayton -Original Message- From:Gert Driesen [mailto:[EMAIL PROTECTED] Sent:Thu 5/20/2004 6:39 PM To:Giuseppe Greco Cc:Jaroslaw Kowalski; NAnt Developers Subject:Re: [nant-dev] get-assembly-direcotry() function - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Jaroslaw Kowalski [EMAIL PROTECTED]; NAnt Developers [EMAIL PROTECTED] Sent: Thursday, May 20, 2004 11:23 PM Subject: Re: [nant-dev] get-assembly-direcotry() function Giuseppe, can you indeed confirm that get-assembly-directory() just returned 1.0 ? Yes, I do (of course, on Linux). I've inserted the following task in one of my project files: echo message=${framework::get-assembly-directory(target.framework)} / ... and the result is 1.0. Can anyone else reproduce this issue ? (I still have to reload my gentoo image ... I installed the latest longhorn on my linux box .. shame on me ... blush :)) Gert --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle
Re: [nant-dev] custom function that uses com interop
John Cole wrote: Thanks for the help, putting the interop dll in the nant bin directory worked. You were also correct about having the full path in the reference section. Glad to hear its working. I've committed an update that means you should no longer have to use full paths for references that either : - come from the current basedir or - are system assemblies - so just includes name=System.Data.dll / should work fine. I'll also take a look at resolving references from outside the nant probing paths when I get a chance. I was thinking of trying to make this an actual function, but since it's windows only, I wanted to add it to NAnt Contrib, instead of NAnt. However there are no NAntContrib functions :-) so I'm not sure how to get it rolled into that tree. Have a look at how functions are defined in the nant source and use that as a basis. You should be able to pretty much cut and paste your current script code but you will need to define a class with a FunctionSet attribute that has the functions as a member. For now, I'm just using the script tasks, as they are working great for my needs. Thats fine too as so far you've found a bunch of things that needed fixing :) Ian Thanks, John Cole -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: Friday, May 21, 2004 10:54 PM To: John Cole Cc: '[EMAIL PROTECTED]' Subject: Re: [nant-dev] custom function that uses com interop John, did you try this code ? If so what error did you get if it failed ? I gave it a try and it turns out that NAnt didn't want to load the interop assembly fom somewhere outside of the specified probing paths - ie under the nant bin directory. If I copied the interop dll to the nant bin dir it works ok. Thats probably not the optimal solution going forward but it will get you working in the meantime. It may be that we need to copy referenced non system assemblies to a temp dir under nant/bin for the duration of the build run. Hmm there may be security permissions implications with that - let me give it some thought. You may also need to put the full path to the interop dll in the references tag. Ian John Cole wrote: Hello, I'm trying to write another custom function :-) This one needs to use the TypeLibInfo dll to get some information about a dll. I don't, however know how to get the custom function to reference the dll via interop. Here is my funciton so far: --- project name=typelibfunctions default=inittypelib target name=inittypelib script language=C# prefix=typelib references includes name=Interop.TLBINF32.dll / /references code![CDATA[ [Function(guid)] public static string GetCLSIDFromFile( string pFileName ) { TLI.TypeLibInfo t; TLI.TLIApplicationClass tli = new TLI.TLIApplicationClass(); t = tli.TypeLibInfoFromFile(pFileName); return t.GUID; } ]] /code /script echo message=${typelib::guid('C:\Documents and Settings\jcole\My Documents\src\UtilityCenter\2x\MapObjects\Components\uaCore\uaCore.dll')} / /target /project --- Is it possible to have a custom function reference a com dll? Thanks John Cole -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] get-assembly-direcotry() function
Hi Clayton, Do you have the lastest mono built from cvs ? I'm getting the same result as Guis. I'm also on Fedora 1. I don't have mono installed to /usr but I think its unlikly thats the cause. I'll investigate soem more. Ian Clayton Harbour wrote: Hi, I get /usr/lib/mono/1.0 on my Fedora Core 1 install with NAnt rebuilt this morning. There was some oddness with the install as the config file contained a reference to a tasks folder but the task binaries were not built in a task folder. Maybe I caught something in mid-checkin? Anyway, it seems to work on this install. Cheers, Clayton -Original Message- From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Thu 5/20/2004 6:39 PM To: Giuseppe Greco Cc: Jaroslaw Kowalski; NAnt Developers Subject:Re: [nant-dev] get-assembly-direcotry() function - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Jaroslaw Kowalski [EMAIL PROTECTED]; NAnt Developers [EMAIL PROTECTED] Sent: Thursday, May 20, 2004 11:23 PM Subject: Re: [nant-dev] get-assembly-direcotry() function Giuseppe, can you indeed confirm that get-assembly-directory() just returned 1.0 ? Yes, I do (of course, on Linux). I've inserted the following task in one of my project files: echo message=${framework::get-assembly-directory(target.framework)} / ... and the result is 1.0. Can anyone else reproduce this issue ? (I still have to reload my gentoo image ... I installed the latest longhorn on my linux box .. shame on me ... blush :)) Gert --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] get-assembly-direcotry() function
no leading slash. my NAnt.exe.config is unchanged from the cvs version. I think there could be a problem with the config file reading code because: the following test .build property name=target.framework value=${framework::get-target-framework()} / property name=prefix value=${pkg-config::get-variable('mono', 'prefix')} / echo message= mono prefix is ${pkg-config::get-variable('mono', 'prefix')}/ echo message= combined value is ${path::combine(prefix, 'lib/mono/1.0')}/ echo message=${framework::get-assembly-directory(target.framework)} / echo message=${framework::get-framework-directory(target.framework)} / echo message=${framework::get-sdk-directory(target.framework)} / echo message=${framework::get-target-framework()} / produces the following output: [echo] mono prefix is /home/ianm/usr/local [echo] combined value is /home/ianm/usr/local/lib/mono/1.0 [echo] 1.0 [echo] bin [echo] bin [echo] mono-1.0 ${pkg-config::get-variable('mono', 'prefix')} is whats used in the config file to produce the assembly directory value. In the build file it produces the correct output but its not right when coming from the config file. Unless theres an issue with framework::get-assembly-directory impl. I'll do somw debuggin tomorrow and see what I can find. Ian Clayton Harbour wrote: Hi, No I am running rpms from the beta 1 release. This is probably a silly question but what is the value of your framework directory setting in NAnt.exe.config? If there is a leading slash Path.Combine might be taking that as a root path. Clayton -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: May 21, 2004 5:32 AM To: Clayton Harbour Cc: Gert Driesen; Giuseppe Greco; Jaroslaw Kowalski; NAnt Developers Subject: Re: [nant-dev] get-assembly-direcotry() function Hi Clayton, Do you have the lastest mono built from cvs ? I'm getting the same result as Guis. I'm also on Fedora 1. I don't have mono installed to /usr but I think its unlikly thats the cause. I'll investigate soem more. Ian Clayton Harbour wrote: Hi, I get /usr/lib/mono/1.0 on my Fedora Core 1 install with NAnt rebuilt this morning. There was some oddness with the install as the config file contained a reference to a tasks folder but the task binaries were not built in a task folder. Maybe I caught something in mid-checkin? Anyway, it seems to work on this install. Cheers, Clayton -Original Message- From: Gert Driesen [mailto:[EMAIL PROTECTED] Sent: Thu 5/20/2004 6:39 PM To: Giuseppe Greco Cc: Jaroslaw Kowalski; NAnt Developers Subject:Re: [nant-dev] get-assembly-direcotry() function - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Jaroslaw Kowalski [EMAIL PROTECTED]; NAnt Developers [EMAIL PROTECTED] Sent: Thursday, May 20, 2004 11:23 PM Subject: Re: [nant-dev] get-assembly-direcotry() function Giuseppe, can you indeed confirm that get-assembly-directory() just returned 1.0 ? Yes, I do (of course, on Linux). I've inserted the following task in one of my project files: echo message=${framework::get-assembly-directory(target.framework)} / ... and the result is 1.0. Can anyone else reproduce this issue ? (I still have to reload my gentoo image ... I installed the latest longhorn on my linux box .. shame on me ... blush :)) Gert --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] ... back to my problem...
sure, this is normal. NAnt's error message could be a bit better in this case - somthing similar to what a configure script outputs when it can't find a .pc file. Ian Giuseppe Greco wrote: OK, now it works, but there is another issue... On my box, mono is installed under /usr/local, and since this isn't the standard location where pkg-config looks for modules, I've to define the PKG_CONFIG_PATH environment variable to get NAnt working... j3d. On Thu, 2004-05-20 at 16:16, Jaroslaw Kowalski wrote: Because of a mono bug you have to do: $ cp nant/bin/lib/mono/1.0/*.dll nant/bin/ Jarek - Original Message - From: Giuseppe Greco [EMAIL PROTECTED] To: NAnt Developers [EMAIL PROTECTED] Sent: Thursday, May 20, 2004 1:53 PM Subject: [nant-dev] ... back to my problem... Hi all, I've just checked out the latest version of NAnt from CVS and I've been able to build and install it successfully. But!? it doesn't work. I always get the following error messages: ** (/usr/local/nant/bin/NAnt.exe:28331): WARNING **: Could not find assembly log4net, references from /usr/local/nant/bin/NAnt.Core.dll (assemblyref_index=2) Major/Minor: 1,2 Build: 0,30714 Token: (null) Unhandled Exception: System.NullReferenceException: A null value was found where an object instance was required. in (unmanaged) /usr/local/lib/libmono.so.0(mono_assembly_open+0xda) [0x453f76] in (unmanaged) /usr/local/lib/libmono.so.0 [0x4472df] in (unmanaged) /usr/local/lib/libmono.so.0 [0x447402] in (unmanaged) /usr/local/lib/libmono.so.0 [0x453c3f] in (unmanaged) /usr/local/lib/libmono.so.0(mono_assembly_load+0x23) [0x4545d7] in (unmanaged) /usr/local/lib/libmono.so.0 [0x428278] in 0x00045 System.Type:GetType (string) in 0x00021 System.Configuration.ConfigurationData:CreateNewHandler (string,System.Configuration.SectionData) in 0x0026c System.Configuration.ConfigurationData:GetHandler (string) in 0x00031 System.Configuration.ConfigurationData:GetConfigInternal (string) in 0x000bb System.Configuration.ConfigurationData:GetConfig (string) in 0x00024 System.Configuration.DefaultConfig:GetConfig (string) in 0x00074 System.Configuration.ConfigurationSettings:GetConfig (string) in 0x00032 NAnt.Console.ConsoleStub:get_FrameworkVersion () in 0x000c7 NAnt.Console.ConsoleStub:Main (string[]) Do you guys think this is still an issue related to mcs/class/corlib/System/AppDomain.cs? I'm running the mono package dated 18-05-2004 since it is the only one that actually works; this morning I've tried to check out the latest version from CVS, but it doesn't compile. I'll try again later... Any info is appreciated. Thanks, j3d. -- Giuseppe Greco ::agamura:: phone: +41 91 604 67 65 mobile: +41 76 390 60 32 email: [EMAIL PROTECTED] web:www.agamura.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Tasks for reading/writing environment variables
Hi James, NAnt currently already has 2 mechanisms for *reading* environment variables, the| environment::get-variable [1] function and the sysinfo/ [2] task. However there is no way to set them so your setenv ( or whatever you called it ) task sounds useful. Even better would be to add a platform test and use setenv() if the current platform is *nix. I certainly think there is interest if you'd like to post the source. Ian | [1]http://nant.sourceforge.net/nightly/help/functions/environment.get-variable.html [2]http://nant.sourceforge.net/nightly/help/tasks/sysinfo.html Delmerico, James wrote: All- I've created a pair of NANT tasks to read and write environment variables. Reading is done using Environment.GetEnvironmentVariable and stored in a property and writing via the windows API ala DllImport. Any environment variables set during the execution of a nant run are only visible during the run. If you look at your environment variables after the run they aren't visible which prevents them from repeated building. I specifically avoided user and machine level environment variables. I've tested that it works with for the duration of nant run including executing child build files. Anyways I found it useful and I'm offering it and the tests to the community if there's interest. Regards, James -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562alloc_id=6184op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers