Skip to content

Commit 2330173

Browse files
committed
Convert to GeneratedRegexes
1 parent f1babbb commit 2330173

File tree

21 files changed

+318
-323
lines changed

21 files changed

+318
-323
lines changed

src/GitVersion.App/ArgumentParserExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static bool IsValidPath(this string? path)
4040

4141
public static bool IsSwitchArgument(this string? value)
4242
{
43-
var patternRegex = RegexPatterns.Common.SwitchArgumentRegex;
43+
var patternRegex = RegexPatterns.Common.SwitchArgumentRegex();
4444
return value != null
4545
&& (value.StartsWith('-') || value.StartsWith('/'))
4646
&& !patternRegex.Match(value).Success;

src/GitVersion.Configuration.Tests/Configuration/ConfigurationProviderTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ public void CanReadDefaultDocument()
258258
configuration.AssemblyInformationalFormat.ShouldBe(null);
259259
configuration.Branches["develop"].Label.ShouldBe("alpha");
260260
configuration.Branches["release"].Label.ShouldBe("beta");
261-
configuration.TagPrefixPattern.ShouldBe(RegexPatterns.Configuration.DefaultTagPrefixPattern);
261+
configuration.TagPrefixPattern.ShouldBe(RegexPatterns.Configuration.DefaultTagPrefixRegexPattern);
262262
configuration.NextVersion.ShouldBe(null);
263263
}
264264

@@ -418,7 +418,7 @@ public void ShouldUseDefaultTagPrefixWhenNotSetInConfigFile()
418418
using var _ = this.fileSystem.SetupConfigFile(path: this.repoPath, text: text);
419419
var configuration = this.configurationProvider.ProvideForDirectory(this.repoPath);
420420

421-
configuration.TagPrefixPattern.ShouldBe(RegexPatterns.Configuration.DefaultTagPrefixPattern);
421+
configuration.TagPrefixPattern.ShouldBe(RegexPatterns.Configuration.DefaultTagPrefixRegexPattern);
422422
}
423423

424424
[Test]
@@ -457,7 +457,7 @@ public void ShouldNotOverrideDefaultTagPrefixWhenNotSetInOverrideConfig()
457457

458458
var configuration = this.configurationProvider.ProvideForDirectory(this.repoPath, overrideConfiguration);
459459

460-
configuration.TagPrefixPattern.ShouldBe(RegexPatterns.Configuration.DefaultTagPrefixPattern);
460+
configuration.TagPrefixPattern.ShouldBe(RegexPatterns.Configuration.DefaultTagPrefixRegexPattern);
461461
}
462462

463463
[Test]

src/GitVersion.Configuration/Builders/GitFlowConfigurationBuilder.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ private GitFlowConfigurationBuilder()
1414
AssemblyFileVersioningScheme = ConfigurationConstants.DefaultAssemblyFileVersioningScheme,
1515
AssemblyVersioningScheme = ConfigurationConstants.DefaultAssemblyVersioningScheme,
1616
CommitDateFormat = ConfigurationConstants.DefaultCommitDateFormat,
17-
MajorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMajorPattern,
18-
MinorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMinorPattern,
19-
NoBumpMessage = RegexPatterns.VersionCalculation.DefaultNoBumpPattern,
20-
PatchVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultPatchPattern,
17+
MajorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMajorRegexPattern,
18+
MinorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMinorRegexPattern,
19+
NoBumpMessage = RegexPatterns.VersionCalculation.DefaultNoBumpRegexPattern,
20+
PatchVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultPatchRegexPattern,
2121
SemanticVersionFormat = ConfigurationConstants.DefaultSemanticVersionFormat,
2222
VersionStrategies = ConfigurationConstants.DefaultVersionStrategies,
23-
TagPrefixPattern = RegexPatterns.Configuration.DefaultTagPrefixPattern,
24-
VersionInBranchPattern = RegexPatterns.Configuration.DefaultVersionInBranchPattern,
23+
TagPrefixPattern = RegexPatterns.Configuration.DefaultTagPrefixRegexPattern,
24+
VersionInBranchPattern = RegexPatterns.Configuration.DefaultVersionInBranchRegexPattern,
2525
TagPreReleaseWeight = ConfigurationConstants.DefaultTagPreReleaseWeight,
2626
UpdateBuildNumber = ConfigurationConstants.DefaultUpdateBuildNumber,
2727
DeploymentMode = DeploymentMode.ContinuousDelivery,

