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.

(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.  The error message
was cryptic, saying that "{0} cannot be overwritten".  Sounds like a bug
in the error reporting, too. (String.Format??)

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

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

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

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

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

(8) I had to rebuild my custom tasks (all related to TeamCoherence
source control)

Stephen Lewis
Envisioneering LLC - Medical Products
St. Louis, MO 63114
(314) 429-7367 x112
 



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

Reply via email to