Browse Source

Build FAKE: use build parameter to specify build mode

pull/199/head
Christoph Ruegg 13 years ago
parent
commit
c8c02ddfdc
  1. 62
      build.fsx
  2. 2
      build/NuGet/FSharp/MathNet.Numerics.FSharp.nuspec
  3. 2
      build/NuGet/Numerics/MathNet.Numerics.nuspec

62
build.fsx

@ -26,42 +26,70 @@ Target "Prepare" DoNothing
Target "BuildMain" (fun _ -> !! "MathNet.Numerics.sln" |> MSBuildRelease "" "Rebuild" |> ignore)
Target "BuildNet35" (fun _ -> !! "MathNet.Numerics.Net35Only.sln" |> MSBuildRelease "" "Rebuild" |> ignore)
Target "BuildAll" (fun _ -> !! "MathNet.Numerics.Portable.sln" |> MSBuildRelease "" "Rebuild" |> ignore)
Target "BuildFull" (fun _ -> !! "MathNet.Numerics.Portable.sln" |> MSBuildRelease "" "Rebuild" |> ignore)
Target "Build" DoNothing
Target "Main" DoNothing
Target "Net35" DoNothing
Target "All" DoNothing
"Prepare" ==> "BuildMain" ==> "Main"
"Prepare" ==> "BuildNet35" ==> "Net35"
"Prepare" ==> "BuildAll" ==> "All"
"Prepare"
=?> ("BuildNet35", hasBuildParam "net35")
=?> ("BuildFull", hasBuildParam "full")
=?> ("BuildMain", not (hasBuildParam "full" || hasBuildParam "net35"))
==> "Build"
// TEST
Target "RunTests" (fun _ ->
Target "Test" (fun _ ->
!! "out/test/*/*UnitTests*.dll"
|> NUnit (fun p ->
{ p with
DisableShadowCopy = true
TimeOut = TimeSpan.FromMinutes 20.
TimeOut = TimeSpan.FromMinutes 30.
OutputFile = "TestResults.xml" })
)
"RunTests" ==> "Main"
"RunTests" ==> "Net35"
"RunTests" ==> "All"
"Build" ==> "Test"
// DOCUMENTATION
Target "BuildDocs" DoNothing
Target "Docs" DoNothing
"Build" ==> "Docs"
// NUGET
// RELEASE
Target "NuGetPackage" DoNothing
"BuildFull" ==> "NuGetPackage"
// RUN
Target "Release" DoNothing
"All" ==> "BuildDocs" ==> "Release"
"Test" ==> "Release"
"Docs" ==> "Release"
"NuGetPackage" ==> "Release"
Target "All" DoNothing
"Build" ==> "Test" ==> "All"
RunTargetOrDefault "All"
// EXAMPLES
// * build.cmd: normal build (.Net 4.0), run unit tests
// * build.cmd All: normal build (.Net 4.0), run unit tests
// * build.cmd All full: full build (.Net 3.5, 4.0, PCL), run all unit tests
// * build.cmd All net35: build (.Net 3.5), run unit tests
// * build.cmd Build: normal build (.Net 4.0)
// * build.cmd Build full: full build (.Net 3.5, 4.0, PCL)
// * build.cmd Build net35: build (.Net 3.5)
// * build.cmd Clean: cleanup build artifacts
// * build.cmd Docs: generate documentation, normal build
// * build.cmd NuGetPackage: generate NuGet packages, full build
RunTargetOrDefault "Main"

2
build/NuGet/FSharp/MathNet.Numerics.FSharp.nuspec

@ -4,7 +4,7 @@
<id>MathNet.Numerics.FSharp</id>
<version>1.0.0</version>
<title>Math.NET Numerics for F#</title>
<summary>F# Modules for Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use. F# 3.0 on .Net 4, SL5, Win8, WP8, PCL 47 & 136, Mono, Xamarin Andoid/iOS.</summary>
<summary>F# Modules for Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use. F# 3.0 on .Net 4, SL5, Win8, WP8, PCL 47 and 136, Mono, Xamarin Andoid/iOS.</summary>
<description>F# Modules for Math.NET Numerics, the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both. Supports .Net 4.0 and Mono (Windows, Linux, Mac), PCL Portable Profiles 47 and 136 (Silverlight 5, Windows Phone 8, .NET for Windows Store Apps), and Andoid/iOS via Xamarin.</description>
<authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</authors>
<owners>Christoph Ruegg</owners>

2
build/NuGet/Numerics/MathNet.Numerics.nuspec

@ -4,7 +4,7 @@
<id>MathNet.Numerics</id>
<version>1.0.0</version>
<title>Math.NET Numerics</title>
<summary>Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use. .Net 4, .Net 3.5, SL5, Win8, WP8, PCL 47 & 136, Mono, Xamarin Andoid/iOS.</summary>
<summary>Math.NET Numerics, providing methods and algorithms for numerical computations in science, engineering and every day use. .Net 4, .Net 3.5, SL5, Win8, WP8, PCL 47 and 136, Mono, Xamarin Andoid/iOS.</summary>
<description>Math.NET Numerics is the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Numerics is the result of merging dnAnalytics with Math.NET Iridium and is intended to replace both. Supports .Net 4.0, .Net 3.5 and Mono (Windows, Linux, Mac), PCL Portable Profiles 47 and 136 (Silverlight 5, Windows Phone 8, .NET for Windows Store Apps), and Andoid/iOS via Xamarin.</description>
<authors>Christoph Ruegg, Marcus Cuda, Jurgen Van Gael</authors>
<owners>Christoph Ruegg</owners>

Loading…
Cancel
Save