My first web site went live in the 2001 to host my first open source project XBuild. The website went dark a couple of years later, and the site lost to the ages. Or so I thought. The joy and curse of the Internet is that it never forgets. So, happily, I found that old page on the Internet Archive, and you can see that cave painting of a website at Welecome to the home of XBuild
However, since I have a slight nostalgic streak, I am migrating the core content of that site below. I am still looking for the code, and if you can find it - please send it my way.
Finally, I am very happy that Gerry Shaw was inspired by this work. He apparently emailed me way back, and if I had seen it, I would loved to work with on his fantastic creation of NAnt that so surpassed my little XBuild.
Welcome to the home of XBuild.
Way back in the dawn of .NET (you remember the age of dinosaurs like MFC don’t you?) I looked for a cool project to implement to teach myself C# and a cross section of the .NET Framework. My first decision was the source language to port from and I considered C++, Delphi, Visual Basic, and Java. My decision was to go with Java due to the uncanny likeness it seams to have with C# (go figure). My next decision was to look only at reasonably well established projects so I would get to spend more time on implementation details then on architecture of design (yea I know, the reverse from what normal software engineering should be - it was more fun this way). After trudging through piles of Java code, I decided to use ANT. Why? Because it is a really cool project that has been designed and implemented very well (kudos to the chefs).
So what is ANT then? ANT is a tool that use XML to define a build process similar to make. Why use XML to replace make, well - make sucks. For a more in-depth reasoning see the ANY web site. My reasoning was simple. I wanted to write lots of C# and .NET code, I did not want to wait for Visual Studio.NET to be released (this project started pre beta 1), and I hated working with make files. I also liked working with the .NET SDK. I have found this SDK to be one of most stable toolsets I have worked with (kudos to the MS guys). I also really liked the idea of using XML to declare a dependency based process. It just seemed to fit in nicely with one of the XML goals of being used for declarative processing. That and ANT had a really awesome idea to extend the build environment through XML tags (you will see later on). Lastly, I thought that some things could be better done with the C#/.Net (see the custom attributes and XML processing).
So that is the reasoning, history, and genesis of XBuild.
XBuild Cool Things
So what is cool in XBuild. Well .NET is. Here is a small list of some of the really awesome .NET techniques that implemented in XBuild.
- Custom Attributes
- XML Processing
- Event Handling
- Reflection, Dynamic Invocation and Virtual Constructors
- and oh yea, Custom Attributes
Enough Already - How Do I Get XBuild
Well ask and ye shall receive.
XBuild Latest Source Code (zip file) sorry all! this link no longer works - the source may be lost forever