On Mon, 03 Nov 2003, Steve Loughran <[EMAIL PROTECTED]> wrote:
I must say it is the first time any project I've worked on has been cloned by microsoft to become a strategic offering of theirs.
Yes, a very interesting experience.
Well, as David Patterson says, the hard part of CS research is getting your ideas adopted.
I also think they may have a better list/set model than Ant's, which doesn't really have anything consistent at all,
At the same time they don't really support nested elements in a useful way at all AFAICT. You can have array type attributes, but then MSBuild is going to convert lists into arrays for you from what I understand.
I 100% agree with you that Ant needs a better List/Set model.
hmmm. What we really need is a unified list/graph model so that you can pass lists/sets/whatever around; fileset and the like are just specialised lists.
I do think a bit of credit to the ant and nant teams would have been polite
It's even worse than that. NAnt gets some bad coverage in a Microsoft Press book they've distributed at PDC from what I hear.
Didnt hear that. A colleague was at the MSBuild conf, but he doesnt use ant much himself, so didnt get in with any questions like 'why is this different'. but he didnt hear anyone critique nant, either.
I see from the mail link you posted that the book was by brent rector. I've met him; he spoke at Chris Sells' Web Services DevCon last year, so he should have caught my talk at the same conf on using ant to build, deploy and test web services.
MSBuild is closer to NAnt than to Ant (as wittnessed by their use of conditions on everything). If I was naive I could think they aren't aware of Ant.
I know a few people there who know of ant, mostly in the Web Services group or the Java evangelists:
Chris Sells, Don box (still has commit rights on Apache Soap), Tim Ewald, Doug Purdy (douglasp.com), Keith Ballinger, Becky Dias, Lee Fisher.
Lee and Becky have copies of my book; doug purdy has even written a J# task (not in our CVS). But these are a few people whose focus on interop gives them more exposure to the outside. I expect the core engineering team are busy in their offices implementing what some program manager tells them to do.
I remember when I was up on the site listening to a talk by David Stuve (now ex-MS), talking about Rotor. One of the first steps in booting rotor is to cross compile MS NMAKE. Given that MS NMAKE sucks, I was somewhat surprised, and did ask 'why didnt you use ant'? 'because it is in Java' was the response.
So they do know of Ant, the just dont want to acknowledge it.
Being in the depths of a C++ project, with some .NET on the fringes, I am deeply aware of how badly vs.net needs something like ant/nant, and that means tight coupling with the studio. Any attempt we made to duplicate C++ build stages with <cpp> failed because the engineers would stick in the IDE, and then the automated build would get out of sync. So now the build process is
project1: -xslt the error codes into .h, .idl, .html and .mc files
project2: -<cpp> to MIDL all the idl into the .tlb that describes the com object
project3:
-big vs.net .sln to build about 10 different projects; some lib, some DLL, some exe, register libraries
project4: -big vs.net .sln to build the cppunit tests for every component
project5: -ant to copy .pdb and .map files somewhere sensible
project6: -<tlbimport><ildasM<replaceregexp><ilasm> to import and then patch the tlb
project7: -<csc> to compile nunit tests, <exec> to run them.
Those .sln files are trouble. You want to change a compiler option across 14 projects? There goes a morning. You want to tune the debug/release configurations? There goes a week.
One thing I think they probably are very ignorant of are xUnit; MS have many many testers, but they have their own proprietary solutions (just like MS dont use sourcesafe internally). I'd be happier to see integrated xunit testing with VS.net than anything else. Imagine importing a COM typelib and having VS.net offering to create unit tests for every method? Or a WSDL definition of a SOAP service? Axis can do that, but .NET doesnt.
It good that they have discovered automated build processes, but better if testing were in there too.
Another interesting bit from nant-dev. When asked whether Microsoft was holding any patents on parts of MSBuild, Alex Kipman said[1]
,----
| >>> This is a tricky question but I'll do my best to answer it openly
| and honestly :). | | 1) Microsoft has submitted and has some outstanding patents on
| technologies included in the MSBuild engine (core platform stuff). | | 2) MSBuild is written 100% in managed code and will not be obfuscated by
| us. With this said, as of today there are no plans to release sources
| for MSBuild Engine stuff. Not even as shared source. We are currently
| debating releasing sources for our tasks and loggers, but we haven't
| discussed license issues yet.
`----
I assume that "core platform stuff" applies to the .NET platform at large and don't think that could affect Ant in any way.
yup.
Footnotes: [1] http://sourceforge.net/mailarchive/forum.php?thread_id=3399692&forum_id=863
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]