ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: pointer to xbuild -ant variant for .net
Date Thu, 26 Apr 2001 00:36:12 GMT

Looks interesting - not that I know much about C# ;) 

Just curious - you state it started as a learning project - how interested
are you in continuing work on it? Would it be interesting to collaborate
and see if we could gret at least the basic elements "standard"?

BTW I believe ant now has C# tasks ;)

At 11:03  23/4/01 -0700, Steve Loughran wrote:
>I just thought I'd forward on an announcement (on the develop .net mail
>list) about the first public release of an ant-like build tool for .net.
>"The first public version of XBuild has been released and is available at
>XBuild is an XML based build tool inspired by ANT (see
> for more information). I
>started with the ANT design and made some changes so as to leverage some
>.NET functionality and wrote it in C#. This was done as an experiment to
>learn .NET and C#, and to sort of kick the tires on the .NET framework.
>So I am now releasing the source code for anyone else to use and learn
>from. Hopefully some brave souls will add more tasks (see ANT or XBuild
>for info on what I mean by task) and this can get some momentum behind
>This is version
>Have fun.
>David Buksbaum"
>The xml file is very similar , a sample task could just as easily be handled
>by ant as xbuild, which is kind of slick:-
>  <target name="core">
>    <echo message="Building Core." />
>    <csc targettype="library" outfile="xbcoreA.dll">
>      <references>
>        ${standard.references}
>        ${nunit.bin}\NUnitCore.dll
>      </references>
>      <source>
>        <includes files="*.cs" />
>        <excludes files="XBuildLauncher.cs" />
>      </source>
>      <source>
>        <includes files="common/*.cs" />
>        <includes files="nunit/*.cs" />
>        <includes files="tasks/*.cs" />
>      </source>
>    </csc>
>  </target>
>What is interesting is that the implementation used the .net metadata stuff
>as means of describing all exported methods. Instead of setValue() methods,
>you just mark up a variable and *somehow* the system uses that to build the
>TOM/parse the build file.
>    [TaskAttributeAttribute("warnaserror", ExpandText=false, Default=false)]
>    bool    m_bWarnAsError;
>    [TaskAttributeAttribute("warnlevel", ExpandText=false, Default=3)]
>    int     m_nWarningLevel;
>    [TaskAttributeAttribute("baseaddress", ExpandText=false,
>    long    m_nBaseAddress;
>That isnt necessarily any simpler, but it may simplify other things (dynamic
>doc generation, UI tools (which can see what the default value should be),
>and the like.
>It's still a skinny first pass beta test; all the tasks are fairly
>foundation (file movement, deletion, copy; echo ; csc), but it shows promise
>as a way of getting .net development decoupled from without having to
>resort to makefiles. It doesnt address deployment yet, except through
>'copy', but if it does get used in .net land, then maybe more deployment
>tasks will be added. Too bad there's no built in support for zip in .net


| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |

View raw message