Re: Re: [nant-dev] Separating targets into individual files
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 ?
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
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 ?
-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 ?
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 ?
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 ?
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?
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
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
-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
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
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