[Mono-dev] Current 'xbuild' status

Ankit Jain radical at gmail.com
Thu Feb 5 05:23:02 EST 2009

xbuild (svn) can't directly handle .sln files right now. But it can
build the temporary .proj that msbuild
generates for .sln files.

   We can build the .sln.proj  with multiple projects. Its not
complete yet though.
   Currently, it generates the resources, satellite assemblies,
   resolves gac/assembly references, compiles, but doesn't deploy
   the referenced assemblies etc to the right location. But most of
   this will be work in the .targets .
   It should be easy to write a sln-> proj convertor.

List of msbuild features from msdn (
http://msdn.microsoft.com/en-us/library/ms171452.aspx )
• Items
   ∘ Supported. These are used all over the place, so seems to work
fine for current test cases
• Properties
   ∘ Likewise
• Targets
   ∘ Implemented
   ∘ Including dependency checking, in the form of input/output list,
"DependsOnTargets" etc
• Tasks
   ∘ Implemented
   ∘ Most of the functionality in msbuild files are based on using
tasks. Custom tasks can be loaded
• Advanced Concepts
   ∘ Logging
      ‣ Implemented. But its not being used throughout the system
right now to report errors/warnings.
   ∘ Batching ( http://msdn.microsoft.com/en-us/library/ms171473(VS.80).aspx )
      ‣ Very important feature
      ‣ Both task and target batching have been implemented, and seem
to be working fine
   ∘ Transforms ( http://msdn.microsoft.com/en-us/library/ms171476.aspx )
      ‣ Supported
   ∘ Using multiple processors (
http://msdn.microsoft.com/en-us/library/bb383805.aspx )
      ‣ Nothing has been done for this yet
• Building for Specific .NET Frameworks (
http://msdn.microsoft.com/en-us/library/bb397456.aspx )
   ∘ I've added some preliminary support for TargetFramework* stuff,
but this will need more work
   ∘ Similar work done in monodevelop should prove useful here
•  Others
   ∘ Project references, assembly, gac references are resolved
      ‣ I committed kinda preliminary code for this, which works fine
in the simple test cases (eg. pdn3) that I tried

Ofcourse, most of this hasn't been tested extensively. I try to write
reasonable number of tests for the stuff
that I'm touching, but real testing would happen once the targets
files are more complete and we try real
world projects.

Would be nice to start trying this out and get feedback/bug reports :)

I'll be on vacation till end of next week, but will try to reply to mails.


Blog : http://www.ankitjain.org/blog

More information about the Mono-devel-list mailing list