Re: Re: [nant-dev] Separating targets into individual files

2004-11-22 Thread Neil Cowburn
I don't know what I was doing wrong, but I've now got the behavior I was 
seeking. Very weird.

// Neil

- Original Message -
From: Ian MacLean
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Mon, 22 Nov 2004 12:06:18 +0900
Subject: 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



  




Re: [nant-dev] NAnt 0.85 release - how ?

2004-11-22 Thread Thibaut Barrère
 I haven't really given it too much though, but I don't think we should have
 a very long rc period. We should really try to release versions more
 frequently, without sacrificing quality ofcourse.

I was just thinking about those people who can't use nightly builds
for corporate reasons, and situations where updating the nant version
is not as seamless as it should be from a corporate point of view.

But, ok, just a thought.

 
  As well there is much feedback from users who upgraded from some 0.84
  or more recent nightly build to the latest. Is there plan to include a
  consolidated feedback in the RC release notes ?
 
 If you think there's something missing from the release notes, I'd
 appreciate it if you could provide a patch containing improvements.

I didn't mean to offense here really, and hope I didn't. I don't know
if there is something precise missing, I just had this in mind because
I saw many people on the list trying to update and facing some issues
(including me). I wasn't aware of the work on release notes (now I
am), as I didn't see it discussed here.

Anyway, I'll have a look at what I noticed on the list, and try to see
if the release notes are up to date with regard to that :)

cheers

Thibaut

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.


---
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 XmlLogger

2004-11-22 Thread Martin Aliger
Hi Nicke,
 
good call I think. Verbosity problem is here, and I really want so solve it,
but I prefer to do it after release. I also think (and beleive others also)
we need shorter release cycle (aprox. 4 a year?)
 
1/: I didnt catch it - sorry. Structure of Nant's XML log is pretty vague -
thats true but I never notice, it is problem somewhere.
2/ log file size: I dont think there is any good was to reduce logs unless
precize verbosity threshold feature is introduce. Any information could be
valuable.
3/ verbosity: many tasks have today use wrong message levels. I personally
also gets many errors/warning on mine CCNet console when running xmlpeek
failonerror=false. Your readregistry seems to be same problem. Solution task
is other thing. It calls other tasks (like resgen or copy) and those produce
many garbage. What about to change Info level messages from all nested tasks
to Verbose level? Error/Warning should remain same.

 
Martin
 


-

From: .. On Behalf Of Nicklas Norling
Sent: Friday, November 19, 2004 12:30 PM
To: [EMAIL PROTECTED]
Subject: [nant-dev] Nant XmlLogger


Hi.
 
I have a few questions and thoughts about the XmlLogger facility in
NAnt. I'm currently been using 11-15 nightly
but basically as long as I've used the XmlLogger to provide data for
CCNet there have been all kinds of problems
with this logging. As 0.85 seem to draw closer I thought I'd better
brought this up before the release rather then
after.
 
These are the main problems:
 
1. None-functional XML structure.
This is only indirectly getting me into trouble as other tools
relying on the Nant XML file can not figure out what's
failing and what's not due to the information structure (or so I've
been told). I wonder what lovely things CCNet and
other teams could do if this worked.
 
2. Log file size.
I have around 2 MB large logs after each build. Due to item 1 above
developers do often not get to know what went wrong
from the CCNet so they have to look at the raw log using i.e. IE
(please note the rime). Over a 100 MBit connection
this takes around 15-30 seconds depending on the computer. But lots
of our devs (several hundreds) are using this
over a 512k line. It takes ages to load the log file for them and
it's also a very slow process to find the relevant information
at times.
 
3. Verbosity
Most of the 2 MB log file consists of spam. Empty tags denoting a
task running. Worthless INFO and DEBUG style entries.
Let me take some examples by giving you a walkthrough of my builds.
 
My main build script begins with a clean task to remove the old
build artifacts. Here is the snipplet:
foreach item=Folder property=foldername
  in
items
  include name='client\**\bin'/
  include name='client\**\obj'/
/items
  /in
  do
delete dir='${foldername}' /
  /do
/foreach

And the log it procuces.
 
  target name=clean
task name=foreach
  task name=
task name=delete
  message
