Thibaut Barrère wrote:

...
We have some third party library (namely, Syncfusion Essential Suite) which is massively used in our components (here the CCNet+NAnt setup drives 60+ solutions). A new release came out with a change in the licensing strategy (the content of the .licx file had to be updated), and also with a breaking change of assembly names (such as : each previous dependency was split in two, plus another 'Core' dll had to be referenced).

With NAnt I was able to :
- determine the project files where a change was required (thanks to fileset + patterns + recursivity + small c# custom task)

find . -name "*proj" | xargs grep Syncfusion (or whatever the right search term is to identify the files)

The power of the find utility is one of the things I miss most when working with NAnt.

...The whole operation took me one day (alone, and working in isolation from the team).

The other ways would have been to use the GUI-only tools provided and let people do their changes (= chaos, most likely!), or use a make / bash / batch script, but in my case I dare say I would have been much slower, and much more likely to cause errors.

Without all the details, I don't know how long it would have taken me, though I'm pretty sure the first two tasks in your list would have been quite quick. Line-oriented files like .licx files are snack food for sed and grep. For XML, I'd probably use NAnt for tiny updates and other tools if it were more complicated.

But this is where the first value of the Agile Manifesto shows itself: "Individuals and Interactions over processes and tools." It really doesn't matter that you would do it with one set of tools, and I'd use a different set. What matters is doing it the way that feels best for us, while always striving to learn more.


The things I especially like about NAnt/Ant for such operations is the error handling (by default, it fails fast, where a script usually does not fail so quickly by default - it requires more care to achieve this), the tasks which are provided (such as interacting with VSS), and the cheap extensibility (custom tasks, or scripts, comes very handy).

One of the things I dislike most about NAnt/Ant is the ugly and expensive extensibility, but see my previous paragraph.

Gary




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to