From e4c97e5de15d40ef28a797ab40331eac28d23d6a Mon Sep 17 00:00:00 2001 From: Nicklas Laine Overgaard <866244+nover@users.noreply.github.com> Date: Fri, 20 Dec 2024 11:51:15 +0100 Subject: [PATCH] fix: don't break on csproj without a version set --- src/Vcs/Git/GitVcs.cs | 6 ++++++ src/VersionCli.cs | 15 +++++---------- test/Versioning/SemVerBumperTests.cs | 1 + 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Vcs/Git/GitVcs.cs b/src/Vcs/Git/GitVcs.cs index 3a3133d..8613d7c 100644 --- a/src/Vcs/Git/GitVcs.cs +++ b/src/Vcs/Git/GitVcs.cs @@ -60,8 +60,14 @@ private static bool LaunchGitWithArgs(string args, int waitForExitTimeMs = 1000, { var startInfo = CreateGitShellStartInfo(args); var proc = Process.Start(startInfo); + if (proc == null) + { + throw new Exception("Something is horribly wrong"); + } proc.WaitForExit(waitForExitTimeMs); + // Console.WriteLine(exitCode); + return proc.ExitCode == exitCode; } catch (Exception ex) diff --git a/src/VersionCli.cs b/src/VersionCli.cs index 8a38944..c3865bb 100644 --- a/src/VersionCli.cs +++ b/src/VersionCli.cs @@ -121,17 +121,12 @@ public VersionInfo Execute(VersionCliArgs args) private SemVer GetCurrentSemVerFromSource() { - if (_fileParser.VersionSource == ProjectFileProperty.Version) + return _fileParser.VersionSource switch { - return SemVer.FromString(_fileParser.Version); - } - - if (_fileParser.VersionSource == ProjectFileProperty.PackageVersion) - { - return SemVer.FromString(_fileParser.PackageVersion); - } - - return SemVer.FromString(_fileParser.VersionPrefix); + ProjectFileProperty.Version => SemVer.FromString(string.IsNullOrWhiteSpace(_fileParser.Version) ? "0.0.0" : _fileParser.Version), + ProjectFileProperty.PackageVersion => SemVer.FromString(string.IsNullOrWhiteSpace(_fileParser.PackageVersion) ? "0.0.0" : _fileParser.PackageVersion), + _ => SemVer.FromString(string.IsNullOrWhiteSpace(_fileParser.VersionPrefix) ? "0.0.0" : _fileParser.VersionPrefix) + }; } public void DumpVersion(VersionCliArgs args) diff --git a/test/Versioning/SemVerBumperTests.cs b/test/Versioning/SemVerBumperTests.cs index 9e96a3e..6ab4df9 100644 --- a/test/Versioning/SemVerBumperTests.cs +++ b/test/Versioning/SemVerBumperTests.cs @@ -22,6 +22,7 @@ public SemVerBumperTests() [InlineData("2.1.0", VersionBump.PrePatch, 2, 1, 1, "next.0", "")] [InlineData("3.2.1", VersionBump.Specific, 3, 2, 1, "", "")] [InlineData("3.2.1-0+master", VersionBump.Specific, 3, 2, 1, "0", "master")] + [InlineData("6.0.2-1-g609a472", VersionBump.Specific, 6, 0, 2, "1-g609a472", "")] public void CanBumpVersions( string version, VersionBump bump,