Last week I released version 0.29 of my build automation tool “FAKE – F# Make”. The new version comes along with a couple of changes which I will now describe.
F# February 2010 CTP and .NET 4.0 RC
“FAKE – F# Make” should be completely compatible with both, the F# February 2010 CTP and the F# version which is included in Visual Studio 2010 RC.
FAKE self build and binaries on teamcity.codebetter.com
Since “FAKE – F# Make” is a build automation tool, it was always used for it’s own build process. Now this build process could be moved to an open CI server at teamcity.codebetter.com. If you login as a guest you can download the latest “FAKE – F# Make” binaries from there.
FAKE on build servers without F#
With the new F# CTP there is no longer a need for installing F# on the build agents. In fact FAKE itself was built on build agents which don’t have a F# installation.
If you want to create such build scripts you have to do the following:
- Download the standalone zip file of the F# CTP
- Put the bin subfolder into your project tree
- Modify the FSIPath value in the FAKE.exe.config file to match your FSharp bin folder
- If you copy the contents the F# bin folder into ./tools/FSharp/ it should just work.
If you have F# projects you also need to modify your .fsproj files like this:
<PropertyGroup>
….
<FscToolPath>..\..\..\tools\FSharp\</FscToolPath>
</PropertyGroup>
…
<Import Project="..\..\..\tools\FSharp\Microsoft.FSharp.Targets" />
This modifications should take care that MSBuild will use the F# compiler from your tools paths.
Generate your documentations with “docu”
“What’s a docu? A documentation generator for .Net that isn’t complicated, awkward, or difficult to use. Given an assembly and the XML that’s generated by Visual Studio, docu can produce an entire website of documentation with a single command.” [docu Homepage]
“FAKE – F# Make” 0.29 is bundled with this new documentation tool which can easily convert your xml-Documentation into some nice html pages. You can use the tool with the new Docu task like this:
Target? GenerateDocumentation <-
fun _ ->
Docu (fun p ->
{p with
ToolPath = @".\tools\FAKE\docu.exe"
TemplatesPath = @".\tools\FAKE\templates"
OutputPath = docDir })
(buildDir + "MyAssembly.dll")
You will also need the docu templates, which you can download from the product homepage. I’m planning to bundle some basic templates with the next version of FAKE.
What’s next?
At the moment I’m working on ILMerge task for FAKE. I hope to release this with the next version. There are also some open issues with the Mono support but since teamcity.codebetter.com is getting a mono build agent I hope to make some progress here too.
If you have any questions or ideas for new features please contact me.
Tags: Continuous Integration, F#, F-sharp Make