Skip to content
Draft
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
<PackageVersion Include="NUnit.Analyzers" Version="4.9.2" />
<PackageVersion Include="NUnit3TestAdapter" Version="5.0.0" />
<PackageVersion Include="Shouldly" Version="4.3.0" />
<PackageVersion Include="Spectre.Console.Cli" Version="0.49.1" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use the latest version instead

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to use the latest stable version 0.50.0. Commit 3a4b8e9.

<PackageVersion Include="System.Collections.Immutable" Version="9.0.2" />
<PackageVersion Include="System.Drawing.Common" Version="9.0.6" />
<PackageVersion Include="System.IO.Abstractions" Version="22.0.14" />
Expand Down
20 changes: 10 additions & 10 deletions src/GitVersion.App.Tests/ArgumentParserTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ public void WrongNumberOfArgumentsShouldThrow()
}

[TestCase("targetDirectoryPath -x logFilePath")]
[TestCase("/invalid-argument")]
[TestCase("--invalid-argument")]
public void UnknownArgumentsShouldThrow(string arguments)
{
var exception = Assert.Throws<WarningException>(() => this.argumentParser.ParseArguments(arguments));
Expand Down Expand Up @@ -370,14 +370,14 @@ public void UpdateAssemblyInfoWithRelativeFilename()
[Test]
public void OverrideconfigWithNoOptions()
{
var arguments = this.argumentParser.ParseArguments("/overrideconfig");
var arguments = this.argumentParser.ParseArguments("--override-config");
arguments.OverrideConfiguration.ShouldBeNull();
}

[TestCaseSource(nameof(OverrideconfigWithInvalidOptionTestData))]
public string OverrideconfigWithInvalidOption(string options)
{
var exception = Assert.Throws<WarningException>(() => this.argumentParser.ParseArguments($"/overrideconfig {options}"));
var exception = Assert.Throws<WarningException>(() => this.argumentParser.ParseArguments($"--override-config {options}"));
exception.ShouldNotBeNull();
return exception.Message;
}
Expand All @@ -386,18 +386,18 @@ private static IEnumerable<TestCaseData> OverrideconfigWithInvalidOptionTestData
{
yield return new TestCaseData("tag-prefix=sample=asdf")
{
ExpectedResult = "Could not parse /overrideconfig option: tag-prefix=sample=asdf. Ensure it is in format 'key=value'."
ExpectedResult = "Could not parse --override-config option: tag-prefix=sample=asdf. Ensure it is in format 'key=value'."
};
yield return new TestCaseData("unknown-option=25")
{
ExpectedResult = "Could not parse /overrideconfig option: unknown-option=25. Unsupported 'key'."
ExpectedResult = "Could not parse --override-config option: unknown-option=25. Unsupported 'key'."
};
}

[TestCaseSource(nameof(OverrideConfigWithSingleOptionTestData))]
public void OverrideConfigWithSingleOptions(string options, IGitVersionConfiguration expected)
{
var arguments = this.argumentParser.ParseArguments($"/overrideconfig {options}");
var arguments = this.argumentParser.ParseArguments($"--override-config {options}");

ConfigurationHelper configurationHelper = new(arguments.OverrideConfiguration);
configurationHelper.Configuration.ShouldBeEquivalentTo(expected);
Expand Down Expand Up @@ -551,23 +551,23 @@ public void OverrideConfigWithMultipleOptions(string options, IGitVersionConfigu
private static IEnumerable<TestCaseData> OverrideConfigWithMultipleOptionsTestData()
{
yield return new TestCaseData(
"/overrideconfig tag-prefix=sample /overrideconfig assembly-versioning-scheme=MajorMinor",
"--override-config tag-prefix=sample --override-config assembly-versioning-scheme=MajorMinor",
new GitVersionConfiguration
{
TagPrefixPattern = "sample",
AssemblyVersioningScheme = AssemblyVersioningScheme.MajorMinor
}
);
yield return new TestCaseData(
"/overrideconfig tag-prefix=sample /overrideconfig assembly-versioning-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\"",
"--override-config tag-prefix=sample --override-config assembly-versioning-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\"",
new GitVersionConfiguration
{
TagPrefixPattern = "sample",
AssemblyVersioningFormat = "{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}"
}
);
yield return new TestCaseData(
"/overrideconfig tag-prefix=sample /overrideconfig assembly-versioning-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\" /overrideconfig update-build-number=true /overrideconfig assembly-versioning-scheme=MajorMinorPatchTag /overrideconfig mode=ContinuousDelivery /overrideconfig tag-pre-release-weight=4",
"--override-config tag-prefix=sample --override-config assembly-versioning-format=\"{Major}.{Minor}.{Patch}.{env:CI_JOB_ID ?? 0}\" --override-config update-build-number=true --override-config assembly-versioning-scheme=MajorMinorPatchTag --override-config mode=ContinuousDelivery --override-config tag-pre-release-weight=4",
new GitVersionConfiguration
{
TagPrefixPattern = "sample",
Expand Down Expand Up @@ -711,7 +711,7 @@ public void LogPathCanContainForwardSlash()
[Test]
public void BooleanArgumentHandling()
{
var arguments = this.argumentParser.ParseArguments("/nofetch /updateassemblyinfo true");
var arguments = this.argumentParser.ParseArguments("--no-fetch --update-assembly-info true");
arguments.NoFetch.ShouldBe(true);
arguments.UpdateAssemblyInfo.ShouldBe(true);
}
Expand Down
1 change: 1 addition & 0 deletions src/GitVersion.App/GitVersion.App.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" />
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" />
<PackageReference Include="Spectre.Console.Cli" />
</ItemGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/GitVersion.App/GitVersionAppModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ internal class GitVersionAppModule : IGitVersionModule
{
public void RegisterTypes(IServiceCollection services)
{
services.AddSingleton<IArgumentParser, ArgumentParser>();
services.AddSingleton<IArgumentParser, SpectreArgumentParser>();
services.AddSingleton<IGlobbingResolver, GlobbingResolver>();

services.AddSingleton<IHelpWriter, HelpWriter>();
Expand Down
Loading
Loading