diff --git a/CS.Changelog.Console/CS.Changelog.Console.csproj b/CS.Changelog.Console/CS.Changelog.Console.csproj index b9692d1..1c6d8c0 100644 --- a/CS.Changelog.Console/CS.Changelog.Console.csproj +++ b/CS.Changelog.Console/CS.Changelog.Console.csproj @@ -2,12 +2,11 @@ Exe - net7.0 + net9.0 flow-analysis true true - 8 Robert Sirre, Mario Puglisi Cohelion @@ -17,14 +16,16 @@ A git-commit based changelog generator. - 1.4.0 - Cohelion 2023 + 1.6.0 + Cohelion 2024 MS-PL https://github.com/Cohelion/CS.Changelog https://github.com/Cohelion/CS.Changelog Git - false - false + True + True changelog git changelog generator en @@ -54,6 +55,8 @@ AllEnabledByDefault embedded ReadMe.md + True + RobertSirre.Changelog.Console diff --git a/CS.Changelog.Console/Options.cs b/CS.Changelog.Console/Options.cs index 6120782..4fa11bb 100644 --- a/CS.Changelog.Console/Options.cs +++ b/CS.Changelog.Console/Options.cs @@ -1,10 +1,9 @@ -using CommandLine; -using CommandLine.Text; -using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Xml; using System.Xml.Serialization; +using CommandLine; namespace CS.Changelog.Console { @@ -80,7 +79,8 @@ namespace CS.Changelog.Console /// /// [SuppressMessage("Naming", "CA1707:Identifiers should not contain underscores", Justification = "Option names follow naming conventions for command-line input")] - public class Options + [SuppressMessage("Maintainability", "CA1515:Consider making public types internal", Justification = "These options are parsed from oublic input.")] + public sealed class Options { /// Gets or sets the path to git. /// The path to git, defaults to git. diff --git a/CS.Changelog.Console/Program.cs b/CS.Changelog.Console/Program.cs index 31917d3..da1b438 100644 --- a/CS.Changelog.Console/Program.cs +++ b/CS.Changelog.Console/Program.cs @@ -48,12 +48,12 @@ static void Main(string[] args) return; // Validate some more - if (!Uri.TryCreate(_options.IssueTrackerUrl, UriKind.Absolute, out _)) + if (!string.IsNullOrEmpty(_options.IssueTrackerUrl) && !Uri.TryCreate(_options.IssueTrackerUrl, UriKind.Absolute, out _)) { System.Console.Error.WriteLine($"{nameof(Options.IssueTrackerUrl)} : {_options.IssueTrackerUrl} is not a valid url"); return; } - if (!Uri.TryCreate(_options.CommitDetailsUrl, UriKind.Absolute, out _)) + if (!string.IsNullOrEmpty(_options.CommitDetailsUrl) && !Uri.TryCreate(_options.CommitDetailsUrl, UriKind.Absolute, out _)) { System.Console.Error.WriteLine($"{nameof(Options.CommitDetailsUrl)} : {_options.CommitDetailsUrl} is not a valid url"); return; diff --git a/CS.Changelog.Console/Properties/PublishProfiles/FolderProfile.pubxml b/CS.Changelog.Console/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..12cead3 --- /dev/null +++ b/CS.Changelog.Console/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,13 @@ + + + + + Release + Any CPU + bin\Release\net9.0\publish\ + FileSystem + <_TargetId>Folder + + \ No newline at end of file diff --git a/CS.Changelog.Tests/CS.Changelog.Tests.csproj b/CS.Changelog.Tests/CS.Changelog.Tests.csproj index 60d1984..2706ab7 100644 --- a/CS.Changelog.Tests/CS.Changelog.Tests.csproj +++ b/CS.Changelog.Tests/CS.Changelog.Tests.csproj @@ -1,7 +1,7 @@  - net7.0 + net9.0 false flow-analysis true @@ -18,17 +18,17 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/CS.Changelog/CS.Changelog.csproj b/CS.Changelog/CS.Changelog.csproj index bb9356f..26d16fa 100644 --- a/CS.Changelog/CS.Changelog.csproj +++ b/CS.Changelog/CS.Changelog.csproj @@ -64,7 +64,7 @@ - + diff --git a/CS.Changelog/Parsing.cs b/CS.Changelog/Parsing.cs index 2615923..7018d1c 100644 --- a/CS.Changelog/Parsing.cs +++ b/CS.Changelog/Parsing.cs @@ -300,7 +300,7 @@ public static string CleanMessage(string message, Regex IssueFormat) // Because the end of the message will be changed if there's any issue number present in the if (message.EndsWith('\r')) message = message.Remove(message.Length - 1, 1); - if (matches.Any()) + if (matches.Count > 0) { // If multiple matches are found, then leave the message as is if (matches.Count > 1) return result;