[nant-dev] NAntContrib
I am a bit confused. Is NAntContrib going away? From my understanding it was meant to be a standard place where people could share any tasks that they had written, regardless of weather they were deemed usefull by the NAnt team. If the NAnt team thought a task was usefull enough to a large audience then they could cherry pick from the NAntContrib and include it in a future release. I don't see the need to include ALL tasks into NAnt (but I do think that most of the tasks submitted are generally usefull), and that tasks not included should stay in NAntContrib. brant ... - Original Message - From: Gert Driesen [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Sunday, June 29, 2003 6:33 AM Subject: Re: [nant-dev] Namespaces and NAnt.Cnntrib tasks Looks pretty much ok, some minor comments/questions inline ... - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Sunday, June 29, 2003 2:56 PM Subject: [nant-dev] Namespaces and NAnt.Cnntrib tasks Gert Driesen wrote: Will you first make a proposal for incorporating the NAntContrib tasks into NAnt regarding source location, namespace and perhaps class name (don't know if we'll be needing to change class names as well, though). below is my basic proposal for where I see the nantcontrib tasks fitting into nant. Source location and namespace are effectively the same thing in our source structure. I'm not too bothered whether everything is moved before the next release because users will be able to use them all regardless. Some of these tasks need some work with regard to formatting, code style etc and I would prefer to have that done before they are moved. comments suggestions ? NAnt.DotNet AssemblyInfoTask.cs DiscoTask.cs GacTask.cs NGenTask.cs WsdlTask.cs XsdTask.cs VersionTask.cs TypedCollectionTask.cs NAnt.Win32 ADSIBaseTask.cs ADSIGetPropertyTask.cs ADSISetPropertyTask.cs Are these actually win32 specific tasks ? Their name does suggest that, but these are using System.DirectoryServices right ? We can leave them in Win32 for now, and decide later ... TlbExpTask.cs TlbImpTask.cs AxImpTask.cs COMRegisterTask.cs RegasmTask.cs Vb6Task.cs NAnt.VisualCpp RcTask.cs MidlTask.cs McTask.cs NAnt.NUnit.NUnit2 NUnitReportTask.cs Hasn't this task been supersedes by http://nunit2report.sourceforge.net ? NAnt.SourceControl.SourceSafe AddTask.cs BaseTask.cs CheckinTask.cs CheckoutTask.cs GetTask.cs LabelTask.cs UndoCheckoutTask.cs Will this be NAnt.SourceControl.SourceSafe.Tasks or NAnt.SourceControl.Tasks.SourceSafe ? General/NAnt.Core ?? ScpTask.cs ValidateXmlTask.cs CodeStatsTask.cs ConcatTask.cs not too sure about the usefulness of the CodeStatsTask here. Shouldn't it be in NAnt.DotNet anyway ? unknown - stay in NAnt.Optional ? ChecksumTask.cs HxCompTask.cs HxRegTask.cs IISTasks.cs MailExTask.cs MgmtClassGenTask.cs MSITask.cs MSMTask.cs RecordTask.cs SchemaValidatedTask.cs SlingshotTask.cs SqlTask.cs NAnt.Optional.StarTeam ... eg. right now, the vss tasks are in a separate namespace in NAntContrib, but we have no(t yet a) separate namespace for the cvs tasks. we should try to make it all consistent, I think of course. Can you think of a name for the directory containing the cvs tasks that isn't 'CVS' ? I'm afraid not ... Gert --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0016ave/direct;at.asp_061203_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0016ave/direct;at.asp_061203_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Contributing
I have found some other bugs/issues as well. [1] The NeedsCompiling() method doesn't check if the project file has been modified. This means if you edit the project file it won't get recompiled. (For example if you change the output path). [2] It doesn't support/read in the DefineDebug and DefineTrace statements from .vbproj files. In general the vb support is not fully implemented. I am considering sub-classing the Project class into VBProject and CSProject to handle the differences. [3] I am also considering adding an attribute called referencepath. The solution task reads this from the HintPath in the proj file however VS.NET like to maintain this in a .user file. [4] If your reference is marked as CopyLocal=True (which translates into NOT having a Private=False in your project file) the solution task is VERY slow. I haven't been able to trace down exactly what its doing yet. I will be working on a patch for these soon. brant ... - Original Message - From: Tom Cabanski [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, August 13, 2003 2:47 PM Subject: [nant-dev] Contributing I've cleaned up a variety of little bugs in the solution task as follows: Leaks temp files under some circumstances (e.g. read-only files cannot be deleted). Fixed. Define settings are not read from project file (e.g. TRACE;DEBUG). Fixed. Resource compiles blow up under some circumstances because of changes to the ResGen task. Fixed. I've also added a couple new features because the WebDAV thing was such a pain. The Solution task now includes the following attributes: webmap(optional): A fileset that maps the URL of web projects to the physical path. solution ... webmap map url=http://localhost/a/a.csproj path=c:\inetpub\wwwroot\a\a.csproj/ map url=http://localhost/b/b.csproj path=c:\inetpub\wwwroot\b\b.csproj/ /webmap /solution Outputdir(optional): The name of the path where output DLLs and EXEs will be placed. This overrides settings from the project file. excludeprojects (fileset) (optional): Projects that will not be built. I added this because when building from a solution it does not honor the Build|Configuration Manager settings for the configuration. I checked the .csproj and .sln files for these settings but they aren't there. I guess they are buried in the .suo or .user files. Anyway, my project has a bunch of sample applications that we only want to build as part of the release and this was a handy way to set it all up. Per my email exchange with Ian, I have cleaned up my braces and changed tabs into 4 spaces. Note that the existing files did not follow the naming conventions so I cleaned up a bit of original code too (put braces on the same line as the opening keyword, got rid of explicit private declarations for member variables etc.). I'm pretty sure I caught all the ones I had in my original patch attempt. I have also eliminated the upcasts of _nanttask to SolutionTask; instead I pass the parameters of the solution task down the line as needed. This certainly makes the Solution, Project and related classes more general and possibly more reusable. Please notify me if the patch cannot be applied. We are currently having some trouble with the resource generation and how it works in some cases. As best we can tell, sometimes the resource names end up with double dots. Anyway, I want to take a look at this as soon as possible but am hesitant to do so until I am sure I am adhering to the proper standards so my code changes can make it into the official source. The bottom line here is I really don't want to maintain my own custom version of NAnt. The patch is copied inline below and is also attached as 20030813.txt. - TFC cvs diff (in directory C:\cvsroot\nant\nant\src\NAnt.VSNet\) ? Attributes ? Types cvs server: Diffing . Index: ConfigurationSettings.cs === RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/ConfigurationSettings.cs,v retrieving revision 1.4 diff -r1.4 ConfigurationSettings.cs 30c30 public ConfigurationSettings( ProjectSettings ps, XmlElement elemConfig ) { --- public ConfigurationSettings( ProjectSettings ps, XmlElement elemConfig, Task nanttask, string outputDir ) { 32,33c32,43 _strRelOutputPath = elemConfig.Attributes[ OutputPath ].Value; _strOutputPath = new DirectoryInfo( ps.ProjectRootDirectory + @\ + elemConfig.Attributes[ OutputPath ].Value ).FullName; --- _nanttask = nanttask; if (outputDir == null || outputDir.Trim().Length == 0) { _strRelOutputPath = elemConfig.Attributes[ OutputPath ].Value; _strOutputPath = new DirectoryInfo( ps.ProjectRootDirectory + @\ + elemConfig.Attributes[ OutputPath ].Value ).FullName; } else { _strRelOutputPath = outputDir; if (!_strRelOutputPath.EndsWith
Re: [nant-dev] IncludeTask / failonerror
Was there ever any decision on this? IMO allowing multiple includes makes managing multiple build files much easier. brant ... - Original Message - From: Gert Driesen [EMAIL PROTECTED] To: Brant Carter [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Friday, August 15, 2003 1:40 AM Subject: Re: [nant-dev] IncludeTask / failonerror Hi Brant, The IncludeTask already supports failonerror, as support for failonerror is implemented in the Task base class. I did make some minor modifications just now that will make it more clear as to what is causing the include task to fail. Ian, should we allow a file to be included twice (well actually just once, but throw no exception when the same file is mapped again) ? Currently, in LocationMap there's a check that prevents such a scenario : if (_fileMap.ContainsKey(fileName)) { throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, XML document '{0}' has already been mapped., fileName)); } Gert - Original Message - From: Brant Carter [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, August 14, 2003 11:24 PM Subject: [nant-dev] IncludeTask / failonerror I have been setting up my build files and noticed that the include task does not support the failonerror attribute properly. I have the following situation I am trying to support. common.build : common stuff sub.build : a subsystem build file, includes common.build master.build : the main build file, includes common.build, sub.build the include task was busting since common.build is included in both spots. Adding a failonerror=false and changing the following code in the IncludeTask seemed to have fixed the problem. can I get this change committed? b protected override void ExecuteTask() { // push ourselves onto the stack (prevents recursive includes) string includedFileName = Path.GetFullPath(Path.Combine(_currentBasedir, BuildFileName)); _includedFileNames.Push(includedFileName); _nestinglevel ++; Log(Level.Verbose, LogPrefix + Including file {0}., includedFileName); string oldBaseDir = Project.BaseDirectory; // set basedir to be used by the nested calls (if any) _currentBasedir = Path.GetDirectoryName(includedFileName); try { XmlDocument doc = new XmlDocument(); doc.Load(includedFileName); Project.InitializeProjectDocument(doc); } catch (BuildException) { if (FailOnError) { throw; } } catch (Exception e) { if (FailOnError) { throw new BuildException(Could not include build file + includedFileName, Location, e); } } finally { // pop off the stack _includedFileNames.Pop(); _nestinglevel--; // reset base\dir _currentBasedir = oldBaseDir; } } From: Ian MacLean [EMAIL PROTECTED] To: Brant Carter [EMAIL PROTECTED] CC: [EMAIL PROTECTED], [EMAIL PROTECTED] Subject: [nant-dev] Re: NAntContrib Source Date: Wed, 13 Aug 2003 13:19:37 +0900 You can grab it from anonymous nantcontrib cvs using cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/nantcontrib login cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvsroot/nantcontrib co -r BRANCH-083 NAntContrib NAntContrib source isn't bein distributed with the 0.83 release. Ian Where can I get the NAntContrib source that is being use for the 0.83 release. I downloaded the source for NAnt and the binaries are in the \bin folder. The nightly builds for NAntContrib aren't correct. If someone has these files that would be appreciated. thanks brant _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0013ave/direct;at.aspnet_072303_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers _ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio
Re: [nant-dev] NAnt and Serviced Components
This task already exists, but in a limited form (the IISTask). It would be a good starting point. brant ... - Original Message - From: John Lam [EMAIL PROTECTED] To: NAnt developers (E-mail) [EMAIL PROTECTED] Sent: Tuesday, September 02, 2003 9:32 PM Subject: RE: [nant-dev] NAnt and Serviced Components One other task I just thought of: 8) An IIS metabase task that lets me whack various IIS settings like the authentication mode used in a virtual directory and map new filename extensions to aspnet_isapi.dll. -John http://www.iunknown.com -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Lam Sent: Wednesday, September 03, 2003 12:26 AM To: NAnt developers (E-mail) Subject: [nant-dev] NAnt and Serviced Components Hi Folks, I just want to get an update on who's working on what in NAnt. I took a quick peek at the sources for NAnt/NAntContrib and it looks like there's a bit of room left for improvement. But I just wanted to ping the list to make sure that there aren't folks already working on these things and to check to see if I missed something in my quick peek at the sources. One of the major problems in a build is the deployment phase. Here are a few deployment-related tasks that I'm itching to build to solve some of these problems: 1) A server happiness task that lets you snoop around on the server to see what's there. 2) An Enterprise Services task that generates the appropriate COM+ catalog goo. 3) An extension to the AssemblyInfo task to generate all of the appropriate Enterprise Services goo. 4) Some combination of tasks to handle the delay-signing problem (I still have to think this one through). 5) A deployment task that auto-generates passwords for new accounts, and makes them available to other NAnt tasks for the duration of NAnt run - the idea here is to let you create new accounts and set the RunAs attribute in a COM+ application - but I'm sure the utility could be extended to other things that require generated passwords. 6) A SQL task that lets you whack / set ACL's on SQL server objects. 7) A modification of the existing SQL task that lets you run osql using integrated authentication and the specified username / password combination. Can folks suggest additional tasks required for deployment of ASP.NET applications based on their own experiences? I'll add them to my list. Thanks, -John http://www.iunknown.com --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 8/4/2003 --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] C++ projects in solution
Please consider refactoring the existing project class into separate classes ie: BaseProject, CSharpProject, VBNetProject and CPlusPlusProject this will help keep the subtle details of each project file separate. This was on my list of contributions but I haven't had time to start on it yet. thanks b - Original Message - From: Dmitry Jemerov [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Sunday, September 14, 2003 12:07 AM Subject: [nant-dev] C++ projects in solution Hello nant-developers, Is anyone currently working on adding support for C++ projects to the solution task? I'd like to start working on that now, if noone else is already doing that. -- Best regards, Dmitry mailto:[EMAIL PROTECTED] --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.515 / Virus Database: 313 - Release Date: 9/2/2003 --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Redesigned homepage
Is there any reason why we don't just use the existing Wiki as the Default Home page; and build up the content from that? If the existing Wiki isn't great (which I don't think it is); we could move to a nicer / fancier one like MediaWiki. I have used OpenWiki as well which is very nice and stylable. just a suggestion. cheers b --- 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
[nant-dev] Specifing a Startup Object with VBC
I found this msg in the archive with no answer: Hi I am busy compiling an exe and it requires a point of entry class (start up object), how do I declare this in the vbc target? Thanks Rosemarie Leighton (Financial IQ) The following works for me vbc target=winexe main=Form1 output=${output} debug=${debug} define=${define} doc=${doc} rootnamespace=App1 .../ arg value=/m:App1.Form1 / Adding the arg tag with the /m option. brant ... _ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail --- This SF.NET email is sponsored by: Take your first step towards giving your online business a competitive advantage. Test-drive a Thawte SSL certificate - our easy online guide will show you how. Click here to get started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] NUnit Error With NAnt...
You might want to look at this article. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/htm l/cpconspecifyingassemblyslocation.asp I am pretty sure that the default is for it to look in the GAC and then to look in the current directory. You may have to specify your values in a nant.exe.config file (or possibly the nunit.exe.config file). I haven't confirmed this yet as I haven't ventured into NUnit/NAnt integration just yet. brant ... - Original Message - From: Scott Hernandez [EMAIL PROTECTED] To: Sansone, Aaron [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Thursday, January 16, 2003 4:48 PM Subject: Re: [nant-dev] NUnit Error With NAnt... We also have, and have had, the same problems with NAntContrib for a while. Here is some background. http://sourceforge.net/mailarchive/message.php?msg_id=2372560 If you find any solution, or have any ideas, please feel free send them around. I'm just now starting to look into it. :) - Original Message - From: Sansone, Aaron [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, January 16, 2003 2:18 PM Subject: [nant-dev] NUnit Error With NAnt... All, I have the latest snapshot (1/14) of NAnt and I am trying to create a test build script. Apparently the NUnit2 Testing task is looking for my Assembly in the NAnt installation directory. If I copy my Assembly to the C:\NAnt\bin directory, my test tasks are run. However, I don't belive that this is the intended way to run NAnt-NUnit tasks. Is there a way to force the NUnit task to look as a specific directory for my assembly? Here are my relevant build file entries. Notice that I am specifying the absolute path for the assembly. I've tried several permutations of the assembly location, but only when I placed it in the NAnt/bin directory did I have any success. Properties: property name=project.basedir value=C:/Projects/SpikeSolution/ property name=build.dir value=build/ property name=project.ClientExe.name value=SpikeWinClient/ NAnt Task: nunit2 basedir=${project.basedir}\${build.dir} test assemblyname=${project.basedir}\${build.dir}\${project.ClientExe.name}.exe / /nunit2 When I execute the script, I get the following Error: INTERNAL ERROR System.IO.FileNotFoundException: File or assembly name SpikeWinClient, or one of its dependencies, was not found. File name: SpikeWinClient at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, B oolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Ass embly locationHint, StackCrawlMark stackMark) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark stackMark) at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence as semblySecurity, StackCrawlMark stackMark) at System.AppDomain.Load(String assemblyString) at NUnit.Core.TestSuiteBuilder.Build(String assemblyName) at SourceForge.NAnt.Tasks.NUnit2.NUnit2Task.runTest(NUnit2Test test, EventLis tener listener) at SourceForge.NAnt.Tasks.NUnit2.NUnit2Task.ExecuteTask() at SourceForge.NAnt.Task.Execute() at SourceForge.NAnt.Target.Execute() at SourceForge.NAnt.Project.Execute(String targetName) at SourceForge.NAnt.Tasks.CallTask.ExecuteTask() at SourceForge.NAnt.Task.Execute() at SourceForge.NAnt.Target.Execute() at SourceForge.NAnt.Project.Execute(String targetName) at SourceForge.NAnt.Project.Execute() at SourceForge.NAnt.Project.Run() Fusion log follows: === Pre-bind state information === LOG: DisplayName = SpikeWinClient (Partial) LOG: Appbase = C:\NAnt\bin\ LOG: Initial PrivatePath = NULL Calling assembly : nunit.framework, Version=2.0.6.0, Culture=neutral, PublicKeyT oken=96d09a1eb7f44a77. === LOG: Policy not being applied to reference at this time (private, custom, partia l, or location-based assembly bind). LOG: Post-policy reference: SpikeWinClient LOG: Attempting download of new URL file:///C:/NAnt/bin/SpikeWinClient.DLL. LOG: Attempting download of new URL file:///C:/NAnt/bin/SpikeWinClient/SpikeWinC lient.DLL. LOG: Attempting download of new URL file:///C:/NAnt/bin/SpikeWinClient.EXE. LOG: Attempting download of new URL file:///C:/NAnt/bin/SpikeWinClient/SpikeWinC lient.EXE. Please send bug report to [EMAIL PROTECTED] Thanks, Aaron --- This SF.NET email is sponsored by: Thawte.com Understand how to protect your customers personal information by implementing SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo
Re: [nant-dev] Fileset references
+1 for this. This would be really sweet. brant ... From: Philip Nelson [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [nant-dev] Fileset references Date: Thu, 20 Mar 2003 11:15:20 -0800 (PST) So the two valid forms would be: 1.) (how things work now) foreach ... !-- stuff to do -- / 2.) foreach ... in/ do !--Stuff to do -- / / What I would love to see is: fileset ID=foo include .. /fileset attrib readOnly=false fileset ref=foo / /attrib foreach ...type=FileSet ref=foo do !--Stuff to do -- / / in addition to the more verbose sorts... foreach ... in fileset ref=foo / fileset /fileset /in do !--Stuff to do -- / / Fileset references are something ant had a long time ago and would really reduce the size of my build files tremendously. --- This SF.net email is sponsored by: Tablet PC. Does your code think in ink? You could win a Tablet PC. Get a free Tablet PC hat just for playing. What are you waiting for? http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers _ The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=features/junkmail --- This SF.net email is sponsored by: Tablet PC. Does your code think in ink? You could win a Tablet PC. Get a free Tablet PC hat just for playing. What are you waiting for? http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en ___ Nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution Task Issues
I am trying to get the solution task to work and found a couple of things that might make my (and others?) life easier. [1] When looking for references it uses the HintPath element on the project. Unfortunately this is not a reliable way to locate references. Visual Studio actual uses a .user file to store the location of references (ugly I know). It would be nice if the solution task could accept an element that would specify the location of shared references (ie: referencepath=${lib.dir} or something) [2] The solution task crashes if you don't specify a default framework. It uses the location of the GAC and if its not set you get a Null Reference Exception. brant ... _ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0013ave/direct;at.aspnet_072303_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] NAntContrib Source
Where can I get the NAntContrib source that is being use for the 0.83 release. I downloaded the source for NAnt and the binaries are in the \bin folder. The nightly builds for NAntContrib aren't correct. If someone has these files that would be appreciated. thanks brant _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 --- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa0013ave/direct;at.aspnet_072303_01/01 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
[nant-dev] Solution task Output Assemblies
When compiling with devenv it will overrite the output assembly regardless of its file attributes (ie: ReadOnly). The solution task does not do this. Here is a patch to synch the two behaviours: NAnt.VSNet/Project.cs //THIS LINE MAKES THE OUTPUT FILE WRITTABLE System.IO.File.SetAttributes (cs.FullOutputFile , System.IO.FileAttributes.Normal ); // ProcessStartInfo psi = null; if ( _ps.Type == ProjectType.CSharp ) { psi = new ProcessStartInfo( Path.Combine( _nanttask.Project.CurrentFramework.FrameworkDirectory.FullName, csc.exe ), @ + strTempFile ); } if ( _ps.Type == ProjectType.VBNet ) { psi = new ProcessStartInfo( Path.Combine( _nanttask.Project.CurrentFramework.FrameworkDirectory.FullName, vbc.exe ), @ + strTempFile ); } _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 --- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] last suggestion - Solution task again
We solved this problem by creating a tool to update the .user files for each developer. It scans the directory tree and then creates a .user file for each .proj file with the correct reference path for that workstation. brant ... From: Martin Aliger [EMAIL PROTECTED] To: Matthew Mastracci [EMAIL PROTECTED] CC: ! nant [EMAIL PROTECTED] Subject: Re: [nant-dev] last suggestion - Solution task again Date: Mon, 25 Aug 2003 10:52:59 +0200 I'd recommend against comparing only filenames. This will likely end up causing trouble down the line. VS.NET is certainly a mess when it comes to hint paths, but I've found that they are generally accurate. I don't even think it uses them half of the time. :) Can you describe your situation with more detail (perhaps some examples) so I can see what is happening?. Sure. This is case, when more developers make some projects and upload them into build server. Than it should compile all that projects from several developers. Of course, every developer have another path in their .csproj files and that do not exists on server. Similar think could happen when you copy project around machines or even move to another disk. I think this is important to solve maybe with help of some attributes. There must be some way from this mess :-) Thanks! Martin Last one - and I'm not sure there. There are problems with references between projects when projects have different output paths. Project references are ok, but external refenreces sometimes brokes. Currently nant compares files as full pathnames using path from HintPath attribute. I suggest to compare filenames as names only without path. Could this be a problem? It works for me, but... Btw: Visual studio is real mess in this. Hope nant could be better! :) I send patch I made, but consider this as suggestion, not real patch --- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 --- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Licensing
I think we should ask ourselves what types of uses we would want NAnt to be available to. Here are two scenarios. [1] A commerical company wants to release a custom task and charge money for it. Do we want to allow this? [2] A commerical company wants to distribute a customized version of NAnt as part of its software package (ie: A compiler company, IDE developer) and charge money for the entire package. Do we want to allow this? [3] A company creates a large software package that requires it to be built by the end customer. Are they allowed to distribute NAnt to do this? What if they modified NAnt in some way? brant ... _ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail --- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] New to the list
I was having this same problem! Thanks for the script. +1 for a ant task brant ... From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [nant-dev] New to the list Date: Fri, 19 Mar 2004 08:57:55 -0500 Hi everyone! I joined this list because there are some differences between Nant and Ant which have been causing me trouble. I wanted to post my solutions in the hopes that they may be useful. If it's stuff that's already been thought of, just tell me to shut up :) The first problem I ran up against was running Ant from Nant. On the Windows platform, Ant is run through a batch file which does not communicate the program exit code. So the Nant build always believes that the Ant build succeeded. To get around this, I actually call the Java class file like so: exec program=${java.home}/bin/java.exe workingdir=${mbpa.home} commandline=-classpath ${ant.cp} org.apache.tools.ant.launch.Launcher build failonerror=true / This is obviously not a problem, however getting the classpath correct is a pain because you have to add all the jars in the ant/lib directory since Nant doesn't have any clue what a Java classpath is. To achieve this, I wrote a little script: script language=C# code![CDATA[ public static void ScriptMain( Project project ) { string ald = project.Properties[ant.home] + /lib; string jh = project.Properties[java.home]; string cp = jh + /lib/tools.jar; DirectoryInfo di = new DirectoryInfo(ald); FileInfo[] files = di.GetFiles(*.jar); foreach (FileInfo fi in files) cp += ; + ald + / + fi.Name; project.Properties[ant.cp] = cp; } ]]/code /script _ Add photos to your e-mail with MSN Premium. Get 2 months FREE* http://join.msn.com/?pgmarket=en-capage=byoa/premxAPID=1994DI=1034SU=http://hotmail.com/encaHL=Market_MSNIS_Taglines --- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470alloc_id=3638op=click ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] solution changes
In the 0.84 build there is a bug (keep forgeting to get an official patch) where the solution task will fail if the output assembly is read-only on the drive. Normally you would think this is the desired behaviour but it is different that what VS.NET does. We actually rely on this bug to make our builds work. here is how I patched it (on 0.84) (look for the -) File: Project.cs public override bool Compile(string configuration, ArrayList alCSCArguments, string strLogFile, bool bVerbose, bool bShowCommands) { bool bSuccess = true; ConfigurationSettings cs = (ConfigurationSettings) _htConfigurations[configuration]; if (cs == null) { Log(Level.Info, LogPrefix + Configuration {0} does not exist. Skipping., configuration); return true; } Log(Level.Info, LogPrefix + Building {0} [{1}]..., Name, configuration); Directory.CreateDirectory(cs.OutputDir); // perform prebuild actions (for VS.NET 2003) if (ProjectSettings.RunPostBuildEvent != null) { bSuccess = PreBuild(cs); } // ensure the temp dir exists Directory.CreateDirectory(TempFiles.BasePath); string tempResponseFile = Path.Combine(TempFiles.BasePath, Project.CommandFile); using (StreamWriter sw = File.CreateText(tempResponseFile)) { if (CheckUpToDate(cs)) { Log(Level.Verbose, LogPrefix + Project is up-to-date.); if (ProjectSettings.RunPostBuildEvent != null) { PostBuild(cs, true, false); } return true; } foreach (string setting in alCSCArguments) { sw.WriteLine(setting); } foreach (string setting in ProjectSettings.Settings) { sw.WriteLine(setting); } foreach (string setting in cs.Settings) { sw.WriteLine(setting); } if (_projectSettings.Type == ProjectType.VBNet) { sw.WriteLine(_imports); } Log(Level.Verbose, LogPrefix + Copying references:); foreach (Reference reference in _htReferences.Values) { Log(Level.Verbose, LogPrefix + - + reference.Name); if (reference.CopyLocal) { if (reference.IsCreated) { string program, commandLine; reference.GetCreationCommand(cs, out program, out commandLine); Log(Level.Verbose, LogPrefix + program + + commandLine); ProcessStartInfo psiRef = new ProcessStartInfo(program, commandLine); psiRef.UseShellExecute = false; psiRef.WorkingDirectory = cs.OutputDir; try { Process pRef = Process.Start(psiRef); pRef.WaitForExit(); } catch (Win32Exception ex) { throw new BuildException(string.Format(Unable to start process '{0}' with commandline '{1}'., program, commandLine), ex); } } else { StringCollection fromFilenames = reference.GetReferenceFiles(cs); // create instance of Copy task CopyTask ct = new CopyTask(); // inherit project from solution task ct.Project = SolutionTask.Project; // inherit parent from solution task ct.Parent = SolutionTask.Parent; // inherit verbose setting from solution task ct.Verbose = SolutionTask.Verbose; // make sure framework specific information is set ct.InitializeTaskConfiguration(); // set parent of child elements ct.CopyFileSet.Parent = ct; // inherit project from solution task for child elements ct.CopyFileSet.Project = SolutionTask.Project; // set task properties foreach (string file in fromFilenames) { ct.CopyFileSet.Includes.Add(file); } ct.CopyFileSet.BaseDirectory = reference.GetBaseDirectory(cs); ct.ToDirectory =