anchor.diff:  open System.Collections.Generic
   
   type MyListener(root:IBuildInformation) =
  -    let mutable step : IBuildStep = null
  +    let fakeStep = root.AddBuildStep("FAKE", "FAKE Build", DateTime.UtcNow, BuildStepStatus.Unknown)
  +    let mutable step = fakeStep
       interface ITraceListener with
           member x.Write msg =
               match msg with
  
positive.code: 
  
  "Clean"
      =?> ("Tfs", isTfsBuild)
      =?> ("BuildVersion", buildServer = BuildServer.AppVeyor)
      ==> "AssemblyInfo"
  //    ==> "Build"
  
negative.code: let versionInfo = sprintf "%s %s %s" versionAssembly dt.IsoDateTime revision
  let buildVersion = if String.IsNullOrEmpty prerelease then versionFile else sprintf "%s-%s" versionFile prerelease
  
  if isTfsBuild then
      let tb = getTfsBuild()
      let bi = tb.Build.Information
      listeners.Clear()
      listeners.Add(MyListener(bi))
  
  
  Target "Clean" (fun _ -> !! "**/bin/" ++ "**/obj/" |> CleanDirs)
  
  //Target "Tfs" (fun _ ->
  //    
  //
  //
  //
  ////    logfn "number of build information nodes: %d" bi.Nodes.Length
  //////    for n in tb.Build.Information.Nodes do
  //////        logfn "node id: %d %A" n.Id n
  ////    
  ////    let main = bi.AddSummarySection 1 "a1" "The Main Section" 
  ////    main.AddMessage "this is cool"
  ////    main.AddMessage "this is a number: %d" 7
  ////    main.AddMessage "this is a link to [google](http://google.com/)"
  ////    bi.Save()
  //)
  
  Target "BuildVersion" (fun _ ->
      let args = sprintf "UpdateBuild -Version \"%s\"" buildVersion
  