Sha256: ca17cbccc43fcc95ed3db93267ba47411ab489285c83f316f45c90e00206db63

Contents?: true

Size: 1.43 KB

Versions: 24

Compression:

Stored size: 1.43 KB

Contents

// Include Fake library
#r "./packages/FAKE/tools/FakeLib.dll"

open Fake
open Fake.Testing.NUnit3

// Directories
let buildDir  = "./build/"
let sourceDir  = "./exercises/"

// Files
let solutionFile = buildDir @@ "/exercises.csproj"
let compiledOutput = buildDir @@ "xcsharp.dll"

// Targets
Target "PrepareUnchanged" (fun _ -> 
    CleanDirs [buildDir]
    CopyDir buildDir sourceDir allFiles
)

Target "BuildUnchanged" (fun _ ->
    MSBuildRelease buildDir "Build" [solutionFile]
    |> Log "Build unchanged output: "
)

Target "PrepareTests" (fun _ ->
    CleanDirs [buildDir]
    CopyDir buildDir sourceDir allFiles

    let ignorePattern = "(\[Ignore\(\"Remove to run test\"\)]|, Ignore = \"Remove to run test case\")"

    !! (buildDir @@ "**/*Test.cs")
    |> RegexReplaceInFilesWithEncoding ignorePattern "" System.Text.Encoding.UTF8
)

Target "BuildTests" (fun _ ->
    MSBuildRelease buildDir "Build" [solutionFile]
    |> Log "Build tests output: "
)

Target "Test" (fun _ ->
    if getEnvironmentVarAsBool "APPVEYOR" then
        [compiledOutput]
        |> NUnit3 (fun p -> { p with 
                                ShadowCopy = false
                                ToolPath = "nunit3-console.exe" })
    else
        [compiledOutput]
        |> NUnit3 (fun p -> { p with ShadowCopy = false })
)

// Build order
"PrepareUnchanged"
  ==> "BuildUnchanged"
  ==> "PrepareTests"
  ==> "BuildTests"    
  ==> "Test"

// start build
RunTargetOrDefault "Test"

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
trackler-2.0.6.0 tracks/csharp/build.fsx
trackler-2.0.5.18 tracks/csharp/build.fsx
trackler-2.0.5.17 tracks/csharp/build.fsx
trackler-2.0.5.16 tracks/csharp/build.fsx
trackler-2.0.5.15 tracks/csharp/build.fsx
trackler-2.0.5.14 tracks/csharp/build.fsx
trackler-2.0.5.13 tracks/csharp/build.fsx
trackler-2.0.5.12 tracks/csharp/build.fsx
trackler-2.0.5.11 tracks/csharp/build.fsx
trackler-2.0.5.10 tracks/csharp/build.fsx
trackler-2.0.5.9 tracks/csharp/build.fsx
trackler-2.0.5.8 tracks/csharp/build.fsx
trackler-2.0.5.7 tracks/csharp/build.fsx
trackler-2.0.5.6 tracks/csharp/build.fsx
trackler-2.0.5.5 tracks/csharp/build.fsx
trackler-2.0.5.4 tracks/csharp/build.fsx
trackler-2.0.5.3 tracks/csharp/build.fsx
trackler-2.0.5.2 tracks/csharp/build.fsx
trackler-2.0.5.1 tracks/csharp/build.fsx
trackler-2.0.5.0 tracks/csharp/build.fsx