1 Introducing MSBuild: Build Engine for "Whidbey" and "Longhorn" Alex Kipman Program Manager Alex Kipman Program Manager TLS347 Rajeev Goel Software Design Engineer
2 Agenda MSBuild design goals Basic file format features Advanced features & extensibility Bringing it all together Summary MSBuild design goals Basic file format features Advanced features & extensibility Bringing it all together Summary
3 Authors PROJECT FILE - $%#^$&% Abracadabra Feeds Visual Studio.NET 2002/2003 VS Build System Produces Final Product Pre build step Post build step
4 Final Product Produces Feeds Authors DEVELOPER Authors MSBuild Design Goals MSBuild MSBuild PROJECT FILE
5 MSBuild File Format
6 Advanced Features And Extensibility
7 Bringing It All Together VS.NET 2002/2003 concept of "build" Build SCCUnit TestObfuscate Send E- mail MSBuild concept of "build" Build
8 Step 1 - Augment VS Build … ResGen Compile UnitTest Obfuscate … Sources *.cs *.resx Developer machine(s) Add unit testing Add obfuscation Add unit testing Add obfuscation MSBuild
9 Augmenting VS build
10 Step 2 – Check Into SCC … ResGen Compile UnitTest Obfuscate … Sources *.cs *.resx Developer machine(s) SCC Server … Sources … Sources … Sources … ResGen Compile UnitTest Obfuscate … Sources *.cs *.resx … ResGen Compile UnitTest Obfuscate … Sources *.cs *.resx … ResGen Compile UnitTest Obfuscate … Sources *.cs *.resx
11 SCC Server … Sources … Sources … Sources Build lab machine Rolling build daemon Every 5 seconds GetFromSCC MSBuild Send MSBuild Builds master project file Enlistment Step 3 – Create A Build Lab … ResGen Compile UnitTest Obfuscate … Sources *.cs *.resx Developer machine(s) … Sources … Sources … Sources GetFromSCC MSBuildLog.html Logged events MSBuild succeeded. Send succeeded. Build Finished. GetFromScc succeeded. Build Started. MSBuild Send Write Daemon Author project file Author HTML logger Write Daemon Author project file Author HTML logger
12 Rolling Build Server
13 Summary With MSBuild you’ll be able to: Build a VS project without VS being installed since MSBuild ships with the CLR Author a project file with ease since the file format is open and backed up by a schema Customize the build process through our comprehensive task extensibility model Do all this without losing any of the RADness you expect from an IDE! With MSBuild you’ll be able to: Build a VS project without VS being installed since MSBuild ships with the CLR Author a project file with ease since the file format is open and backed up by a schema Customize the build process through our comprehensive task extensibility model Do all this without losing any of the RADness you expect from an IDE!
14 Community Resources Get Your Questions Answered! PDC – Ask the experts Come see us tomorrow night from 6:30p to 9:00p in Hall G,H Newsgroup: microsoft.private.whidbey.vs.msbuild Web site: PDC – Ask the experts Come see us tomorrow night from 6:30p to 9:00p in Hall G,H Newsgroup: microsoft.private.whidbey.vs.msbuild Web site: Don’t forget to fill out the session evaluation at
15 © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.