Skip to content

Commit

Permalink
Merge pull request #2014 from Skoucail/feature/issue-1520
Browse files Browse the repository at this point in the history
Replace special chars in InformationalVersion with dashes
  • Loading branch information
asbjornu committed Jan 6, 2020
2 parents d42bbad + c44e411 commit b1bc4bc
Show file tree
Hide file tree
Showing 4 changed files with 120 additions and 1 deletion.
@@ -0,0 +1,32 @@
{
"Major":1,
"Minor":2,
"Patch":3,
"PreReleaseTag":"",
"PreReleaseTagWithDash":"",
"PreReleaseLabel":"",
"PreReleaseNumber":"",
"WeightedPreReleaseNumber":"",
"BuildMetaData":5,
"BuildMetaDataPadded":"0005",
"FullBuildMetaData":"5.Branch.feature-123.Sha.commitSha",
"MajorMinorPatch":"1.2.3",
"SemVer":"1.2.3",
"LegacySemVer":"1.2.3",
"LegacySemVerPadded":"1.2.3",
"AssemblySemVer":"1.2.3.0",
"AssemblySemFileVer":"1.2.3.0",
"FullSemVer":"1.2.3+5",
"InformationalVersion":"1.2.3+5.Branch.feature-123.Sha.commitSha",
"BranchName":"feature/123",
"Sha":"commitSha",
"ShortSha":"commitShortSha",
"NuGetVersionV2":"1.2.3",
"NuGetVersion":"1.2.3",
"NuGetPreReleaseTagV2":"",
"NuGetPreReleaseTag":"",
"VersionSourceSha":"versionSourceSha",
"CommitsSinceVersionSource":5,
"CommitsSinceVersionSourcePadded":"0005",
"CommitDate":"2014-03-06"
}
@@ -0,0 +1,32 @@
{
"Major":1,
"Minor":2,
"Patch":3,
"PreReleaseTag":"",
"PreReleaseTagWithDash":"",
"PreReleaseLabel":"",
"PreReleaseNumber":"",
"WeightedPreReleaseNumber":"",
"BuildMetaData":5,
"BuildMetaDataPadded":"0005",
"FullBuildMetaData":"5.Branch.feature-123.Sha.commitSha",
"MajorMinorPatch":"1.2.3",
"SemVer":"1.2.3",
"LegacySemVer":"1.2.3",
"LegacySemVerPadded":"1.2.3",
"AssemblySemVer":"1.2.3.0",
"AssemblySemFileVer":"1.2.3.0",
"FullSemVer":"1.2.3+5",
"InformationalVersion":"1.2.3+5.Branch.feature-123.Sha.commitShortSha",
"BranchName":"feature/123",
"Sha":"commitSha",
"ShortSha":"commitShortSha",
"NuGetVersionV2":"1.2.3",
"NuGetVersion":"1.2.3",
"NuGetPreReleaseTagV2":"",
"NuGetPreReleaseTag":"",
"VersionSourceSha":"versionSourceSha",
"CommitsSinceVersionSource":5,
"CommitsSinceVersionSourcePadded":"0005",
"CommitDate":"2014-03-06"
}
54 changes: 54 additions & 0 deletions src/GitVersionCore.Tests/VariableProviderTests.cs
Expand Up @@ -229,5 +229,59 @@ public void ProvidesVariablesInContinuousDeploymentModeWithTagSetToUseBranchName

vars.FullSemVer.ShouldBe("1.2.3-feature.5");
}

[Test]
[Category("NoMono")]
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
public void ProvidesVariablesInContinuousDeliveryModeForFeatureBranch()
{
var semVer = new SemanticVersion
{
Major = 1,
Minor = 2,
Patch = 3,
BuildMetaData = "5.Branch.feature/123"
};

semVer.BuildMetaData.Branch = "feature/123";
semVer.BuildMetaData.VersionSourceSha = "versionSourceSha";
semVer.BuildMetaData.Sha = "commitSha";
semVer.BuildMetaData.ShortSha = "commitShortSha";
semVer.BuildMetaData.CommitDate = DateTimeOffset.Parse("2014-03-06 23:59:59Z");


var config = new TestEffectiveConfiguration();

var vars = variableProvider.GetVariablesFor(semVer, config, false);

JsonOutputFormatter.ToJson(vars).ShouldMatchApproved(c => c.SubFolder("Approved"));
}

[Test]
[Category("NoMono")]
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
public void ProvidesVariablesInContinuousDeliveryModeForFeatureBranchWithCustomAssemblyInformationalFormat()
{
var semVer = new SemanticVersion
{
Major = 1,
Minor = 2,
Patch = 3,
BuildMetaData = "5.Branch.feature/123"
};

semVer.BuildMetaData.Branch = "feature/123";
semVer.BuildMetaData.VersionSourceSha = "versionSourceSha";
semVer.BuildMetaData.Sha = "commitSha";
semVer.BuildMetaData.ShortSha = "commitShortSha";
semVer.BuildMetaData.CommitDate = DateTimeOffset.Parse("2014-03-06 23:59:59Z");


var config = new TestEffectiveConfiguration(assemblyInformationalFormat: "{Major}.{Minor}.{Patch}+{CommitsSinceVersionSource}.Branch.{BranchName}.Sha.{ShortSha}");

var vars = variableProvider.GetVariablesFor(semVer, config, false);

JsonOutputFormatter.ToJson(vars).ShouldMatchApproved(c => c.SubFolder("Approved"));
}
}
}
3 changes: 2 additions & 1 deletion src/GitVersionCore/OutputVariables/VariableProvider.cs
@@ -1,6 +1,7 @@
using System;
using System.Text.RegularExpressions;
using GitVersion.Exceptions;
using GitVersion.Extensions;
using GitVersion.VersionCalculation;
using GitVersion.VersioningModes;
using GitVersion.Configuration;
Expand Down Expand Up @@ -135,7 +136,7 @@ private static string CheckAndFormatString<T>(string formatString, T source, IEn
{
try
{
formattedString = formatString.FormatWith(source, environment);
formattedString = formatString.FormatWith(source, environment).RegexReplace("[^0-9A-Za-z-.+]", "-");
}
catch (ArgumentException formex)
{
Expand Down

0 comments on commit b1bc4bc

Please sign in to comment.