anchor.diff:  )
   
   "Clean"
  -    =?> ("AppVeyor", isAppVeyorBuild)
  -    =?> ("BuildNumber", isTfsBuild)
       =?> ("BuildVersion", isAppVeyorBuild)
       ==> "AssemblyInfo"
       ==> "Build"
  
positive.code:     |> CleanDirs 
  )
  
  Target "BuildNumber" (fun _ ->
      use tb = getTfsBuild()
      tb.Build.BuildNumber <- sprintf "SourceLink.%s" buildVersion
      tb.Build.Save()
  )
  
  Target "BuildVersion" (fun _ ->
      logfn "cmd /c where where"
      let rv = Shell.Exec("cmd", "/c where where")
      logfn "  rv: %d" rv
  
      logfn "cmd /c where appveyor"
      let rv = Shell.Exec("cmd", "/c where appveyor")
      logfn "  rv: %d" rv
  
      let args = sprintf "UpdateBuild -Version \"%s\"" buildVersion
      let rv = Shell.Exec("appveyor", args)
      logfn "appveyor %s, exit code %d" args rv
  
negative.code: #I "packages/FAKE/tools"
  #r "FakeLib.dll"
  #load "packages/SourceLink.Fake/tools/SourceLink.fsx"
  
  open System
  open System.IO
  