ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <>
Subject Re: Msbuild
Date Tue, 04 Nov 2003 18:08:52 GMT
Stefan Bodewig wrote:
> On Mon, 03 Nov 2003, Steve Loughran <> 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
> 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 (, 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 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

-xslt the error codes into .h, .idl, .html and .mc files

-<cpp> to MIDL all the idl into the .tlb that describes the com object

-big .sln to build about 10 different projects; some lib, some 
DLL, some exe, register libraries

  -big .sln to build the cppunit tests for every component

-ant to copy .pdb and .map files somewhere sensible

  -<tlbimport><ildasM<replaceregexp><ilasm> to import and then patch
the tlb

  -<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 than anything else. Imagine 
importing a COM typelib and having 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.


> Footnotes: 
> [1]
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message