anchor.diff:  
   Target "Clean" (fun _ ->
       CleanDirs ["bin"; "temp"]
  +    !! "**/project.lock.json" |> DeleteFiles
   )
   
   Target "CleanDocs" (fun _ ->
  
positive.code: "Clean"
    ==> "AssemblyInfo"
    ==> "Build"
    ==> "RunTests"
    =?> ("GenerateReferenceDocs",isLocalBuild)
    =?> ("GenerateDocs",isLocalBuild)
    ==> "All"
  
negative.code: 
  Target "BuildPackage" DoNothing
  
  
  // --------------------------------------------------------------------------------------
  // .NET CLI and .NET Core
  
  let assertExitCodeZero x = if x = 0 then () else failwithf "Command failed with exit code %i" x
  let netcoreArgs = "--framework dnxcore50 --configuration Release"
  
  Target "DotnetCliBuild" (fun _ ->
      Shell.Exec("dotnet", "restore") |> assertExitCodeZero
      Shell.Exec("dotnet", sprintf "--verbose build %s" netcoreArgs, "src/Chessie") |> assertExitCodeZero
  )
  
  Target "DotnetCliRunTests" (fun _ ->
      // Run tests (Chessie.Tests)
      Shell.Exec("dotnet", sprintf "--verbose run %s" netcoreArgs, "tests/Chessie.Tests") |> assertExitCodeZero
     
      // Run tests (Chessie.CSharp.Test) 
      Shell.Exec("dotnet", sprintf "--verbose run %s" netcoreArgs, "tests/Chessie.CSharp.Test") |> assertExitCodeZero
  )
  
  let isDotnetCLIInstalled = Shell.Exec("dotnet", "--version") = 0
  
  // --------------------------------------------------------------------------------------
  // Run all targets by default. Invoke 'build <Target>' to override
  
  