src/GitVersion.Configuration/Builders/GitHubFlowConfigurationBuilder.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ private GitHubFlowConfigurationBuilder()
1414
AssemblyFileVersioningScheme = ConfigurationConstants.DefaultAssemblyFileVersioningScheme,
1515
AssemblyVersioningScheme = ConfigurationConstants.DefaultAssemblyVersioningScheme,
1616
CommitDateFormat = ConfigurationConstants.DefaultCommitDateFormat,
17-
MajorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMajorPattern,
18-
MinorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMinorPattern,
19-
NoBumpMessage = RegexPatterns.VersionCalculation.DefaultNoBumpPattern,
20-
PatchVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultPatchPattern,
17+
MajorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMajorRegexPattern,
18+
MinorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMinorRegexPattern,
19+
NoBumpMessage = RegexPatterns.VersionCalculation.DefaultNoBumpRegexPattern,
20+
PatchVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultPatchRegexPattern,
2121
SemanticVersionFormat = ConfigurationConstants.DefaultSemanticVersionFormat,
2222
VersionStrategies = ConfigurationConstants.DefaultVersionStrategies,
23-
TagPrefixPattern = RegexPatterns.Configuration.DefaultTagPrefixPattern,
24-
VersionInBranchPattern = RegexPatterns.Configuration.DefaultVersionInBranchPattern,
23+
TagPrefixPattern = RegexPatterns.Configuration.DefaultTagPrefixRegexPattern,
24+
VersionInBranchPattern = RegexPatterns.Configuration.DefaultVersionInBranchRegexPattern,
2525
TagPreReleaseWeight = ConfigurationConstants.DefaultTagPreReleaseWeight,
2626
UpdateBuildNumber = ConfigurationConstants.DefaultUpdateBuildNumber,
2727
DeploymentMode = DeploymentMode.ContinuousDelivery,

src/GitVersion.Configuration/Builders/TrunkBasedConfigurationBuilder.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ private TrunkBasedConfigurationBuilder()
1414
AssemblyFileVersioningScheme = ConfigurationConstants.DefaultAssemblyFileVersioningScheme,
1515
AssemblyVersioningScheme = ConfigurationConstants.DefaultAssemblyVersioningScheme,
1616
CommitDateFormat = ConfigurationConstants.DefaultCommitDateFormat,
17-
MajorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMajorPattern,
18-
MinorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMinorPattern,
19-
NoBumpMessage = RegexPatterns.VersionCalculation.DefaultNoBumpPattern,
20-
PatchVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultPatchPattern,
17+
MajorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMajorRegexPattern,
18+
MinorVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultMinorRegexPattern,
19+
NoBumpMessage = RegexPatterns.VersionCalculation.DefaultNoBumpRegexPattern,
20+
PatchVersionBumpMessage = RegexPatterns.VersionCalculation.DefaultPatchRegexPattern,
2121
SemanticVersionFormat = ConfigurationConstants.DefaultSemanticVersionFormat,
2222
VersionStrategies = [
2323
VersionStrategies.ConfiguredNextVersion,
2424
VersionStrategies.Mainline
2525
],
26-
TagPrefixPattern = RegexPatterns.Configuration.DefaultTagPrefixPattern,
27-
VersionInBranchPattern = RegexPatterns.Configuration.DefaultVersionInBranchPattern,
26+
TagPrefixPattern = RegexPatterns.Configuration.DefaultTagPrefixRegexPattern,
27+
VersionInBranchPattern = RegexPatterns.Configuration.DefaultVersionInBranchRegexPattern,
2828
TagPreReleaseWeight = ConfigurationConstants.DefaultTagPreReleaseWeight,
2929
UpdateBuildNumber = ConfigurationConstants.DefaultUpdateBuildNumber,
3030
DeploymentMode = DeploymentMode.ContinuousDelivery,

src/GitVersion.Configuration/GitVersionConfiguration.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ internal sealed record GitVersionConfiguration : BranchConfiguration, IGitVersio
3636
public string? AssemblyFileVersioningFormat { get; internal init; }
3737

3838
[JsonPropertyName("tag-prefix")]
39-
[JsonPropertyDescription($"A regular expression which is used to trim Git tags before processing. Defaults to '{RegexPatterns.Configuration.DefaultTagPrefixPattern}'")]
40-
[JsonPropertyDefault(RegexPatterns.Configuration.DefaultTagPrefixPattern)]
39+
[JsonPropertyDescription($"A regular expression which is used to trim Git tags before processing. Defaults to '{RegexPatterns.Configuration.DefaultTagPrefixRegexPattern}'")]
40+
[JsonPropertyDefault(RegexPatterns.Configuration.DefaultTagPrefixRegexPattern)]
4141
[JsonPropertyFormat(Format.Regex)]
4242
public string? TagPrefixPattern { get; internal init; }
4343

