From 73e2bbba2c1a16f1313330b1eb9faac028a51b44 Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Mon, 21 May 2018 18:53:34 +0200 Subject: [PATCH] Build: simplify build by merging 'sign' and 'collect' into 'build' target --- MathNet.Numerics.sln | 2 +- build.fsx | 77 +++++++++++++++++++-------------------- src/Directory.Build.props | 1 + 3 files changed, 39 insertions(+), 41 deletions(-) diff --git a/MathNet.Numerics.sln b/MathNet.Numerics.sln index c60edc7a..46c9cf8f 100644 --- a/MathNet.Numerics.sln +++ b/MathNet.Numerics.sln @@ -30,10 +30,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{B54A0B40 appveyor.yml = appveyor.yml build\build-framework.fsx = build\build-framework.fsx build.fsx = build.fsx + src\Directory.Build.props = src\Directory.Build.props build\MathNet.Numerics.nuspec = build\MathNet.Numerics.nuspec paket.dependencies = paket.dependencies paket.lock = paket.lock - src\Directory.Build.props = src\Directory.Build.props EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestData", "src\TestData\TestData.csproj", "{AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}" diff --git a/build.fsx b/build.fsx index e335859d..82766da6 100644 --- a/build.fsx +++ b/build.fsx @@ -316,12 +316,8 @@ let dataBundle = Target "Start" DoNothing Target "Clean" (fun _ -> - CleanDirs [ "src/Numerics/bin"; "src/FSharp/bin"; "src/TestData/bin"; "src/Numerics.Tests/bin"; "src/FSharp.Tests/bin"; "src/Data/Text/bin"; "src/Data/Matlab/bin"; "src/Data.Tests/bin"; "src/Benchmark/bin" ] - CleanDirs [ "src/Numerics/obj"; "src/FSharp/obj"; "src/TestData/obj"; "src/Numerics.Tests/obj"; "src/FSharp.Tests/obj"; "src/Data/Text/obj"; "src/Data/Matlab/obj"; "src/Data.Tests/obj"; "src/Benchmark/obj" ] - CleanDirs [ "obj" ] - CleanDirs [ "out/api"; "out/docs"; "out/packages" ] - CleanDirs [ "out/lib" ] - //CleanDirs [ "out/lib-signed/Net40"; "out/test-signed/Net40" ] // Signed Build + DeleteDirs (!! "src/**/obj/" ++ "src/**/bin/" ) + CleanDirs [ "out/api"; "out/docs"; "out/packages"; "out/lib" ] CleanDirs [ "out/MKL"; "out/ATLAS"; "out/CUDA"; "out/OpenBLAS" ] // Native Providers CleanDirs [ "out/Data" ] // Data Extensions clean "MathNet.Numerics.sln" @@ -354,13 +350,41 @@ Target "Prepare" DoNothing // -------------------------------------------------------------------------------------- -// BUILD +// BUILD, SIGN, COLLECT // -------------------------------------------------------------------------------------- -Target "Build" (fun _ -> build "MathNet.Numerics.sln") +Target "Build" (fun _ -> + + // Build + build "MathNet.Numerics.sln" + + // Sign + if hasBuildParam "sign" then + let fingerprint = "5dbea70701b40cab1b2ca62c75401342b4f0f03a" + let timeserver = "http://time.certum.pl/" + sign fingerprint timeserver (!! "src/Numerics/bin/Release/**/MathNet.Numerics.dll" ++ "src/FSharp/bin/Release/**/MathNet.Numerics.FSharp.dll" ) + + // Collect + CopyDir "out/lib" "src/Numerics/bin/Release" (fun n -> n.Contains("MathNet.Numerics.dll") || n.Contains("MathNet.Numerics.pdb") || n.Contains("MathNet.Numerics.xml")) + CopyDir "out/lib" "src/FSharp/bin/Release" (fun n -> n.Contains("MathNet.Numerics.FSharp.dll") || n.Contains("MathNet.Numerics.FSharp.pdb") || n.Contains("MathNet.Numerics.FSharp.xml")) + ) "Prepare" ==> "Build" -Target "DataBuild" (fun _ -> build "MathNet.Numerics.Data.sln") +Target "DataBuild" (fun _ -> + + // Build + build "MathNet.Numerics.Data.sln" + + // Sign + if hasBuildParam "sign" then + let fingerprint = "5dbea70701b40cab1b2ca62c75401342b4f0f03a" + let timeserver = "http://time.certum.pl/" + sign fingerprint timeserver (!! "src/Data/Text/bin/Release/**/MathNet.Numerics.Data.Text.dll" ++ "src/Data/Matlab/bin/Release/**/MathNet.Numerics.Data.Matlab.dll" ) + + // Collect + CopyDir "out/Data/lib" "src/Data/Text/bin/Release" (fun n -> n.Contains("MathNet.Numerics.Data.Text.dll") || n.Contains("MathNet.Numerics.Data.Text.pdb") || n.Contains("MathNet.Numerics.Data.Text.xml")) + CopyDir "out/Data/lib" "src/Data/Matlab/bin/Release" (fun n -> n.Contains("MathNet.Numerics.Data.Matlab.dll") || n.Contains("MathNet.Numerics.Data.Matlab.pdb") || n.Contains("MathNet.Numerics.Data.Matlab.xml")) + ) "Prepare" ==> "DataBuild" Target "MklWin32Build" (fun _ -> buildConfig32 "Release-MKL" !! "MathNet.Numerics.NativeProviders.sln") @@ -445,20 +469,6 @@ Target "DataTestNET45" (fun _ -> testData "net45") "DataBuild" =?> ("DataTestNET45", isWindows) ==> "DataTest" -// -------------------------------------------------------------------------------------- -// CODE SIGN -// -------------------------------------------------------------------------------------- - -Target "Sign" (fun _ -> - let fingerprint = "5dbea70701b40cab1b2ca62c75401342b4f0f03a" - let timeserver = "http://time.certum.pl/" - sign fingerprint timeserver (!! "src/Numerics/bin/Release/**/MathNet.Numerics.dll" ++ "src/FSharp/bin/Release/**/MathNet.Numerics.FSharp.dll" )) - -Target "DataSign" (fun _ -> - let fingerprint = "5dbea70701b40cab1b2ca62c75401342b4f0f03a" - let timeserver = "http://time.certum.pl/" - sign fingerprint timeserver (!! "src/Data/Text/bin/Release/**/MathNet.Numerics.Data.Text.dll" ++ "src/Data/Matlab/bin/Release/**/MathNet.Numerics.Data.Matlab.dll" )) - // -------------------------------------------------------------------------------------- // PACKAGES // -------------------------------------------------------------------------------------- @@ -470,31 +480,18 @@ Target "MklLinuxPack" DoNothing Target "CudaWinPack" DoNothing Target "OpenBlasWinPack" DoNothing -// COLLECT - -Target "Collect" (fun _ -> - // It is important that the libs have been signed before we collect them (that's why we cannot copy them right after the build) - CopyDir "out/lib" "src/Numerics/bin/Release" (fun n -> n.Contains("MathNet.Numerics.dll") || n.Contains("MathNet.Numerics.pdb") || n.Contains("MathNet.Numerics.xml")) - CopyDir "out/lib" "src/FSharp/bin/Release" (fun n -> n.Contains("MathNet.Numerics.FSharp.dll") || n.Contains("MathNet.Numerics.FSharp.pdb") || n.Contains("MathNet.Numerics.FSharp.xml"))) -"Build" =?> ("Sign", hasBuildParam "sign") ==> "Collect" - -Target "DataCollect" (fun _ -> - // It is important that the libs have been signed before we collect them (that's why we cannot copy them right after the build) - CopyDir "out/Data/lib" "src/Data/Text/bin/Release" (fun n -> n.Contains("MathNet.Numerics.Data.Text.dll") || n.Contains("MathNet.Numerics.Data.Text.pdb") || n.Contains("MathNet.Numerics.Data.Text.xml")) - CopyDir "out/Data/lib" "src/Data/Matlab/bin/Release" (fun n -> n.Contains("MathNet.Numerics.Data.Matlab.dll") || n.Contains("MathNet.Numerics.Data.Matlab.pdb") || n.Contains("MathNet.Numerics.Data.Matlab.xml"))) -"DataBuild" =?> ("DataSign", hasBuildParam "sign") ==> "DataCollect" // ZIP Target "Zip" (fun _ -> CleanDir "out/packages/Zip" coreBundle |> zip "out/packages/Zip" "out/lib" (fun f -> f.Contains("MathNet.Numerics.") || f.Contains("System.Threading.") || f.Contains("FSharp.Core."))) -"Collect" ==> "Zip" ==> "Pack" +"Build" ==> "Zip" ==> "Pack" Target "DataZip" (fun _ -> CleanDir "out/Data/packages/Zip" dataBundle |> zip "out/Data/packages/Zip" "out/Data/lib" (fun f -> f.Contains("MathNet.Numerics.Data."))) -"DataCollect" ==> "DataZip" ==> "DataPack" +"DataBuild" ==> "DataZip" ==> "DataPack" Target "MklWinZip" (fun _ -> CreateDir "out/MKL/packages/Zip" @@ -523,14 +520,14 @@ Target "NuGet" (fun _ -> pack "MathNet.Numerics.sln" CopyDir "out/packages/NuGet" "src/Numerics/bin/Release/" (fun n -> n.EndsWith(".nupkg")) CopyDir "out/packages/NuGet" "src/FSharp/bin/Release/" (fun n -> n.EndsWith(".nupkg"))) -"Collect" ==> "NuGet" ==> "Pack" +"Build" ==> "NuGet" ==> "Pack" Target "DataNuGet" (fun _ -> pack "src/Data/Text/Text.csproj" pack "src/Data/Matlab/Matlab.csproj" CopyDir "out/Data/packages/NuGet" "src/Data/Text/bin/Release/" (fun n -> n.EndsWith(".nupkg")) CopyDir "out/Data/packages/NuGet" "src/Data/Matlab/bin/Release/" (fun n -> n.EndsWith(".nupkg"))) -"DataCollect" ==> "DataNuGet" ==> "DataPack" +"DataBuild" ==> "DataNuGet" ==> "DataPack" Target "MklWinNuGet" (fun _ -> CreateDir "out/MKL/packages/NuGet" diff --git a/src/Directory.Build.props b/src/Directory.Build.props index b6255546..20132d28 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -13,6 +13,7 @@ https://github.com/mathnet/mathnet-numerics git en + Release true