level=Info![CDATA[Deleting directory
'C:\CodeModules\Test\Montgomery\modules\fndadm\client\EventAdministration\bi
n'.]]/message
/task
  /task
  task name=
task name=delete
  message
level=Info![CDATA[Deleting directory
'C:\CodeModules\Test\Montgomery\modules\fndadm\client\EventAdministration\ob
j'.]]/message
/task
  /task

 
All of those log entries sums up to quite a few. But what for? The
only need I can see is if the task failed, but it's not.
A programmer would probably like to see that his delete task is
finding it's target and that the code gets ran, but as
a end user of nant it becomes an annoyance to have to scroll
through.
 
Next my build fetches the latest code from cvs. This time I'm
actually interested in what comes out as that will eventually
get transformed by CCNet into a build mail and a web page. Here's
the snipplet:
 
  target name=cvsup depends=init
exec program=${cvsprog} commandline=-q ${cvscompress}
-d${cvsroot} update -d -P /
  /target

When this task is logged normal information from CVS 

RE: [nant-dev] NAnt 0.85 release - how ?

2004-11-22 Thread Gert Driesen
 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On 
 Behalf Of Thibaut Barrère
 Sent: maandag 22 november 2004 11:26
 To: Gert Driesen
 Cc: [EMAIL PROTECTED]
 Subject: Re: [nant-dev] NAnt 0.85 release - how ?
 
  I haven't really given it too much though, but I don't 
 think we should have
  a very long rc period. We should really try to release versions more
  frequently, without sacrificing quality ofcourse.
 
 I was just thinking about those people who can't use nightly builds
 for corporate reasons, and situations where updating the nant version
 is not as seamless as it should be from a corporate point of view.
 
 But, ok, just a thought.
 
  
   As well there is much feedback from users who upgraded 
 from some 0.84
   or more recent nightly build to the latest. Is there plan 
 to include a
   consolidated feedback in the RC release notes ?
  
  If you think there's something missing from the release notes, I'd
  appreciate it if you could provide a patch containing improvements.
 
 I didn't mean to offense here really, and hope I didn't.

No, definitely not. I'm just very busy right now, so I'd appreciate any help
I can get ...

  I don't know
 if there is something precise missing, I just had this in mind because
 I saw many people on the list trying to update and facing some issues
 (including me). I wasn't aware of the work on release notes (now I
 am), as I didn't see it discussed here.
 
 Anyway, I'll have a look at what I noticed on the list, and try to see
 if the release notes are up to date with regard to that :)

Ok, great !

 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 ?

Gert



---
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 ?

2004-11-22 Thread Martin Aliger
  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'
:-)

Martin



---
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 ?

2004-11-22 Thread Ian MacLean
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] NAnt 0.85 release - how ?

2004-11-22 Thread Thibaut Barrère
ok I'll push a patch tonight then

--Thibaut


---
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


[nant-dev] Internal Error - can you help?

2004-11-22 Thread miguelcastro

NAnt 0.84 (Build 0.84.1455.0; net-1.0.win32;
release; 12/26/2003)
Copyright (C) 2001-2003 Gerry Shaw
http://nant.sourceforge.net

Buildfile: file:///C:/Inetpub/wwwroot/CCOM_Web/SupportFiles/TestBuild.build
Target(s) specified: Build

Build:


NantTestProject:

[solution] Starting solution build.
[solution] Building Microsoft.ApplicationBlocks.ExceptionManagement.Interfaces
[debug]...
[solution] Building Microsoft.ApplicationBlocks.ExceptionManagement
[debug]...
[solution] Building GotDotNet.ApplicationBlocks.Data
[debug]...
[solution] Building Chubb.Utility
[debug]...
[solution] Building EncryptionUtility
[debug]...
[solution] Building Chubb.FinancialIT.Common
[debug]...
[solution] Building Chubb.FinancialIT.CCOM.Common
[debug]...
[solution] Building Chubb.FinancialIT.CCOM.DAL
[debug]...
[solution] Building Chubb.FinancialIT.CCOM.BLL
[debug]...
[solution] Building Chubb.FinancialIT.CCOM.WebControls
[debug]...
[solution] Building CCOM_WEB [debug]...

 
onfailure:

 
  [echo] NANT Build Failed!

 
