Browse Source

Build: simplify build by merging 'sign' and 'collect' into 'build' target

pull/556/merge
Christoph Ruegg 8 years ago
parent
commit
73e2bbba2c
  1. 2
      MathNet.Numerics.sln
  2. 77
      build.fsx
  3. 1
      src/Directory.Build.props

2
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}"

77
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"

1
src/Directory.Build.props

@ -13,6 +13,7 @@
<RepositoryUrl>https://github.com/mathnet/mathnet-numerics</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<NeutralLanguage>en</NeutralLanguage>
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
</PropertyGroup>
<PropertyGroup Condition="'$(StrongName)'=='True'">
<SignAssembly>true</SignAssembly>

Loading…
Cancel
Save