> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Stephen Lewis > Sent: dinsdag 16 november 2004 22:16 > To: [EMAIL PROTECTED] > Subject: [Nant-users] Report: Upgrade from May version to > Novemeber version > > I finally upgraded from using 0.85 ~ May 21 or so to 0.85 Nov 15, 2004 > version. For those of you thinking about making this move, > here I some > of the things I ran into in my build files: > > (1) string::substring no longer takes -1 length to represent > the end of > the string.
Indeed, it now matches/uses String.Substring. This behaviour is also clearly documented. > (2) Properties that you pass into nant are now read only. I had some > <property> settings at the beginning of the build file that wrote in > default values. I added some unless... tags to them. This change is definitely for the better, we should at least bring it to your attention that the value of the property was not changed. In previous versions of NAnt, we would just silently ignore the new value. > The > error message > was cryptic, saying that "{0} cannot be overwritten". Sounds > like a bug > in the error reporting, too. (String.Format??) This is now fixed. Also, when trying to overwrite a read-only property using the <property> task, then you get a warning not an error message. However, if you ty to override a read-only property using other tasks, the build will fail. > > (3) Some names of attributes of some of my custom tasks were > not entered > correctly. The older version of nant did not catch this, but the new > version does. I was able to correct attribute names. Again, this is an improvement not an issue. I'm sure you agree. > > (4) Some C++ projects that I had been building could no > longer find some > of my files -- namely I construct a CommonAssemblyAttributes.cpp file, > but it is in another folder. I had an <includefolder> tag, but that > doesn't seem to do the job anymore. I copied the file into > the current > build folder, and the problem is solved. Can you provide a repro for this issue ? > (5) All by project build files link specifically to nunit as > a literal, > i.e. > <csc ...> > <references> > ... > <include name="C:\program files\nunit > v2.1\bin\nunit.framework.dll"/> > ... > </references> > </csc> > Now <Nunit2> only likes NUnit2.2, and complains about using v > 2.1. The > problem is that if I want to build earlier versions of my > program (using > the previous .build files) with the newest NANT, generate the <config> > file for each of my projects to redirect nunit! Yuck. I'm thinking > about making a property in my build file called build.nantversion. If > build.nantversion is <2.2, I can generate the config file on > the fly for > each test. I can also generate a property called build.nantdll that > contains something like "C:\Program Files\nunit > v2.1\bin\nunit.framework.dll" or such to pass to the > individual projects > to use in the references sections. I agree that the dependencies our support for NUNit, Ndoc, ... is too much tied to a specific version. We'll need to discuss possible solutions for this after the 0.85 release. > > (6) I used assembly::get-name to get the assembly name from a string. > This used to return a string, but now returns something else. I have > changed that to assemblyname::get-assembly-name. Our docs need to be improved a lot in this area. Keep the patches coming ;-) > (7) Is there a way to determine if a dll is a managed > assembly? Not all > my dlls are managed. In the past, running <nunit2> on an unmanaged > assembly would cause it to fail. The expedient solution was to keep a > list of which dlls where unmanaged and skip the unit tests on them. You could use this : <property name="test" value="${assemblyname::get-assembly-name('......')}" failonerror="false" /> <if test="${property::exists('test')}"> <!-- the assembly is valid --> </if> However, you will get some warning messages in the build log. > > (8) I had to rebuild my custom tasks (all related to TeamCoherence > source control) An easy solution would be : contribute them to the NAntContrib project ;-) Thanks for the feedback ! Gert ------------------------------------------------------- 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-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-users