BUILD FAILED

 
INTERNAL ERROR

 
System.Runtime.Serialization.SerializationException: The type System
.ComponentModel.LicenseException in
Assembly System, Version=1.0.5000.0, Culture
=neutral, PublicKeyToken=b77a5c561934e089
is not marked as serializable.

Server stack trace:
 at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSeriali
ze(Object obj, ISurrogateSelector surrogateSelector,
StreamingContext context, S
erObjectInfoInit serObjectInfoInit,
IFormatterConverter converter)
 at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(O
bject obj, ISurrogateSelector surrogateSelector,
StreamingContext context, SerOb
jectInfoInit serObjectInfoInit, IFormatterConverter
converter)
 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObj
ectInfo objectInfo, NameInfo memberNameInfo,
NameInfo typeNameInfo)
 at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Obje
ct graph, Header[] inHeaders, __BinaryWriter
serWriter, Boolean fCheck)
 at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(S
tream serializationStream, Object graph,
Header[] headers, Boolean fCheck)
 at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.SerializeMessage
Parts(ArrayList argsToSerialize)
 at System.Runtime.Remoting.Messaging.SmuggledMethodReturnMessage..ctor(IMetho
dReturnMessage mrm)
 at System.Runtime.Remoting.Messaging.SmuggledMethodReturnMessage.SmuggleIfPos
sible(IMessage msg)
 at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[]
reqS
tmBuff, SmuggledMethodCallMessage smuggledMcm,
SmuggledMethodReturnMessage smug
gledMrm)
 at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(B
yte[] reqStmBuff, SmuggledMethodCallMessage
smuggledMcm, SmuggledMethodReturnMes
sage smuggledMrm)

Exception rethrown at [0]:
 at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
req
Msg, IMessage retMsg)
 at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData
msgDa
ta, Int32 type)
 at NAnt.DotNet.Tasks.LicenseGatherer.CreateLicenseFile(LicenseTask
licenseTas
k, String licenseFile)
 at NAnt.DotNet.Tasks.LicenseTask.ExecuteTask()
 at NAnt.Core.Task.Execute()
 at NAnt.VSNet.Resource.CompileLicx()
 at NAnt.VSNet.Resource.Compile(ConfigurationSettings
configurationSettings, B
oolean showCommands)
 at NAnt.VSNet.Project.Compile(String
configuration, ArrayList alCSCArguments,
String strLogFile, Boolean bVerbose,
Boolean bShowCommands)
 at NAnt.VSNet.Solution.Compile(String
configuration, ArrayList compilerArgume
nts, String logFile, Boolean verbose,
Boolean showCommands)
 at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask()
 at NAnt.Core.Task.Execute()
 at NAnt.Core.Target.Execute()
 at NAnt.Core.Project.Execute(String
targetName, Boolean forceDependencies)
 at NAnt.Core.Tasks.CallTask.ExecuteTask()
 at NAnt.Core.Task.Execute()
 at NAnt.Core.Target.Execute()
 at NAnt.Core.Project.Execute(String
targetName, Boolean forceDependencies)
 at NAnt.Core.Project.Execute()
 at NAnt.Core.Project.Run()

 
Please send bug report to [EMAIL PROTECTED]

 
Total time: 2.5 seconds.

Press any key to continue . . .

RE: [nant-dev] solution tag bug

2004-11-22 Thread Gert Driesen
Brad,

