Martin Gainty wrote:
Good Morning/Bonjour
I would like to ask Gary if there any version of make has capability
to handle building a solution such as the Nant Task solution
keeping in mind that the solution task handles all permutations of
environment development, uat, qa, release as well as
the ability for solution task to include n number of csproj/vbproj
projects
as well as the ability for the solution task to exclude n
csproj/vbproj projects
http://nant.sourceforge.net/release/latest/help/tasks/solution.html
Why yes, it does.
As I said a few days ago, "NAnt benefits from having a centralized
repository of tasks, so that we don't each have to build our own
solution task from scratch, but that's a packaging deficiency with
make/bash, not a technical one."
There's nothing stopping anyone from writing an implicit make rule using
%.dll : %.csc, or even %.dll : %.netmodule and %.netmodule : %.csc .
There's also nothing stopping anyone from right a tool that scans .sln
and .*proj files to produce fragments of makefiles. That's essentially
the way dependency files for C/C++ are generated for make, using the -M
option to the gcc compiler, for example.
The point I'm trying to make is that's also the way NAnt works.
Somewhere along the way, someone wrote parsers for solution and project
files that got incorporated into the solution task. Early versions of
the solution task couldn't handle every type of project file properly;
I'm not sure if they've solved the problem that Visual Studio would
sometimes create project files that weren't well-formed XML. I also
haven't been following the state of VS 2005 solution files, but the last
I checked, they couldn't be handled at all. But, as I'm trying to say
when I quoted myself above, this concerns a task that happens to come
bundled with NAnt - it's not something that's inherent in NAnt. In
other words, it's trivially easy to build a version of NAnt with no
solution task, but it would still be NAnt - just like NAnt without a
solution task that can handle VS 2005 solution files is still NAnt.
In fact, I'm fairly certain that some tasks got moved from NAnt to
NAntContrib or vice versa. For most tasks, it's much easier to move
them between those two packages than it is to write them in the first
place. That's not the case for most make equivalents - it's often
easier to write them than it is to move them from one build system to
another, because of the zillion different ways people design build
systems using make. Hence, there's no real central repository for make
add-ons, nor is there much demand for one.
If individual tasks aren't really the essence of NAnt, then what is the
essence? It's the dependency analysis, the control flow constructs, the
properties, the functions, and the extensibility model.
Gary
PS Remember my original question for this tangent was what sort of
things other than builds could one use NAnt but not make - the solution
task doesn't count, and I have no desire to convert my NAnt scripts for
building Visual Studio projects into makefiles. On the other hand, I
use the <exec> task to call out to Ant for our Java builds, instead of
trying to do them with NAnt, and likewise I use <exec> with a Cygwin
bash script to fire off remote builds on our Unix machines, which in
turn use make and bash.
-------------------------------------------------------
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