Browse Source

Build: simplify

spatial
Christoph Ruegg 8 years ago
parent
commit
c0f1d9284e
  1. 14
      build.fsx
  2. 15
      build/build-framework.fsx

14
build.fsx

@ -54,7 +54,7 @@ let numericsFSharpStrongNameNuGetPackage = nugetPackage "MathNet.Numerics.FSharp
let numericsProject = project "MathNet.Numerics" "src/Numerics/Numerics.csproj" [numericsNuGetPackage; numericsStrongNameNuGetPackage]
let numericsFsharpProject = project "MathNet.Numerics.FSharp" "src/FSharp/FSharp.fsproj" [numericsFSharpNuGetPackage; numericsFSharpStrongNameNuGetPackage]
let numericsSolution = solution "Numerics" "MathNet.Numerics.sln" [numericsProject; numericsFsharpProject]
let numericsSolution = solution "Numerics" "MathNet.Numerics.sln" [numericsProject; numericsFsharpProject] [numericsZipPackage; numericsStrongNameZipPackage]
// DATA EXTENSION PACKAGES
@ -69,7 +69,7 @@ let dataMatlabStrongNameNuGetPackage = nugetPackage "MathNet.Numerics.Data.Matla
let dataTextProject = project "MathNet.Numerics.Data.Text" "src/Data/Text/Text.csproj" [dataTextNuGetPackage; dataTextStrongNameNuGetPackage]
let dataMatlabProject = project "MathNet.Numerics.Data.Matlab" "src/Data/Matlab/Matlab.csproj" [dataMatlabNuGetPackage; dataMatlabStrongNameNuGetPackage]
let dataSolution = solution "Data" "MathNet.Numerics.Data.sln" [dataTextProject; dataMatlabProject]
let dataSolution = solution "Data" "MathNet.Numerics.Data.sln" [dataTextProject; dataMatlabProject] [dataZipPackage; dataStrongNameZipPackage]
// MKL NATIVE PROVIDER PACKAGES
@ -552,11 +552,11 @@ Target "PublishMirrors" (fun _ -> publishMirrors ())
Target "PublishDocs" (fun _ -> publishDocs numericsRelease)
Target "PublishApi" (fun _ -> publishApi numericsRelease)
Target "PublishArchive" (fun _ -> publishArchive numericsSolution.OutputZipDir numericsSolution.OutputNuGetDir [numericsZipPackage; numericsStrongNameZipPackage] [numericsNuGetPackage; numericsFSharpNuGetPackage; numericsStrongNameNuGetPackage; numericsFSharpStrongNameNuGetPackage])
Target "DataPublishArchive" (fun _ -> publishArchive dataSolution.OutputZipDir dataSolution.OutputNuGetDir [dataZipPackage; dataStrongNameZipPackage] [dataTextNuGetPackage; dataMatlabNuGetPackage; dataTextStrongNameNuGetPackage; dataMatlabStrongNameNuGetPackage])
Target "MklPublishArchive" (fun _ -> publishArchive "out/MKL/packages/Zip" "out/MKL/packages/NuGet" [mklWinZipPackage; mklLinuxZipPackage] [mklWinNuGetPackage; mklWin32NuGetPackage; mklWin64NuGetPackage; mklLinuxNuGetPackage; mklLinux32NuGetPackage; mklLinux64NuGetPackage])
Target "CudaPublishArchive" (fun _ -> publishArchive "out/CUDA/packages/Zip" "out/CUDA/packages/NuGet" [cudaWinZipPackage] [cudaWinNuGetPackage])
Target "OpenBlasPublishArchive" (fun _ -> publishArchive "out/OpenBLAS/packages/Zip" "out/OpenBLAS/packages/NuGet" [openBlasWinZipPackage] [openBlasWinNuGetPackage])
Target "PublishArchive" (fun _ -> publishArchive numericsSolution)
Target "DataPublishArchive" (fun _ -> publishArchive dataSolution)
Target "MklPublishArchive" (fun _ -> publishArchiveManual "out/MKL/packages/Zip" "out/MKL/packages/NuGet" [mklWinZipPackage; mklLinuxZipPackage] [mklWinNuGetPackage; mklWin32NuGetPackage; mklWin64NuGetPackage; mklLinuxNuGetPackage; mklLinux32NuGetPackage; mklLinux64NuGetPackage])
Target "CudaPublishArchive" (fun _ -> publishArchiveManual "out/CUDA/packages/Zip" "out/CUDA/packages/NuGet" [cudaWinZipPackage] [cudaWinNuGetPackage])
Target "OpenBlasPublishArchive" (fun _ -> publishArchiveManual "out/OpenBLAS/packages/Zip" "out/OpenBLAS/packages/NuGet" [openBlasWinZipPackage] [openBlasWinNuGetPackage])
Target "PublishNuGet" (fun _ -> publishNuGet !! (numericsSolution.OutputNuGetDir </> "/*.nupkg"))
Target "DataPublishNuGet" (fun _ -> publishNuGet !! (dataSolution.OutputNuGetDir </> "/*.nupkg"))

15
build/build-framework.fsx

@ -121,6 +121,7 @@ type Solution =
SolutionFile: string
Projects: Project list
Release: Release
ZipPackages: ZipPackage list
OutputDir: string
OutputLibDir: string
OutputLibStrongNameDir: string
@ -175,11 +176,12 @@ let project assemblyName projectFile nuGetPackages =
NuGetPackages = nuGetPackages
Release = nuGetPackages |> List.map (fun p -> p.Release) |> List.distinct |> List.exactlyOne }
let solution key solutionFile projects =
let solution key solutionFile projects zipPackages =
{ Solution.Key = key
SolutionFile = solutionFile
Projects = projects
Release = projects |> List.map (fun p -> p.Release) |> List.distinct |> List.exactlyOne
ZipPackages = zipPackages
Release = List.concat [ projects |> List.map (fun p -> p.Release); zipPackages |> List.map (fun p -> p.Release) ] |> List.distinct |> List.exactlyOne
OutputDir = "out" </> key
OutputLibDir = "out" </> key </> "Lib"
OutputLibStrongNameDir = "out" </> key </> "Lib-StrongName"
@ -548,7 +550,7 @@ let publishNuGetToArchive (package:NuGetPackage) archivePath nupkgFile =
!! (tempDir </> "*.nuspec") |> Copy archiveDir
DeleteDir tempDir
let publishArchive zipOutPath nugetOutPath (zipPackages:ZipPackage list) (nugetPackages:NuGetPackage list) =
let publishArchiveManual zipOutPath nugetOutPath (zipPackages:ZipPackage list) (nugetPackages:NuGetPackage list) =
let archivePath = (environVarOrFail "MathNetReleaseArchive") </> "Math.NET Numerics"
if directoryExists archivePath |> not then failwith "Release archive directory does not exists. Safety Check failed."
for zipPackage in zipPackages do
@ -563,3 +565,10 @@ let publishArchive zipOutPath nugetOutPath (zipPackages:ZipPackage list) (nugetP
let symbolsFile = nugetOutPath </> sprintf "%s.%s.symbols.nupkg" nugetPackage.Id nugetPackage.Release.PackageVersion
if FileSystemHelper.fileExists symbolsFile then
symbolsFile |> CopyFile (archivePath </> "Symbols")
let publishArchive (solution:Solution) =
let zipOutPath = solution.OutputZipDir
let nugetOutPath = solution.OutputNuGetDir
let zipPackages = solution.ZipPackages
let nugetPackages = solution.Projects |> List.collect (fun p -> p.NuGetPackages) |> List.distinct
publishArchiveManual zipOutPath nugetOutPath zipPackages nugetPackages

Loading…
Cancel
Save