Sha256: bffbcd6fc73a4e1f1a9cb871d2df399c0e36878a82be6fd3498c5373b1173160

Contents?: true

Size: 1.49 KB

Versions: 31

Compression:

Stored size: 1.49 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.fsproj"
let compiledOutput = buildDir @@ "xfsharp.dll"

// Targets
Target "Clean" (fun _ ->
    CleanDirs [buildDir]
)

Target "Copy" (fun _ -> CopyDir buildDir sourceDir allFiles)

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

Target "PrepareTests" (fun _ ->
    let ignorePattern = "(\[<Ignore\(\"Remove to run test\"\)>]|, Ignore = \"Remove to run test case\")"

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

Target "BuildWithAllTests" (fun _ ->
    MSBuildRelease buildDir "Build" [solutionFile]
    |> Log "AppBuild-Output: "
)

Target "Test" (fun _ ->
    if getEnvironmentVarAsBool "APPVEYOR" then
        [compiledOutput]
        |> NUnit3 (fun p -> { p with 
                                ShadowCopy = false
                                ToolPath = @"C:\Tools\NUnit3\bin\nunit3-console.exe"
                                ResultSpecs = ["myresults.xml;format=AppVeyor"] })
    else
        [compiledOutput]
        |> NUnit3 (fun p -> { p with ShadowCopy = false })
)

// Build order
"Clean" 
  ==> "Copy"
  ==> "BuildUnchanged"
  ==> "PrepareTests"
  ==> "BuildWithAllTests"    
  ==> "Test"

// Start build
RunTargetOrDefault "Test"

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
trackler-2.0.3.6 tracks/fsharp/build.fsx
trackler-2.0.3.5 tracks/fsharp/build.fsx
trackler-2.0.3.4 tracks/fsharp/build.fsx
trackler-2.0.3.3 tracks/fsharp/build.fsx
trackler-2.0.3.2 tracks/fsharp/build.fsx
trackler-2.0.3.1 tracks/fsharp/build.fsx
trackler-2.0.3.0 tracks/fsharp/build.fsx
trackler-2.0.2.0 tracks/fsharp/build.fsx
trackler-2.0.1.2 tracks/fsharp/build.fsx
trackler-2.0.1.1 tracks/fsharp/build.fsx
trackler-2.0.1.0 tracks/fsharp/build.fsx
trackler-2.0.0.10 tracks/fsharp/build.fsx
trackler-2.0.0.9 tracks/fsharp/build.fsx
trackler-2.0.0.8 tracks/fsharp/build.fsx
trackler-2.0.0.7 tracks/fsharp/build.fsx
trackler-2.0.0.6 tracks/fsharp/build.fsx
trackler-2.0.0.5 tracks/fsharp/build.fsx
trackler-2.0.0.4 tracks/fsharp/build.fsx
trackler-2.0.0.3 tracks/fsharp/build.fsx
trackler-2.0.0.2 tracks/fsharp/build.fsx