BuildIt is a new build tool from MS (via Sapient Corp.)
BuildIt.NET is designed to jump-start the build process used for development of .NET distributed applications. This download provides full source code and comprehensive documentation for the Microsoft Visual C#® development tool and Microsoft Visual Basic® .NET development system.
A quick review shows that it seems to do the following:
- Maintain build numbers - I.e. increments the build number and updates the AssemblyInfo.* files and labels the project in VSS.
- Build single and multiple solution projects - multi solution builds must list the solutions in dependency order (i.e. no declarative dependencies like nAnt)
- Create build logs - these can be mailed via SMTP
- Archives generated assemblies - I.e. copy the results to a folder named after the build number.
The functionality is so limited (no extensibility, requires solution files, requires VSS, required VS.NET, etc) I can't understand why anyone would use this in place of nAnt. However, MS is known for throwing a basic solution out and then gradually refining it until they get it right.
Interestingly the builds are accomplished through VS.NET automation rather than through devenv.exe. Presumably this is to support building with any framework version.
The thing I am interested in is the way they update the AssemblyInfo.* files. Basically they just read the entire file in and do a RegEx replace using the pattern '(?<1>\<Assembly: AssemblyVersion\(""\d+\.\d+\.)[\d\*]*(?<2>.*)' (for C#) and then write it back.