Browse Source

Build: dedicated release notes and auto-version for native providers

pull/222/head
Christoph Ruegg 12 years ago
parent
commit
0bf67ea4a4
  1. 1
      MathNet.Numerics.All.sln
  2. 1
      MathNet.Numerics.Portable.sln
  3. 1
      MathNet.Numerics.sln
  4. 4
      README.md
  5. 3
      RELEASENOTES-Native.md
  6. 35
      build.fsx
  7. 4
      docs/content/index.fsx

1
MathNet.Numerics.All.sln

@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Readme", "Readme", "{C2F374
LICENSE.md = LICENSE.md
MAINTAINING.md = MAINTAINING.md
README.md = README.md
RELEASENOTES-Native.md = RELEASENOTES-Native.md
RELEASENOTES.md = RELEASENOTES.md
EndProjectSection
EndProject

1
MathNet.Numerics.Portable.sln

@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Readme", "Readme", "{C2F374
LICENSE.md = LICENSE.md
MAINTAINING.md = MAINTAINING.md
README.md = README.md
RELEASENOTES-Native.md = RELEASENOTES-Native.md
RELEASENOTES.md = RELEASENOTES.md
EndProjectSection
EndProject

1
MathNet.Numerics.sln

@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Readme", "Readme", "{C2F374
LICENSE.md = LICENSE.md
MAINTAINING.md = MAINTAINING.md
README.md = README.md
RELEASENOTES-Native.md = RELEASENOTES-Native.md
RELEASENOTES.md = RELEASENOTES.md
EndProjectSection
EndProject

4
README.md

@ -83,11 +83,7 @@ If you do not want to use the official binaries, or if you like to modify, debug
build.cmd NuGet all # generate normal NuGet packages (.Net 4.0, 3.5, PCL)
build.cmd NuGet signed # generate signed/strong named NuGet packages (.Net 4.0)
build.cmd Native32Build # build native providers 32bit/x86
build.cmd Native64Build # build native providers 64bit/x64
build.cmd NativeBuild # build native providers for all platforms
build.cmd Native32Test # test native providers 32bit/x86
build.cmd Native64Test # test native providers 64bit/x64
build.cmd NativeTest # test native providers for all platforms
build.cmd All # build, test, docs, api reference (.Net 4.0)

3
RELEASENOTES-Native.md

@ -0,0 +1,3 @@
### 1.4.0 - 2014-03-01
* Build against Intel MKL 11.1 Update 2
* Capability querying support

35
build.fsx

@ -22,6 +22,7 @@ open Fake
open Fake.DocuHelper
open Fake.AssemblyInfoFile
open Fake.ReleaseNotesHelper
open Fake.StringHelper
open System
Environment.CurrentDirectory <- __SOURCE_DIRECTORY__
@ -60,7 +61,7 @@ type Package =
Files : (string * string option * string option) list }
let release = LoadReleaseNotes "RELEASENOTES.md"
let buildPart = "0" // TODO: Fetch from TC
let buildPart = "0"
let assemblyVersion = release.AssemblyVersion + "." + buildPart
let packageVersion = release.NugetVersion
let releaseNotes = release.Notes |> List.map (fun l -> l.Replace("*","").Replace("`","")) |> toLines
@ -174,8 +175,28 @@ Target "Test" (fun _ -> test !! "out/test/**/*UnitTests*.dll")
// Requires a local installation of Intel MKL
// --------------------------------------------------------------------------------------
// PROJECT INFO
let nativeRelease = LoadReleaseNotes "RELEASENOTES-Native.md"
let nativeBuildPart = "0"
let nativeAssemblyVersion = nativeRelease.AssemblyVersion + "." + nativeBuildPart
let nativePackageVersion = nativeRelease.NugetVersion
let nativeReleaseNotes = nativeRelease.Notes |> List.map (fun l -> l.Replace("*","").Replace("`","")) |> toLines
// VERSION
Target "NativeVersion" (fun _ ->
ReplaceInFile
(regex_replace "\d+\.\d+\.\d+\.\d+" nativeAssemblyVersion
>> regex_replace "\d+,\d+,\d+,\d+" (replace "." "," nativeAssemblyVersion))
"src/NativeProviders/Common/resource.rc")
// BUILD
Target "NativeClean" (fun _ -> CleanDirs [ "out/MKL"; "out/ATLAS" ] )
let native32Build subject = MSBuild "" (if hasBuildParam "incremental" then "Build" else "Rebuild") [("Configuration","Release"); ("Platform","Win32")] subject |> ignore
let native64Build subject = MSBuild "" (if hasBuildParam "incremental" then "Build" else "Rebuild") [("Configuration","Release"); ("Platform","x64")] subject |> ignore
@ -183,8 +204,16 @@ Target "Native32Build" (fun _ -> native32Build !! "MathNet.Numerics.NativeProvid
Target "Native64Build" (fun _ -> native64Build !! "MathNet.Numerics.NativeProviders.sln")
Target "NativeBuild" DoNothing
"Prepare" ==> "Native32Build" ==> "NativeBuild"
"Prepare" ==> "Native64Build" ==> "NativeBuild"
"Prepare"
=?> ("NativeClean", not (hasBuildParam "incremental"))
==> "NativeVersion"
==> "Native32Build"
==> "NativeBuild"
"Prepare"
=?> ("NativeClean", not (hasBuildParam "incremental"))
==> "NativeVersion"
==> "Native64Build"
==> "NativeBuild"
// TEST

4
docs/content/index.fsx

@ -223,11 +223,7 @@ If you do not want to use the official binaries, or if you like to modify, debug
build.cmd NuGet all # generate normal NuGet packages (.Net 4.0, 3.5, PCL)
build.cmd NuGet signed # generate signed/strong named NuGet packages (.Net 4.0)
build.cmd Native32Build # build native providers 32bit/x86
build.cmd Native64Build # build native providers 64bit/x64
build.cmd NativeBuild # build native providers for all platforms
build.cmd Native32Test # test native providers 32bit/x86
build.cmd Native64Test # test native providers 64bit/x64
build.cmd NativeTest # test native providers for all platforms
build.cmd All # build, test, docs, api reference (.Net 4.0)

Loading…
Cancel
Save