anchor.diff:  Target "Release" DoNothing
   
   "CleanDocs" ==> "GenerateDocs" ==> "ReleaseDocs"
  +
   "ReleaseDocs" ==> "Release"
   "ReleaseBinaries" ==> "Release"
   "NuGet" ==> "Release"
  
positive.code: let gitName = "FSharp.Data.Bson"
  let gitRaw = environVarOrDefault "gitRaw" "https://raw.github.com/visemet"
  
  // Read release notes & version info from RELEASE_NOTES.md
  let release =
      File.ReadLines "RELEASE_NOTES.md"
      |> ReleaseNotesHelper.parseReleaseNotes
  
  let isAppVeyorBuild = environVar "APPVEYOR" <> null
  let nugetVersion =
      if isAppVeyorBuild then sprintf "%s-a%s" release.NugetVersion (DateTime.UtcNow.ToString "yyMMddHHmm")
      else release.NugetVersion
  
  Target "AppVeyorBuildVersion" (fun _ ->
      Shell.Exec("appveyor", sprintf "UpdateBuild -Version \"%s\"" nugetVersion) |> ignore
  )
  
  // -----------------------------------------------------------------------------
  // Generate assembly info files with the right version & up-to-date information
  
  Target "AssemblyInfo" <| fun () ->
      for file in !! "src/AssemblyInfo*.fs" do
          let replace (oldValue:string) newValue (str:string) = str.Replace(oldValue, newValue)
          let title =
              Path.GetFileNameWithoutExtension file
              |> replace ".Portable47" ""
              |> replace "AssemblyInfo" "BsonProvider"
          let versionSuffix =
              if file.Contains ".Portable47" then ".47"
              else ".0"
          let version = release.AssemblyVersion + versionSuffix
          CreateFSharpAssemblyInfo file
             [ Attribute.Title title
               Attribute.Product project
               Attribute.Description summary
               Attribute.Version version
               Attribute.FileVersion version]
  
  // -----------------------------------------------------------------------------
  // Clean build results & restore NuGet packages
  
  Target "RestorePackages" RestorePackages
  
  Target "Clean" <| fun () ->
      CleanDirs ["bin"; "src/bin"; "src/obj"]
  
  Target "CleanTests" <| fun() ->
      CleanDirs [ "tests/BsonProvider.DesignTime.Tests/bin"
                  "tests/BsonProvider.DesignTime.Tests/obj" ]
  
  
negative.code:     CleanDirs ["docs/output"]
  
  // -----------------------------------------------------------------------------
  // Build the library and test projects
  
  Target "Build" <| fun () ->
      !! "BsonProvider.sln"
  