Can you verify whether you still get the error using the latest nightly
build (http://nant.sourceforge.net/nightly/latest/) ?

Thanks !

Gert 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On 
 Behalf Of Brad Langhorst
 Sent: zondag 21 november 2004 21:53
 To: [EMAIL PROTECTED]
 Subject: [nant-dev] solution tag bug
 
 as you requested... I'm reporting this as a bug
 
 
 H:\docs\coopmetrics\devel\Websitec:\program 
 files\nant\bin\nant.exe 
 CoopMetri
 cs.build
 NAnt 0.84 (Build 0.84.1455.0; net-1.0.win32; release; 12/26/2003)
 Copyright (C) 2001-2003 Gerry Shaw
 http://nant.sourceforge.net
 
 Buildfile: file:///H:/docs/coopmetrics/devel/Website/CoopMetrics.build
 Target(s) specified: CoopMetrics.build
  [solution] Starting solution build.
 
 BUILD FAILED
 
 INTERNAL ERROR
 
 System.NullReferenceException: Object reference not set to an 
 instance 
 of an obj
 ect.
at NAnt.VSNet.Reference..ctor(Solution solution, 
 ProjectSettings ps, 
 XmlEleme
 nt elemReference, SolutionTask solutionTask, String outputDir)
at NAnt.VSNet.Project.Load(Solution sln, String projectPath)
at NAnt.VSNet.ProjectFactory.LoadProject(Solution sln, 
 SolutionTask 
 slnTask,
 TempFileCollection tfc, String outputDir, String path)
at NAnt.VSNet.Solution.LoadProjects()
at NAnt.VSNet.Solution..ctor(String solutionFileName, ArrayList 
 additionalPro
 jects, ArrayList referenceProjects, TempFileCollection tfc, 
 SolutionTask 
 solutio
 nTask, WebMapCollection webMappings, FileSet excludesProjects, String 
 outputDir)
 
at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask()
at NAnt.Core.Task.Execute()
at NAnt.Core.Project.InitializeProjectDocument(XmlDocument doc)
at NAnt.Core.Project.Execute()
at NAnt.Core.Project.Run()
 
 Please send bug report to [EMAIL PROTECTED]
 
 Total time: 0.1 seconds.
 
 
 ---
 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] is-assembly patch

2004-11-22 Thread Gert Driesen

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On 
 Behalf Of Thibaut Barrère
 Sent: maandag 22 november 2004 23:09
 To: [EMAIL PROTECTED]
 Subject: [nant-dev] is-assembly patch
 
 Here's a patch implementing function 
 assembly::is-assembly(assemblyFilename). 
 
 I didn't not test it very extensively, so feedback welcome. Especially
 I noticed (if I'm not wrong) undocumented behavior, as
 AssemblyName.GetAssemblyName seems to throw a FileLoadException
 sometimes, where msdn doesn't state this can happen.

Should this be part of the assembly or file namespace (meaning
assembly::is-assembly or file::is-assembly) ?

Gert



---
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] is-assembly patch

2004-11-22 Thread Thibaut Barrère
good point! I put it in assembly in the patch, but now that you talk
about file, it sounds better. So I'd vote for file.

anyone else ??


On Mon, 22 Nov 2004 23:19:19 +0100, Gert Driesen
[EMAIL PROTECTED] wrote:
 
 
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On
  Behalf Of Thibaut Barrère
  Sent: maandag 22 november 2004 23:09
  To: [EMAIL PROTECTED]
  Subject: [nant-dev] is-assembly patch
 
  Here's a patch implementing function
  assembly::is-assembly(assemblyFilename).
 
  I didn't not test it very extensively, so feedback welcome. Especially
  I noticed (if I'm not wrong) undocumented behavior, as
  AssemblyName.GetAssemblyName seems to throw a FileLoadException
  sometimes, where msdn doesn't state this can happen.
 
 Should this be part of the assembly or file namespace (meaning
 assembly::is-assembly or file::is-assembly) ?
 
 Gert
 



---
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


[nant-dev] Fileset / delete task change

2004-11-22 Thread Gert Driesen
Hi Matthew,

I've had another look at how our delete task is working right now, and the
more I think of it, the more I'm convinced that we should change it to match
the Ant delete task.

Right now, we remove all directories that are matched by the fileset. But
this does not respect any excludes.

When you have the following directory structure :

project base directory\
test\
web.config
subdir\
web.config

And you'd execute the following task :

delete
fileset basedir=.
include name=test/**/* /
exclude name=test/**/web.config /
/fileset
/delete

Then the project base directory\test\subdir would be completely removed
(although, there's a web.config file in there that should not be deleted),
as that directory is returned in the DirectoryNames collection of the
fileset, and alls path returned in that collection are completely removed by
the delete task.

Instead, it might be better to first remove all matching files, and then
remove all matching directories that are empty (and do this only if
includeemptydirs is set to true).

What do you think ?

Gert




---
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