From 3003418d45569a37f44639734c145bfde7dd52c4 Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Mon, 19 May 2014 16:14:37 +0200 Subject: [PATCH] Build: update FAKE to support signed (strong name) builds --- README.md | 13 ++++++++----- build.fsx | 15 ++++++++++++--- docs/content/index.fsx | 15 +++++++++------ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 478a441a..04af7e91 100644 --- a/README.md +++ b/README.md @@ -63,17 +63,20 @@ If you do not want to use the official binaries, or if you like to modify, debug build.cmd Build # normal build (.Net 4.0) build.cmd Build incremental # normal build, incremental (.Net 4.0) - build.cmd Build all # full build (.Net 3.5, 4.0, PCL) + build.cmd Build all # full build (.Net 4.0, 3.5, PCL) build.cmd Build net35 # compatibility build (.Net 3.5) + build.cmd Build signed # normal build, signed/strong named (.Net 4.0) build.cmd Test # normal build (.Net 4.0), run unit tests - build.cmd Test all # full build (.Net 3.5, 4.0, PCL), run all unit tests + build.cmd Test all # full build (.Net 4.0, 3.5, PCL), run all unit tests build.cmd Test net35 # compatibility build (.Net 3.5), run unit tests build.cmd Clean # cleanup build artifacts - build.cmd Docs # generate documentation, normal build - build.cmd NuGet # generate NuGet packages, full build - + build.cmd Docs # generate documentation (.Net 4.0) + + build.cmd NuGet # generate NuGet packages (.Net 4.0, 3.5, PCL) + build.cmd NuGet signed # generate signed/strong named NuGet packages (.Net 4.0) + build.cmd BuildNativex86 # build native providers 32bit/x86 build.cmd BuildNativex64 # build native providers 64bit/x64 build.cmd BuildNative # build native providers for all platforms diff --git a/build.fsx b/build.fsx index 889c5940..5fdcb8c5 100644 --- a/build.fsx +++ b/build.fsx @@ -29,7 +29,12 @@ Target "Prepare" DoNothing // BUILD -let build subject = MSBuildRelease "" (if hasBuildParam "incremental" then "Build" else "Rebuild") subject |> ignore +let build subject = + MSBuild + "" + (if hasBuildParam "incremental" then "Build" else "Rebuild") + [ "Configuration", if hasBuildParam "signed" then "Release-Signed" else "Release" ] + subject |> ignore Target "BuildMain" (fun _ -> build !! "MathNet.Numerics.sln") Target "BuildNet35" (fun _ -> build !! "MathNet.Numerics.Net35Only.sln") @@ -129,10 +134,14 @@ Target "Api" (fun _ -> Target "NuGet" (fun _ -> // TODO: Replace with FAKE's internal NuGet support and drop the MSBuild project - !! "build/NuGet/nuget.proj" |> MSBuild "" "BuildPackages" [] |> ignore + !! (if hasBuildParam "signed" then "build/NuGet/nuget-signed.proj" else "build/NuGet/nuget.proj") + |> MSBuild "" "BuildPackages" [] |> ignore ) -"BuildAll" ==> "NuGet" +"Start" + =?> ("BuildAll", not (hasBuildParam "signed")) + =?> ("BuildMain", hasBuildParam "signed") + ==> "NuGet" // RUN diff --git a/docs/content/index.fsx b/docs/content/index.fsx index 35cb20d7..4640860a 100644 --- a/docs/content/index.fsx +++ b/docs/content/index.fsx @@ -206,17 +206,20 @@ If you do not want to use the official binaries, or if you like to modify, debug build.cmd Build # normal build (.Net 4.0) build.cmd Build incremental # normal build, incremental (.Net 4.0) - build.cmd Build all # full build (.Net 3.5, 4.0, PCL) - build.cmd Build net35 # compatibility build (.Net 3.5) + build.cmd Build all # full build (.Net 4.0, 3.5, PCL) + build.cmd Build net35 # compatibility build (.Net 3.5 + build.cmd Build signed # normal build, signed/strong named (.Net 4.0) build.cmd Test # normal build (.Net 4.0), run unit tests - build.cmd Test all # full build (.Net 3.5, 4.0, PCL), run all unit tests + build.cmd Test all # full build (.Net 4.0, 3.5, PCL), run all unit tests build.cmd Test net35 # compatibility build (.Net 3.5), run unit tests build.cmd Clean # cleanup build artifacts - build.cmd Docs # generate documentation, normal build - build.cmd NuGet # generate NuGet packages, full build - + build.cmd Docs # generate documentation (.Net 4.0) + + build.cmd NuGet # generate NuGet packages (.Net 4.0, 3.5, PCL) + build.cmd NuGet signed # generate signed/strong named NuGet packages (.Net 4.0) + build.cmd BuildNativex86 # build native providers 32bit/x86 build.cmd BuildNativex64 # build native providers 64bit/x64 build.cmd BuildNative # build native providers for all platforms