4444
[JsonPropertyName("version-in-branch-pattern")]
45-
[JsonPropertyDescription($"A regular expression which is used to determine the version number in the branch name or commit message (e.g., v1.0.0-LTS). Defaults to '{RegexPatterns.Configuration.DefaultVersionInBranchPattern}'.")]
46-
[JsonPropertyDefault(RegexPatterns.Configuration.DefaultVersionInBranchPattern)]
45+
[JsonPropertyDescription($"A regular expression which is used to determine the version number in the branch name or commit message (e.g., v1.0.0-LTS). Defaults to '{RegexPatterns.Configuration.DefaultVersionInBranchRegexPattern}'.")]
46+
[JsonPropertyDefault(RegexPatterns.Configuration.DefaultVersionInBranchRegexPattern)]
4747
[JsonPropertyFormat(Format.Regex)]
4848
public string? VersionInBranchPattern { get; internal init; }
4949

@@ -60,26 +60,26 @@ public string? NextVersion
6060
private string? nextVersion;
6161

6262
[JsonPropertyName("major-version-bump-message")]
63-
[JsonPropertyDescription($"The regular expression to match commit messages with to perform a major version increment. Defaults to '{RegexPatterns.VersionCalculation.DefaultMajorPattern}'")]
64-
[JsonPropertyDefault(RegexPatterns.VersionCalculation.DefaultMajorPattern)]
63+
[JsonPropertyDescription($"The regular expression to match commit messages with to perform a major version increment. Defaults to '{RegexPatterns.VersionCalculation.DefaultMajorRegexPattern}'")]
64+
[JsonPropertyDefault(RegexPatterns.VersionCalculation.DefaultMajorRegexPattern)]
6565
[JsonPropertyFormat(Format.Regex)]
6666
public string? MajorVersionBumpMessage { get; internal init; }
6767

6868
[JsonPropertyName("minor-version-bump-message")]
69-
[JsonPropertyDescription($"The regular expression to match commit messages with to perform a minor version increment. Defaults to '{RegexPatterns.VersionCalculation.DefaultMinorPattern}'")]
70-
[JsonPropertyDefault(RegexPatterns.VersionCalculation.DefaultMinorPattern)]
69+
[JsonPropertyDescription($"The regular expression to match commit messages with to perform a minor version increment. Defaults to '{RegexPatterns.VersionCalculation.DefaultMinorRegexPattern}'")]
70+
[JsonPropertyDefault(RegexPatterns.VersionCalculation.DefaultMinorRegexPattern)]
7171
[JsonPropertyFormat(Format.Regex)]
7272
public string? MinorVersionBumpMessage { get; internal init; }
7373

7474
[JsonPropertyName("patch-version-bump-message")]
75-
[JsonPropertyDescription($"The regular expression to match commit messages with to perform a patch version increment. Defaults to '{RegexPatterns.VersionCalculation.DefaultPatchPattern}'")]
76-
[JsonPropertyDefault(RegexPatterns.VersionCalculation.DefaultPatchPattern)]
75+
[JsonPropertyDescription($"The regular expression to match commit messages with to perform a patch version increment. Defaults to '{RegexPatterns.VersionCalculation.DefaultPatchRegexPattern}'")]
76+
[JsonPropertyDefault(RegexPatterns.VersionCalculation.DefaultPatchRegexPattern)]
7777
[JsonPropertyFormat(Format.Regex)]
7878
public string? PatchVersionBumpMessage { get; internal init; }
7979

8080
[JsonPropertyName("no-bump-message")]
81-
[JsonPropertyDescription($"Used to tell GitVersion not to increment when in Mainline development mode. Defaults to '{RegexPatterns.VersionCalculation.DefaultNoBumpPattern}'")]
82-
[JsonPropertyDefault(RegexPatterns.VersionCalculation.DefaultNoBumpPattern)]
81+
[JsonPropertyDescription($"Used to tell GitVersion not to increment when in Mainline development mode. Defaults to '{RegexPatterns.VersionCalculation.DefaultNoBumpRegexPattern}'")]
82+
[JsonPropertyDefault(RegexPatterns.VersionCalculation.DefaultNoBumpRegexPattern)]
8383
[JsonPropertyFormat(Format.Regex)]
8484
public string? NoBumpMessage { get; internal init; }
8585

