Here are the tasks we selected for the Dogfooding sprint. For those who aren't familiar, our dogfooding work is all about converting all of Visual Studio's source code to build with MSBuild.

Provide .targets files for building Managed C++ targets (critical)

 

There’s a bunch of code in Visual Studio written using Managed C++, and right now we have no way to build it with MSBuild. This item is to write .targets files that can build Managed C++, and will complete our ability to build native, managed, and managed C++ projects within our build tree.

 

Convert representative samples for two Managed C++ trees (critical)

 

Our general approach to conversion is to do the first stab at converting a piece of a tree, and then give those to the teams that really own the source so they can use them as samples for the rest of the conversion. We’ll convert two pieces of Managed C++ trees in this sprint.

 

Ongoing conversion outreach (critical)

 

This covers things like brownbags for teams and support on internal aliases.

 

Fix bugs in our .targets files (critical)

 

As more people convert to MSBuild within Visual Studio, we inevitably find bugs in the internal .targets files we use. We’ve added time to the sprint to fix those issues.

 

Deploy updated tools and tasks into a division-wide directory (target)

 

We have several internal tools and tasks that we use as part of the conversion effort, and we need to get them checked into a division-wide directory so everyone can use them.

 

QA review of test coverage on auto-generated tasks (target)

 

We have an internal tool (that we’ll be publishing to the web shortly) that enables auto-generation of tasks that wrap command-line executables. We need to do a QA review of our coverage on this, so we can be sure that it works as expected.

 

Integrate prefast into our .targets (critical)

 

We use a tool called prefast quite heavily as part of our internal development process. Right now it doesn’t integrate with our internal .targets files for our build process. This does the necessary work to enable it to run as part of our build process through MSBuild.

[ Author: Neil Enns ]