diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 8695aeeb..1976ce3d 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,6 @@ +### 4.2.0 +* Migrate to SourceLink 2.0 + ### 4.1.0 * Add AppSettings configuration reader support for NetStandard. diff --git a/build.fsx b/build.fsx index 1929277b..d686ecf0 100644 --- a/build.fsx +++ b/build.fsx @@ -19,6 +19,8 @@ open Fake.Testing let project = "Argu" +let summary = "A declarative command line and XML configuration parser for F# applications." + let gitOwner = "fsprojects" let gitName = "Argu" let gitHome = "https://github.com/" + gitOwner @@ -43,12 +45,31 @@ Target "BuildVersion" (fun _ -> Shell.Exec("appveyor", sprintf "UpdateBuild -Version \"%s\"" nugetVersion) |> ignore ) -// Generate assembly info files with the right version & up-to-date information Target "AssemblyInfo" (fun _ -> - let fileName = "./src/Argu/AssemblyInfo.fs" - CreateFSharpAssemblyInfo fileName - [ Attribute.Version release.AssemblyVersion - Attribute.FileVersion release.AssemblyVersion ] + let getAssemblyInfoAttributes projectName = + [ Attribute.Title projectName + Attribute.Product project + Attribute.Description summary + Attribute.Version release.AssemblyVersion + Attribute.FileVersion release.AssemblyVersion ] + + let getProjectDetails projectPath = + let projectName = System.IO.Path.GetFileNameWithoutExtension(projectPath) + ( projectPath, + projectName, + System.IO.Path.GetDirectoryName(projectPath), + (getAssemblyInfoAttributes projectName) + ) + + !! "src/**/*.??proj" + |> Seq.map getProjectDetails + |> Seq.iter (fun (projFileName, projectName, folderName, attributes) -> + match projFileName with + | Fsproj -> CreateFSharpAssemblyInfo (folderName "AssemblyInfo.fs") attributes + | Csproj -> CreateCSharpAssemblyInfo ((folderName "Properties") "AssemblyInfo.cs") attributes + | Vbproj -> CreateVisualBasicAssemblyInfo ((folderName "My Project") "AssemblyInfo.vb") attributes + | Shproj -> () + ) ) diff --git a/src/Argu.Core/Argu.Core.fsproj b/src/Argu.Core/Argu.Core.fsproj index da0b0dd2..4fe2b325 100644 --- a/src/Argu.Core/Argu.Core.fsproj +++ b/src/Argu.Core/Argu.Core.fsproj @@ -15,7 +15,7 @@ ..\..\bin\Release\netstandard2.0\Argu.XML - + diff --git a/src/Argu.Core/AssemblyInfo.fs b/src/Argu.Core/AssemblyInfo.fs new file mode 100644 index 00000000..3f3ba1b8 --- /dev/null +++ b/src/Argu.Core/AssemblyInfo.fs @@ -0,0 +1,17 @@ +// Auto-Generated by FAKE; do not edit +namespace System +open System.Reflection + +[] +[] +[] +[] +[] +do () + +module internal AssemblyVersionInformation = + let [] AssemblyTitle = "Argu.Core" + let [] AssemblyProduct = "Argu" + let [] AssemblyDescription = "A declarative command line and XML configuration parser for F# applications." + let [] AssemblyVersion = "4.2.0" + let [] AssemblyFileVersion = "4.2.0" diff --git a/src/Argu/AssemblyInfo.fs b/src/Argu/AssemblyInfo.fs index 9bf631f9..9777321c 100644 --- a/src/Argu/AssemblyInfo.fs +++ b/src/Argu/AssemblyInfo.fs @@ -2,10 +2,16 @@ namespace System open System.Reflection -[] -[] +[] +[] +[] +[] +[] do () module internal AssemblyVersionInformation = - let [] AssemblyVersion = "4.1.0" - let [] AssemblyFileVersion = "4.1.0" + let [] AssemblyTitle = "Argu" + let [] AssemblyProduct = "Argu" + let [] AssemblyDescription = "A declarative command line and XML configuration parser for F# applications." + let [] AssemblyVersion = "4.2.0" + let [] AssemblyFileVersion = "4.2.0"