src/GitVersion.Core.Tests/IntegrationTests/MainScenarios.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ public void CanSpecifyTagPrefixes()
215215
[Test]
216216
public void CanSpecifyTagPrefixesAsRegex()
217217
{
218-
var configuration = GitFlowConfigurationBuilder.New.WithTagPrefixPattern($"version-|{RegexPatterns.Configuration.DefaultTagPrefixPattern}").Build();
218+
var configuration = GitFlowConfigurationBuilder.New.WithTagPrefixPattern($"version-|{RegexPatterns.Configuration.DefaultTagPrefixRegexPattern}").Build();
219219
using var fixture = new EmptyRepositoryFixture();
220220
var taggedVersion = "v1.0.3";
221221
fixture.Repository.MakeATaggedCommit(taggedVersion);

src/GitVersion.Core.Tests/VersionCalculation/SemanticVersionTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ public class SemanticVersionTests : TestBase
2222
[TestCase("1.2.3+4.Branch.Foo", 1, 2, 3, "", null, 4, "Foo", null, null, null, null, SemanticVersionFormat.Strict)]
2323
[TestCase("1.2.3+randomMetaData", 1, 2, 3, "", null, null, null, null, "randomMetaData", null, null, SemanticVersionFormat.Strict)]
2424
[TestCase("1.2.3-beta.1+4.Sha.12234.Othershiz", 1, 2, 3, "beta", 1, 4, null, "12234", "Othershiz", null, null, SemanticVersionFormat.Strict)]
25-
[TestCase("1.2.3", 1, 2, 3, "", null, null, null, null, null, null, RegexPatterns.Configuration.DefaultTagPrefixPattern, SemanticVersionFormat.Strict)]
26-
[TestCase("v1.2.3", 1, 2, 3, "", null, null, null, null, null, "1.2.3", RegexPatterns.Configuration.DefaultTagPrefixPattern, SemanticVersionFormat.Strict)]
27-
[TestCase("V1.2.3", 1, 2, 3, "", null, null, null, null, null, "1.2.3", RegexPatterns.Configuration.DefaultTagPrefixPattern, SemanticVersionFormat.Strict)]
25+
[TestCase("1.2.3", 1, 2, 3, "", null, null, null, null, null, null, RegexPatterns.Configuration.DefaultTagPrefixRegexPattern, SemanticVersionFormat.Strict)]
26+
[TestCase("v1.2.3", 1, 2, 3, "", null, null, null, null, null, "1.2.3", RegexPatterns.Configuration.DefaultTagPrefixRegexPattern, SemanticVersionFormat.Strict)]
27+
[TestCase("V1.2.3", 1, 2, 3, "", null, null, null, null, null, "1.2.3", RegexPatterns.Configuration.DefaultTagPrefixRegexPattern, SemanticVersionFormat.Strict)]
2828
[TestCase("version-1.2.3", 1, 2, 3, "", null, null, null, null, null, "1.2.3", "version-", SemanticVersionFormat.Strict)]
2929
[TestCase("1.0.0-develop-20201007113711", 1, 0, 0, "develop-20201007113711", null, null, null, null, null, "1.0.0-develop-20201007113711", null, SemanticVersionFormat.Strict)]
3030
[TestCase("20201007113711.658165168461351.64136516984163213-develop-20201007113711.98848747823+65416321321", 20201007113711, 658165168461351, 64136516984163213, "develop-20201007113711", 98848747823, 65416321321, null, null, null, "20201007113711.658165168461351.64136516984163213-develop-20201007113711.98848747823+65416321321", null, SemanticVersionFormat.Strict)]
@@ -62,7 +62,7 @@ public void ValidateVersionParsing(
6262

6363
[TestCase("someText")]
6464
[TestCase("some-T-ext")]
65-
[TestCase("v.1.2.3", RegexPatterns.Configuration.DefaultTagPrefixPattern)]
65+
[TestCase("v.1.2.3", RegexPatterns.Configuration.DefaultTagPrefixRegexPattern)]
6666
public void ValidateInvalidVersionParsing(string versionString, string? tagPrefixRegex = null) =>
6767
Assert.That(SemanticVersion.TryParse(versionString, tagPrefixRegex, out _), Is.False, "TryParse Result");
6868

src/GitVersion.Core/Configuration/ReferenceNameExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ private static bool TryGetSemanticVersion(this ReferenceName referenceName, out
4747

4848
static string GetVersionInBranchPattern(string? versionInBranchPattern)
4949
{
50-
if (versionInBranchPattern.IsNullOrEmpty()) versionInBranchPattern = RegexPatterns.Configuration.DefaultVersionInBranchPattern;
50+
if (versionInBranchPattern.IsNullOrEmpty()) versionInBranchPattern = RegexPatterns.Configuration.DefaultVersionInBranchRegexPattern;
5151
return $"^{versionInBranchPattern.TrimStart('^')}";
5252
}
5353
}

0 commit comments

Comments
 (0)