Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
2 changes: 1 addition & 1 deletion src/GitVersion.App/ArgumentParserExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public bool IsValidPath()

public bool IsSwitchArgument()
{
var patternRegex = RegexPatterns.Common.SwitchArgumentRegex();
var patternRegex = RegexPatterns.Common.SwitchArgumentRegex;
return value != null
&& (value.StartsWith('-') || value.StartsWith('/'))
&& !patternRegex.Match(value).Success;
Expand Down
70 changes: 35 additions & 35 deletions src/GitVersion.Core.Tests/Core/RegexPatternTests.cs

Large diffs are not rendered by default.

547 changes: 439 additions & 108 deletions src/GitVersion.Core/Core/RegexPatterns.cs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public string FormatWith<T>(T? source, IEnvironment environment)
var result = new StringBuilder();
var lastIndex = 0;

foreach (var match in RegexPatterns.Common.ExpandTokensRegex().Matches(template).Cast<Match>())
foreach (var match in RegexPatterns.Common.ExpandTokensRegex.Matches(template).Cast<Match>())
{
var replacement = EvaluateMatch(match, source, environment);
result.Append(template, lastIndex, match.Index - lastIndex);
Expand Down
2 changes: 1 addition & 1 deletion src/GitVersion.Core/Logging/Log.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public IDisposable IndentLog(string operationDescription)

private string FormatMessage(string message, string level)
{
var obscuredMessage = RegexPatterns.Common.ObscurePasswordRegex().Replace(message, "$1$2:*******@");
var obscuredMessage = RegexPatterns.Common.ObscurePasswordRegex.Replace(message, "$1$2:*******@");
var timestamp = $"{DateTime.Now:yy-MM-dd H:mm:ss:ff}";
return string.Format(CultureInfo.InvariantCulture, "{0}{1} [{2}] {3}", this.currentIndentation, level, timestamp, obscuredMessage);
}
Expand Down
16 changes: 8 additions & 8 deletions src/GitVersion.Core/MergeMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ public class MergeMessage
{
private static readonly IList<(string Name, Regex Pattern)> DefaultFormats =
[
new("Default", RegexPatterns.MergeMessage.DefaultMergeMessageRegex()),
new("SmartGit", RegexPatterns.MergeMessage.SmartGitMergeMessageRegex()),
new("BitBucketPull", RegexPatterns.MergeMessage.BitBucketPullMergeMessageRegex()),
new("BitBucketPullv7", RegexPatterns.MergeMessage.BitBucketPullv7MergeMessageRegex()),
new("BitBucketCloudPull", RegexPatterns.MergeMessage.BitBucketCloudPullMergeMessageRegex()),
new("GitHubPull", RegexPatterns.MergeMessage.GitHubPullMergeMessageRegex()),
new("RemoteTracking", RegexPatterns.MergeMessage.RemoteTrackingMergeMessageRegex()),
new("AzureDevOpsPull", RegexPatterns.MergeMessage.AzureDevOpsPullMergeMessageRegex())
new("Default", RegexPatterns.MergeMessage.DefaultMergeMessageRegex),
new("SmartGit", RegexPatterns.MergeMessage.SmartGitMergeMessageRegex),
new("BitBucketPull", RegexPatterns.MergeMessage.BitBucketPullMergeMessageRegex),
new("BitBucketPullv7", RegexPatterns.MergeMessage.BitBucketPullv7MergeMessageRegex),
new("BitBucketCloudPull", RegexPatterns.MergeMessage.BitBucketCloudPullMergeMessageRegex),
new("GitHubPull", RegexPatterns.MergeMessage.GitHubPullMergeMessageRegex),
new("RemoteTracking", RegexPatterns.MergeMessage.RemoteTrackingMergeMessageRegex),
new("AzureDevOpsPull", RegexPatterns.MergeMessage.AzureDevOpsPullMergeMessageRegex)
];

public MergeMessage(string mergeMessage, IGitVersionConfiguration configuration)
Expand Down
4 changes: 2 additions & 2 deletions src/GitVersion.Core/SemVer/SemanticVersion.cs
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ public static bool TryParse(string version, string? tagPrefixRegex,

private static bool TryParseStrict(string version, [NotNullWhen(true)] out SemanticVersion? semanticVersion)
{
var parsed = RegexPatterns.SemanticVersion.ParseStrictRegex().Match(version);
var parsed = RegexPatterns.SemanticVersion.ParseStrictRegex.Match(version);

if (!parsed.Success)
{
Expand All @@ -171,7 +171,7 @@ private static bool TryParseStrict(string version, [NotNullWhen(true)] out Seman

private static bool TryParseLoose(string version, [NotNullWhen(true)] out SemanticVersion? semanticVersion)
{
var parsed = RegexPatterns.SemanticVersion.ParseLooseRegex().Match(version);
var parsed = RegexPatterns.SemanticVersion.ParseLooseRegex.Match(version);

if (!parsed.Success)
{
Expand Down
4 changes: 2 additions & 2 deletions src/GitVersion.Core/SemVer/SemanticVersionBuildMetaData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ public static SemanticVersionBuildMetaData Parse(string? buildMetaData)
if (buildMetaData.IsNullOrEmpty())
return Empty;

var parsed = RegexPatterns.SemanticVersion.ParseBuildMetaDataRegex().Match(buildMetaData);
var parsed = RegexPatterns.SemanticVersion.ParseBuildMetaDataRegex.Match(buildMetaData);

long? buildMetaDataCommitsSinceTag = null;
long? buildMetaDataCommitsSinceVersionSource = null;
Expand Down Expand Up @@ -147,7 +147,7 @@ public static SemanticVersionBuildMetaData Parse(string? buildMetaData)
private static string FormatMetaDataPart(string value)
{
if (!value.IsNullOrEmpty())
value = RegexPatterns.SemanticVersion.FormatBuildMetaDataRegex().Replace(value, "-");
value = RegexPatterns.SemanticVersion.FormatBuildMetaDataRegex.Replace(value, "-");
return value;
}
}
2 changes: 1 addition & 1 deletion src/GitVersion.Core/SemVer/SemanticVersionPreReleaseTag.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public static SemanticVersionPreReleaseTag Parse(string? preReleaseTag)
{
if (preReleaseTag.IsNullOrEmpty()) return Empty;

var match = RegexPatterns.SemanticVersion.ParsePreReleaseTagRegex().Match(preReleaseTag);
var match = RegexPatterns.SemanticVersion.ParsePreReleaseTagRegex.Match(preReleaseTag);
if (!match.Success)
{
// TODO check how to log this
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ public VersionField DetermineIncrementedField(
{
commits.NotNull();

var majorRegex = TryGetRegexOrDefault(configuration.MajorVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultMajorRegex());
var minorRegex = TryGetRegexOrDefault(configuration.MinorVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultMinorRegex());
var patchRegex = TryGetRegexOrDefault(configuration.PatchVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultPatchRegex());
var noBumpRegex = TryGetRegexOrDefault(configuration.NoBumpMessage, RegexPatterns.VersionCalculation.DefaultNoBumpRegex());
var majorRegex = TryGetRegexOrDefault(configuration.MajorVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultMajorRegex);
var minorRegex = TryGetRegexOrDefault(configuration.MinorVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultMinorRegex);
var patchRegex = TryGetRegexOrDefault(configuration.PatchVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultPatchRegex);
var noBumpRegex = TryGetRegexOrDefault(configuration.NoBumpMessage, RegexPatterns.VersionCalculation.DefaultNoBumpRegex);

var increments = commits
.Select(c => GetIncrementFromCommit(c, majorRegex, minorRegex, patchRegex, noBumpRegex))
Expand Down Expand Up @@ -209,10 +209,10 @@ public VersionField GetIncrementForcedByCommit(ICommit commit, IGitVersionConfig
commit.NotNull();
configuration.NotNull();

var majorRegex = TryGetRegexOrDefault(configuration.MajorVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultMajorRegex());
var minorRegex = TryGetRegexOrDefault(configuration.MinorVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultMinorRegex());
var patchRegex = TryGetRegexOrDefault(configuration.PatchVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultPatchRegex());
var none = TryGetRegexOrDefault(configuration.NoBumpMessage, RegexPatterns.VersionCalculation.DefaultNoBumpRegex());
var majorRegex = TryGetRegexOrDefault(configuration.MajorVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultMajorRegex);
var minorRegex = TryGetRegexOrDefault(configuration.MinorVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultMinorRegex);
var patchRegex = TryGetRegexOrDefault(configuration.PatchVersionBumpMessage, RegexPatterns.VersionCalculation.DefaultPatchRegex);
var none = TryGetRegexOrDefault(configuration.NoBumpMessage, RegexPatterns.VersionCalculation.DefaultNoBumpRegex);

return GetIncrementFromCommit(commit, majorRegex, minorRegex, patchRegex, none) ?? VersionField.None;
}
Expand Down
6 changes: 3 additions & 3 deletions src/GitVersion.MsBuild/Helpers/AssemblyInfoFileHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ private static bool FileContainsVersionAttribute(IFileSystem fileSystem, string

var (attributeRegex, triviaRegex) = compileFileExtension switch
{
".cs" => (CSharp.AttributeRegex(), CSharp.TriviaRegex()),
".fs" => (FSharp.AttributeRegex(), FSharp.TriviaRegex()),
".vb" => (VisualBasic.AttributeRegex(), VisualBasic.TriviaRegex()),
".cs" => (CSharp.AttributeRegex, CSharp.TriviaRegex),
".fs" => (FSharp.AttributeRegex, FSharp.TriviaRegex),
".vb" => (VisualBasic.AttributeRegex, VisualBasic.TriviaRegex),
_ => throw new WarningException("File with name containing AssemblyInfo could not be checked for assembly version attributes which conflict with the attributes generated by GitVersion " + compileFile)
};

Expand Down
12 changes: 6 additions & 6 deletions src/GitVersion.Output/AssemblyInfo/AssemblyInfoFileUpdater.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ internal sealed class AssemblyInfoFileUpdater(ILog log, IFileSystem fileSystem)

private readonly Dictionary<string, Regex> assemblyAttributeRegexes = new()
{
[".cs"] = RegexPatterns.Output.CsharpAssemblyAttributeRegex(),
[".fs"] = RegexPatterns.Output.FsharpAssemblyAttributeRegex(),
[".vb"] = RegexPatterns.Output.VisualBasicAssemblyAttributeRegex()
[".cs"] = RegexPatterns.Output.CsharpAssemblyAttributeRegex,
[".fs"] = RegexPatterns.Output.FsharpAssemblyAttributeRegex,
[".vb"] = RegexPatterns.Output.VisualBasicAssemblyAttributeRegex
};

private const string NewLine = "\r\n";
Expand Down Expand Up @@ -65,17 +65,17 @@ public void Execute(GitVersionVariables variables, AssemblyInfoContext context)

if (!assemblyVersion.IsNullOrWhiteSpace())
{
fileContents = ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(RegexPatterns.Output.AssemblyVersionRegex(), fileContents, assemblyVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
fileContents = ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(RegexPatterns.Output.AssemblyVersionRegex, fileContents, assemblyVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
}

if (!assemblyFileVersion.IsNullOrWhiteSpace())
{
fileContents = ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(RegexPatterns.Output.AssemblyFileVersionRegex(), fileContents, assemblyFileVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
fileContents = ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(RegexPatterns.Output.AssemblyFileVersionRegex, fileContents, assemblyFileVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
}

if (!assemblyInfoVersion.IsNullOrWhiteSpace())
{
fileContents = ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(RegexPatterns.Output.AssemblyInfoVersionRegex(), fileContents, assemblyInfoVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
fileContents = ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(RegexPatterns.Output.AssemblyInfoVersionRegex, fileContents, assemblyInfoVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
}

if (appendedAttributes)
Expand Down
2 changes: 1 addition & 1 deletion src/GitVersion.Testing/Helpers/ParticipantSanitizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public static string SanitizeParticipant(string participant)
{
GuardAgainstInvalidParticipants(participant);

return RegexPatterns.Output.SanitizeParticipantRegex().Replace(participant, "_");
return RegexPatterns.Output.SanitizeParticipantRegex.Replace(participant, "_");
}

private static void GuardAgainstInvalidParticipants(string participant)
Expand Down