diff --git a/build/BasicTasks.fs b/build/BasicTasks.fs index 7ff2244..a15af69 100644 --- a/build/BasicTasks.fs +++ b/build/BasicTasks.fs @@ -4,7 +4,6 @@ open BlackFox.Fake open Fake.IO open Fake.DotNet open Fake.IO.Globbing.Operators - open ProjectInfo let setPrereleaseTag = BuildTask.create "SetPrereleaseTag" [] { @@ -25,6 +24,19 @@ let clean = BuildTask.create "Clean" [] { } let build = BuildTask.create "Build" [clean] { - solutionFile - |> DotNet.build id -} \ No newline at end of file + !! "src/**/*.*proj" + -- "src/bin/*" + |> Seq.iter (DotNet.build (fun p -> + let msBuildParams = + {p.MSBuildParams with + Properties = ([ + "AssemblyVersion", assemblyVersion + "AssemblyInformationalVersion", stableVersionTag + ] @ p.MSBuildParams.Properties) + } + { + p with + MSBuildParams = msBuildParams + } +)) +} diff --git a/build/PackageTasks.fs b/build/PackageTasks.fs index d2fb893..527cdd2 100644 --- a/build/PackageTasks.fs +++ b/build/PackageTasks.fs @@ -20,6 +20,8 @@ let pack = BuildTask.create "Pack" [clean; build; runTests] { {p.MSBuildParams with Properties = ([ "Version",stableVersionTag + "AssemblyVersion", assemblyVersion + "AssemblyInformationalVersion", stableVersionTag "PackageReleaseNotes", (release.Notes |> String.concat "\r\n") ] @ p.MSBuildParams.Properties) } @@ -42,6 +44,8 @@ let packPrerelease = BuildTask.create "PackPrerelease" [setPrereleaseTag; clean; {p.MSBuildParams with Properties = ([ "Version", prereleaseTag + "AssemblyVersion", assemblyVersion + "AssemblyInformationalVersion", stableVersionTag "PackageReleaseNotes", (release.Notes |> String.toLines ) ] @ p.MSBuildParams.Properties) } diff --git a/build/ProjectInfo.fs b/build/ProjectInfo.fs index b785823..0ab6745 100644 --- a/build/ProjectInfo.fs +++ b/build/ProjectInfo.fs @@ -4,6 +4,8 @@ open Fake.Core let project = "DynamicObj" +let summary = "F# library supporting Dynamic Objects including inheritance in functional style." + let testProjects = [ "tests/UnitTests/UnitTests.fsproj" @@ -28,6 +30,10 @@ let stableVersion = SemVer.parse release.NugetVersion let stableVersionTag = (sprintf "%i.%i.%i" stableVersion.Major stableVersion.Minor stableVersion.Patch ) +let assemblyVersion = $"{stableVersion.Major}.0.0" + +let assemblyInformationalVersion = $"{stableVersion.Major}.{stableVersion.Minor}.{stableVersion.Patch}" + let mutable prereleaseSuffix = "" let mutable prereleaseTag = "" diff --git a/src/DynamicObj/DynamicObj.fsproj b/src/DynamicObj/DynamicObj.fsproj index 6def608..0d4eb44 100644 --- a/src/DynamicObj/DynamicObj.fsproj +++ b/src/DynamicObj/DynamicObj.fsproj @@ -12,7 +12,7 @@ - Timo Mühlhaus, F# open source contributors + Timo Mühlhaus, Kevin Schneider, F# open source contributors F# library supporting Dynamic Objects including inheritance in functional style. MIT https://csbiology.github.io/DynamicObj/