MSBuild Explorers Team WebLog

Extras for MSBuild coming in the next few weeks (Posted by Byron Grogan)

Last Tuesday, the MSBuild Explorer team began working full-time on the powertoys for MSBuild.  These powertoys will be released online sometime in the next few weeks, along with their sources.  Thus far, we've done the following:

  • Color Logger: As Charley showed in his last post, this is an improved console logger.  The goal is to make the console output much more readable, and to provide an example of a custom logger for you to play with.  Charley and Eyiwunmi have been working on this. (I believe this is basically complete and unit tested)
  • Miscellaneous tasks library: Roshni and I are working on a set of tasks to extend the functionality of MSBuild.  Tasks are functions that are executed during the build process by MSBuild.  Here's what we've completed:
    • Move: Moves a file or directory to the local destination of choice.  Also includes functionality to move multiple files or directories (completed and unit tested).
    • Email: Sends an email (completed and unit tested).
  • Project template for an MSBuild Task: I've been working on this recently.  This template will set up everything you need to create a new task, including setting the debugger to be able to step into it.  Templates will be in C#, J#, and Visual Basic.  Only about an hour of work left on these.
  • Project template for an MSBuild Logger: I'm working with Eyiwunmi on this now.  This will set up a skeleton logger in either C#, J#, or Visual Basic.  Not much left to do on these either.

Note that although we've completed these, it may be a few weeks before these are actually available publicly for download, but we'll post here when we have a link.

And here's what we have planned:

  • XML Logger: Logs each build event to an XML file.
  • Other Tasks:
    • XSD: Generates types from XDR, XML, and XSD files or from classes in a runtime assembly.
    • NAnt: Calls NAnt.
    • Sleep: Pauses the build for the specified length of time.
    • GetFilesFromURL: Creates an item based from a URL.
    • GetFilesFromFTP: Similar to GetFilesFromURL.

That's all we have on our plate at the moment.  If you have an idea for a task or general extra along these lines, please let us know. 

Published Wednesday, July 14, 2004 7:45 PM by MSBuildExplorers
Filed under:

Comments

 

Barry Dorrans said:

July 14, 2004 10:36 PM
 

Robert W. McLaws said:

Any chance you could have a way that I could use MSBuild to build to other versions of the Framework?
July 14, 2004 11:31 PM
 

Uwe said:

Although, I'm rather unfamiliar with MSBuild, every time I her the word "logging", I immediately say to myself "...hopefully they do it similar to LOG4NET at http://logging.apache.org..."

I really like the way LOG4NET handles those appender-stuff...
July 15, 2004 12:24 AM
 

Josh T said:

I currently use nAnt to build an application. One of the things we do, is match our assembly versions between our libraries and increment them on each build. It would be great to be able to set the assembly version and to increment it from MSBuild.
July 15, 2004 4:48 AM
 

Barry Dorrans said:

Josh take a look at the SDC extensions then, versioning of assemblies is there.
July 15, 2004 4:14 PM
 

Byron Grogan said:

Barry: Thanks for the heads-up about sleep, I never looked at that. We've coded our version of this already, so we'll ship this in the Miscellaneous Tasks library anyway.

Robert: The MSBuild team has been working on this issue. Right now there is no solution, but look for something in the Beta 2 timeframe.

Uwe: Interesting. I'll forward your comment to the intern working on reforming the console logger for Beta 2. Right now we're just working on a temporary/alternate solution as well as an example showing how easy it is to do this kind of thing.

Josh: The Visual Studio Team Systems group is working on a robust and comprehensive solution for the versioning issue. For now, just use the SDC task.
July 15, 2004 4:59 PM
Anonymous comments are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker