diff --git a/build.fsx b/build.fsx index 04004cc1..632d2dbb 100644 --- a/build.fsx +++ b/build.fsx @@ -90,69 +90,33 @@ let mklSolution = solution "MKL" "MathNet.Numerics.MKL.sln" [mklWinProject; mklL let mklWinPack = { NuGet = mklWinNuGetPackage - Title = "Math.NET Numerics - MKL Native Provider for Windows (x64 and x86)" - Summary = "" - Description = "Intel MKL native libraries for Math.NET Numerics on Windows." - Tags = "math numeric statistics probability integration interpolation linear algebra matrix fft native mkl" - Authors = [ "Christoph Ruegg"; "Marcus Cuda"; "Jurgen Van Gael" ] - Dependencies = [] - Files = - [ @"..\..\build\NativeProvider.targets", Some "build\MathNet.Numerics.MKL.Win.targets", None; - @"..\..\out\MKL\Windows\x64\libiomp5md.dll", Some @"build\x64", None; - @"..\..\out\MKL\Windows\x64\MathNet.Numerics.MKL.dll", Some @"build\x64", None; - @"..\..\out\MKL\Windows\x86\libiomp5md.dll", Some @"build\x86", None; - @"..\..\out\MKL\Windows\x86\MathNet.Numerics.MKL.dll", Some @"build\x86", None ] } + NuSpecFile = "build/MathNet.Numerics.MKL.Win.nuspec" + Title = "Math.NET Numerics - MKL Native Provider for Windows (x64 and x86)" } let mklWin32Pack = - { mklWinPack with - NuGet = mklWin32NuGetPackage - Title = "Math.NET Numerics - MKL Native Provider for Windows (x86)" - Files = - [ @"..\..\build\NativeProvider.targets", Some "build\MathNet.Numerics.MKL.Win-x86.targets", None; - @"..\..\out\MKL\Windows\x86\libiomp5md.dll", Some @"build\x86", None; - @"..\..\out\MKL\Windows\x86\MathNet.Numerics.MKL.dll", Some @"build\x86", None ] } + { NuGet = mklWin32NuGetPackage + NuSpecFile = "build/MathNet.Numerics.MKL.Win-x86.nuspec" + Title = "Math.NET Numerics - MKL Native Provider for Windows (x86)" } let mklWin64Pack = - { mklWinPack with - NuGet = mklWin64NuGetPackage - Title = "Math.NET Numerics - MKL Native Provider for Windows (x64)" - Files = - [ @"..\..\build\NativeProvider.targets", Some "build\MathNet.Numerics.MKL.Win-x64.targets", None; - @"..\..\out\MKL\Windows\x64\libiomp5md.dll", Some @"build\x64", None; - @"..\..\out\MKL\Windows\x64\MathNet.Numerics.MKL.dll", Some @"build\x64", None ] } + { NuGet = mklWin64NuGetPackage + NuSpecFile = "build/MathNet.Numerics.MKL.Win-x64.nuspec" + Title = "Math.NET Numerics - MKL Native Provider for Windows (x64)" } let mklLinuxPack = { NuGet = mklLinuxNuGetPackage - Title = "Math.NET Numerics - MKL Native Provider for Linux (x64 and x86)" - Summary = "" - Description = "Intel MKL native libraries for Math.NET Numerics on Linux." - Tags = "math numeric statistics probability integration interpolation linear algebra matrix fft native mkl" - Authors = [ "Christoph Ruegg"; "Marcus Cuda"; "Jurgen Van Gael" ] - Dependencies = [] - Files = - [ @"..\..\build\NativeProvider.targets", Some "build\MathNet.Numerics.MKL.Linux.targets", None; - @"..\..\out\MKL\Linux\x64\libiomp5.so", Some @"build\x64", None; - @"..\..\out\MKL\Linux\x64\MathNet.Numerics.MKL.dll", Some @"build\x64", None; - @"..\..\out\MKL\Linux\x86\libiomp5.so", Some @"build\x86", None; - @"..\..\out\MKL\Linux\x86\MathNet.Numerics.MKL.dll", Some @"build\x86", None ] } + NuSpecFile = "build/MathNet.Numerics.MKL.Linux.nuspec" + Title = "Math.NET Numerics - MKL Native Provider for Linux (x64 and x86)" } let mklLinux32Pack = - { mklLinuxPack with - NuGet = mklLinux32NuGetPackage - Title = "Math.NET Numerics - MKL Native Provider for Linux (x86)" - Files = - [ @"..\..\build\NativeProvider.targets", Some "build\MathNet.Numerics.MKL.Linux-x86.targets", None; - @"..\..\out\MKL\Linux\x86\libiomp5.so", Some @"build\x86", None; - @"..\..\out\MKL\Linux\x86\MathNet.Numerics.MKL.dll", Some @"build\x86", None ] } + { NuGet = mklLinux32NuGetPackage + NuSpecFile = "build/MathNet.Numerics.MKL.Linux-x86.nuspec" + Title = "Math.NET Numerics - MKL Native Provider for Linux (x86)" } let mklLinux64Pack = - { mklLinuxPack with - NuGet = mklLinux64NuGetPackage - Title = "Math.NET Numerics - MKL Native Provider for Linux (x64)" - Files = - [ @"..\..\build\NativeProvider.targets", Some "build\MathNet.Numerics.MKL.Linux-x64.targets", None; - @"..\..\out\MKL\Linux\x64\libiomp5.so", Some @"build\x64", None; - @"..\..\out\MKL\Linux\x64\MathNet.Numerics.MKL.dll", Some @"build\x64", None ] } + { NuGet = mklLinux64NuGetPackage + NuSpecFile = "build/MathNet.Numerics.MKL.Linux-x64.nuspec" + Title = "Math.NET Numerics - MKL Native Provider for Linux (x64)" } // CUDA NATIVE PROVIDER PACKAGES @@ -165,18 +129,8 @@ let cudaSolution = solution "CUDA" "MathNet.Numerics.CUDA.sln" [cudaWinProject] let cudaWinPack = { NuGet = cudaWinNuGetPackage - Title = "Math.NET Numerics - CUDA Native Provider for Windows (x64)" - Summary = "" - Description = "Nvidia CUDA native libraries for Math.NET Numerics." - Tags = "math numeric statistics probability integration interpolation linear algebra matrix fft native cuda gpu" - Authors = [ "Matthew A Johnson"; "Christoph Ruegg" ] - Dependencies = [] - Files = - [ @"..\..\build\NativeProvider.targets", Some "build\MathNet.Numerics.CUDA.Win.targets", None; - @"..\..\out\CUDA\Windows\x64\cublas64_70.dll", Some "content", None; - @"..\..\out\CUDA\Windows\x64\cudart64_70.dll", Some "content", None; - @"..\..\out\CUDA\Windows\x64\cusolver64_70.dll", Some "content", None; - @"..\..\out\CUDA\Windows\x64\MathNet.Numerics.CUDA.dll", Some "content", None ] } + NuSpecFile = "build/MathNet.Numerics.CUDA.Win.nuspec" + Title = "Math.NET Numerics - CUDA Native Provider for Windows (x64)" } // OpenBLAS NATIVE PROVIDER PACKAGES @@ -189,24 +143,8 @@ let openBlasSolution = solution "OpenBLAS" "MathNet.Numerics.OpenBLAS.sln" [open let openBlasWinPack = { NuGet = openBlasWinNuGetPackage - Title = "Math.NET Numerics - OpenBLAS Native Provider for Windows (x64 and x86)" - Summary = "" - Description = "OpenBLAS native libraries for Math.NET Numerics." - Tags = "math numeric statistics probability integration interpolation linear algebra matrix fft native openblas" - Authors = [ "Kuan Bartel"; "Christoph Ruegg"; "Marcus Cuda" ] - Dependencies = [] - Files = - [ @"..\..\build\NativeProvider.targets", Some "build\MathNet.Numerics.OpenBLAS.Win.targets", None; - @"..\..\out\OpenBLAS\Windows\x64\libgcc_s_seh-1.dll", Some @"build\x64", None; - @"..\..\out\OpenBLAS\Windows\x64\libgfortran-3.dll", Some @"build\x64", None; - @"..\..\out\OpenBLAS\Windows\x64\libopenblas.dll", Some @"build\x64", None; - @"..\..\out\OpenBLAS\Windows\x64\libquadmath-0.dll", Some @"build\x64", None; - @"..\..\out\OpenBLAS\Windows\x64\MathNet.Numerics.OpenBLAS.dll", Some @"build\x64", None; - @"..\..\out\OpenBLAS\Windows\x86\libgcc_s_sjlj-1.dll", Some @"build\x86", None; - @"..\..\out\OpenBLAS\Windows\x86\libgfortran-3.dll", Some @"build\x86", None; - @"..\..\out\OpenBLAS\Windows\x86\libopenblas.dll", Some @"build\x86", None; - @"..\..\out\OpenBLAS\Windows\x86\libquadmath-0.dll", Some @"build\x86", None; - @"..\..\out\OpenBLAS\Windows\x86\MathNet.Numerics.OpenBLAS.dll", Some @"build\x86", None ] } + NuSpecFile = "build/MathNet.Numerics.OpenBLAS.Win.nuspec" + Title = "Math.NET Numerics - OpenBLAS Native Provider for Windows (x64 and x86)" } // ALL diff --git a/build/MathNet.Numerics.CUDA.Win.nuspec b/build/MathNet.Numerics.CUDA.Win.nuspec new file mode 100644 index 00000000..4a15ab97 --- /dev/null +++ b/build/MathNet.Numerics.CUDA.Win.nuspec @@ -0,0 +1,28 @@ + + + + MathNet.Numerics.CUDA.Win + @build.number@ + Math.NET Numerics - CUDA Native Provider for Windows (x64) + Matthew A Johnson, Christoph Ruegg + Matthew A Johnson, Christoph Ruegg + false + https://numerics.mathdotnet.com/License.html + https://numerics.mathdotnet.com/ + https://www.mathdotnet.com/images/MathNet128.png + + Nvidia CUDA native libraries for Math.NET Numerics. + Nvidia CUDA native libraries for Math.NET Numerics. + @releaseNotes@ + math numeric statistics probability integration interpolation linear algebra matrix fft native cuda gpu + + + + + + + + + + + diff --git a/build/MathNet.Numerics.MKL.Linux-x64.nuspec b/build/MathNet.Numerics.MKL.Linux-x64.nuspec new file mode 100644 index 00000000..5f17b437 --- /dev/null +++ b/build/MathNet.Numerics.MKL.Linux-x64.nuspec @@ -0,0 +1,26 @@ + + + + MathNet.Numerics.MKL.Linux-x64 + @build.number@ + Math.NET Numerics - MKL Native Provider for Linux (x64) + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + false + https://numerics.mathdotnet.com/License.html + https://numerics.mathdotnet.com/ + https://www.mathdotnet.com/images/MathNet128.png + + Intel MKL native libraries for Math.NET Numerics on Linux. + Intel MKL native libraries for Math.NET Numerics on Linux. + @releaseNotes@ + math numeric statistics probability integration interpolation linear algebra matrix fft native mkl + + + + + + + + + diff --git a/build/MathNet.Numerics.MKL.Linux-x86.nuspec b/build/MathNet.Numerics.MKL.Linux-x86.nuspec new file mode 100644 index 00000000..5ddd800b --- /dev/null +++ b/build/MathNet.Numerics.MKL.Linux-x86.nuspec @@ -0,0 +1,26 @@ + + + + MathNet.Numerics.MKL.Linux-x86 + @build.number@ + Math.NET Numerics - MKL Native Provider for Linux (x86) + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + false + https://numerics.mathdotnet.com/License.html + https://numerics.mathdotnet.com/ + https://www.mathdotnet.com/images/MathNet128.png + + Intel MKL native libraries for Math.NET Numerics on Linux. + Intel MKL native libraries for Math.NET Numerics on Linux. + @releaseNotes@ + math numeric statistics probability integration interpolation linear algebra matrix fft native mkl + + + + + + + + + diff --git a/build/MathNet.Numerics.MKL.Linux.nuspec b/build/MathNet.Numerics.MKL.Linux.nuspec new file mode 100644 index 00000000..76d52788 --- /dev/null +++ b/build/MathNet.Numerics.MKL.Linux.nuspec @@ -0,0 +1,28 @@ + + + + MathNet.Numerics.MKL.Linux + @build.number@ + Math.NET Numerics - MKL Native Provider for Linux (x64 and x86) + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + false + https://numerics.mathdotnet.com/License.html + https://numerics.mathdotnet.com/ + https://www.mathdotnet.com/images/MathNet128.png + + Intel MKL native libraries for Math.NET Numerics on Linux. + Intel MKL native libraries for Math.NET Numerics on Linux. + @releaseNotes@ + math numeric statistics probability integration interpolation linear algebra matrix fft native mkl + + + + + + + + + + + diff --git a/build/MathNet.Numerics.MKL.Win-x64.nuspec b/build/MathNet.Numerics.MKL.Win-x64.nuspec new file mode 100644 index 00000000..b09c86a2 --- /dev/null +++ b/build/MathNet.Numerics.MKL.Win-x64.nuspec @@ -0,0 +1,26 @@ + + + + MathNet.Numerics.MKL.Win-x64 + @build.number@ + Math.NET Numerics - MKL Native Provider for Windows (x64) + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + false + https://numerics.mathdotnet.com/License.html + https://numerics.mathdotnet.com/ + https://www.mathdotnet.com/images/MathNet128.png + + Intel MKL native libraries for Math.NET Numerics on Windows. + Intel MKL native libraries for Math.NET Numerics on Windows. + @releaseNotes@ + math numeric statistics probability integration interpolation linear algebra matrix fft native mkl + + + + + + + + + diff --git a/build/MathNet.Numerics.MKL.Win-x86.nuspec b/build/MathNet.Numerics.MKL.Win-x86.nuspec new file mode 100644 index 00000000..09c0bef4 --- /dev/null +++ b/build/MathNet.Numerics.MKL.Win-x86.nuspec @@ -0,0 +1,26 @@ + + + + MathNet.Numerics.MKL.Win-x86 + @build.number@ + Math.NET Numerics - MKL Native Provider for Windows (x86) + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + false + https://numerics.mathdotnet.com/License.html + https://numerics.mathdotnet.com/ + https://www.mathdotnet.com/images/MathNet128.png + + Intel MKL native libraries for Math.NET Numerics on Windows. + Intel MKL native libraries for Math.NET Numerics on Windows. + @releaseNotes@ + math numeric statistics probability integration interpolation linear algebra matrix fft native mkl + + + + + + + + + diff --git a/build/MathNet.Numerics.MKL.Win.nuspec b/build/MathNet.Numerics.MKL.Win.nuspec new file mode 100644 index 00000000..d77f181f --- /dev/null +++ b/build/MathNet.Numerics.MKL.Win.nuspec @@ -0,0 +1,28 @@ + + + + MathNet.Numerics.MKL.Win + @build.number@ + Math.NET Numerics - MKL Native Provider for Windows (x64 and x86) + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + Christoph Ruegg, Marcus Cuda, Jurgen Van Gael + false + https://numerics.mathdotnet.com/License.html + https://numerics.mathdotnet.com/ + https://www.mathdotnet.com/images/MathNet128.png + + Intel MKL native libraries for Math.NET Numerics on Windows. + Intel MKL native libraries for Math.NET Numerics on Windows. + @releaseNotes@ + math numeric statistics probability integration interpolation linear algebra matrix fft native mkl + + + + + + + + + + + diff --git a/build/MathNet.Numerics.OpenBLAS.Win.nuspec b/build/MathNet.Numerics.OpenBLAS.Win.nuspec new file mode 100644 index 00000000..093c6152 --- /dev/null +++ b/build/MathNet.Numerics.OpenBLAS.Win.nuspec @@ -0,0 +1,34 @@ + + + + MathNet.Numerics.OpenBLAS.Win + @build.number@ + Math.NET Numerics - OpenBLAS Native Provider for Windows (x64 and x86) + Kuan Bartel, Christoph Ruegg, Marcus Cuda + Kuan Bartel, Christoph Ruegg, Marcus Cuda + false + https://numerics.mathdotnet.com/License.html + https://numerics.mathdotnet.com/ + https://www.mathdotnet.com/images/MathNet128.png + + OpenBLAS native libraries for Math.NET Numerics. + OpenBLAS native libraries for Math.NET Numerics. + @releaseNotes@ + math numeric statistics probability integration interpolation linear algebra matrix fft native openblas + + + + + + + + + + + + + + + + + diff --git a/build/build-framework.fsx b/build/build-framework.fsx index ef5ba305..aa0c7ece 100644 --- a/build/build-framework.fsx +++ b/build/build-framework.fsx @@ -149,13 +149,8 @@ type Solution = type NuGetSpecification = { NuGet: NuGetPackage - Title: string - Summary: string - Description: string - Tags: string - Authors: string list - Dependencies: NugetFrameworkDependencies list - Files: (string * string option * string option) list } + NuSpecFile: string + Title: string } let release title releaseNotesFile : Release = @@ -242,23 +237,6 @@ let traceHeader (releases:Release list) = trace "" -// -------------------------------------------------------------------------------------- -// TARGET FRAMEWORKS -// -------------------------------------------------------------------------------------- - -let libnet35 = "lib/net35" -let libnet40 = "lib/net40" -let libnet45 = "lib/net45" -let netstandard13 = "lib/netstandard1.3" -let netstandard16 = "lib/netstandard1.6" -let netstandard20 = "lib/netstandard2.0" -let libpcl7 = "lib/portable-net45+netcore45+MonoAndroid1+MonoTouch1" -let libpcl47 = "lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1" -let libpcl78 = "lib/portable-net45+netcore45+wp8+MonoAndroid1+MonoTouch1" -let libpcl259 = "lib/portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1" -let libpcl328 = "lib/portable-net4+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1" - - // -------------------------------------------------------------------------------------- // PREPARE // -------------------------------------------------------------------------------------- @@ -301,6 +279,7 @@ let patchVersionInProjectFile (project:Project) = | NativeVisualStudio _ -> () | NativeBashScript _ -> () + // -------------------------------------------------------------------------------------- // BUILD // -------------------------------------------------------------------------------------- @@ -436,21 +415,12 @@ let zip (package:ZipPackage) zipDir filesDir filesFilter = // NUGET -let updateNuspec (nuget:NuGetPackage) (pack:NuGetSpecification) outPath symbols updateFiles spec = +let updateNuspec (nuget:NuGetPackage) outPath spec = { spec with ToolPath = "packages/build/NuGet.CommandLine/tools/NuGet.exe" OutputPath = outPath WorkingDir = "obj/NuGet" Version = nuget.Release.PackageVersion ReleaseNotes = nuget.Release.ReleaseNotes - Project = nuget.Id - Title = pack.Title - Summary = pack.Summary - Description = pack.Description - Tags = pack.Tags - Authors = pack.Authors - DependenciesByFramework = pack.Dependencies - SymbolPackage = symbols - Files = updateFiles pack.Files Publish = false } let nugetPackManually (solution:Solution) (packages:NuGetSpecification list) = @@ -458,8 +428,7 @@ let nugetPackManually (solution:Solution) (packages:NuGetSpecification list) = for pack in packages do provideLicense "obj/NuGet" provideReadme (sprintf "%s v%s" pack.Title pack.NuGet.Release.PackageVersion) pack.NuGet.Release "obj/NuGet" - let withLicenseReadme f = [ "license.txt", None, None; "readme.txt", None, None; ] @ f - NuGet (updateNuspec pack.NuGet pack solution.OutputNuGetDir NugetSymbolPackage.None withLicenseReadme) "build/MathNet.Numerics.Extension.nuspec" + NuGet (updateNuspec pack.NuGet solution.OutputNuGetDir) pack.NuSpecFile CleanDir "obj/NuGet" DeleteDir "obj/NuGet"