Write your MSBuild tasks completely in IronRuby (no XML or CDATA required):
class HelloWorld
include MsBuild::Task
parameter :message
def execute
log.log_message :message
end
end
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask Name="HelloWorld" TaskFactory="IronRubyTaskFactory" AssemblyFile="MsBuild.IronRuby.dll">
<Task>
<Script Path="hello_world.rb" />
</Task>
</UsingTask>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="my.ruby.tasks" />
<Target Name="Build">
<HelloWorld Message="Hello IronRuby task" />
</Target>
</Project>