Skip to content

Commit

Permalink
Merge branch 'develop' into rmarusyk/remove-tfm-3.1-5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Marusyk committed Oct 23, 2022
2 parents 4f3c1de + 9504860 commit 3ba0ec1
Show file tree
Hide file tree
Showing 6 changed files with 333 additions and 6 deletions.
154 changes: 151 additions & 3 deletions src/Cake.Common.Tests/Unit/Tools/GitVersion/GitVersionRunnerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,18 +86,35 @@ public void Should_Set_Working_Directory()
Assert.Equal("/Working", result.Process.WorkingDirectory.FullPath);
}

[Theory]
[InlineData(GitVersionOutput.Json, "-output json")]
[InlineData(GitVersionOutput.File, "-output file")]
public void Should_Add_OutputType_To_Arguments_If_Set(GitVersionOutput outputType, string args)
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.OutputType = outputType;

// When
var result = fixture.Run();

// Then
Assert.Equal(args, result.Args);
}

[Fact]
public void Should_Add_OutputType_To_Arguments_If_Set()
public void Should_Add_OutputFile_If_Set_With_OutputType_File()
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.OutputType = GitVersionOutput.Json;
fixture.Settings.OutputType = GitVersionOutput.File;
fixture.Settings.OutputFile = "GitVersion.json";

// When
var result = fixture.Run();

// Then
Assert.Equal("-output json", result.Args);
Assert.Equal("-output file -outputfile \"GitVersion.json\"", result.Args);
}

[Fact]
Expand Down Expand Up @@ -158,6 +175,20 @@ public void Should_Add_UpdateAssemblyInfoFilePath_To_Arguments_If_Set()
Assert.Equal("-updateassemblyinfo \"c:/temp/assemblyinfo.cs\"", result.Args);
}

[Fact]
public void Should_Add_ConfigFile_To_Arguments_If_Set()
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.ConfigFile = "c:/temp/gitversion.yml";

// When
var result = fixture.Run();

// Then
Assert.Equal("-config \"c:/temp/gitversion.yml\"", result.Args);
}

[Fact]
public void Should_Add_RepositoryPath_To_Arguments_If_Set()
{
Expand Down Expand Up @@ -219,6 +250,102 @@ public void Should_Add_NoFetch_To_Arguments_If_Set(bool nofetch, string args)
Assert.Equal(args, result.Args);
}

[Theory]
[InlineData(true, "-nocache")]
[InlineData(false, "")]
public void Should_Add_NoCache_To_Arguments_If_Set(bool nocache, string args)
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.NoCache = nocache;

// When
var result = fixture.Run();

// Then
Assert.Equal(args, result.Args);
}

[Theory]
[InlineData(true, "-nonormalize")]
[InlineData(false, "")]
public void Should_Add_NoNormalize_To_Arguments_If_Set(bool nonormalize, string args)
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.NoNormalize = nonormalize;

// When
var result = fixture.Run();

// Then
Assert.Equal(args, result.Args);
}

[Theory]
[InlineData(true, "-diag")]
[InlineData(false, "")]
public void Should_Add_Diag_To_Arguments_If_Set(bool diag, string args)
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.Diag = diag;

// When
var result = fixture.Run();

// Then
Assert.Equal(args, result.Args);
}

[Theory]
[InlineData(true, "-updateprojectfiles")]
[InlineData(false, "")]
public void Should_Add_UpdateProjectFiles_To_Arguments_If_Set(bool updateProjectFiles, string args)
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.UpdateProjectFiles = updateProjectFiles;

// When
var result = fixture.Run();

// Then
Assert.Equal(args, result.Args);
}

[Theory]
[InlineData(true, "-ensureassemblyinfo")]
[InlineData(false, "")]
public void Should_Add_EnsureAssemblyInfo_To_Arguments_If_Set(bool ensureAssemblyInfo, string args)
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.EnsureAssemblyInfo = ensureAssemblyInfo;

// When
var result = fixture.Run();

// Then
Assert.Equal(args, result.Args);
}

[Theory]
[InlineData(true, "-updatewixversionfile")]
[InlineData(false, "")]
public void Should_Add_UpdateWixVersionFile_To_Arguments_If_Set(bool updateWixVersionFile, string args)
{
// Given
var fixture = new GitVersionRunnerFixture();
fixture.Settings.UpdateWixVersionFile = updateWixVersionFile;

// When
var result = fixture.Run();

// Then
Assert.Equal(args, result.Args);
}

[Theory]
[InlineData(Verbosity.Quiet)]
[InlineData(Verbosity.Minimal)]
Expand Down Expand Up @@ -270,7 +397,9 @@ public void Should_Tolerate_Bad_Json_Set()
PreReleaseTag = "PreReleaseTag",
PreReleaseTagWithDash = "PreReleaseTagWithDash",
PreReleaseLabel = "PreReleaseLabel",
PreReleaseLabelWithDash = "-PreReleaseLabel",
PreReleaseNumber = null,
WeightedPreReleaseNumber = null,
BuildMetaData = "BuildMetaData",
BuildMetaDataPadded = "BuildMetaDataPadded",
FullBuildMetaData = "Branch.master.Sha.f2467748c78b3c8b37972ad0b30df2e15dfbf2cb",
Expand All @@ -283,12 +412,17 @@ public void Should_Tolerate_Bad_Json_Set()
FullSemVer = "0.1.1",
InformationalVersion = "0.1.1+Branch.master.Sha.f2467748c78b3c8b37972ad0b30df2e15dfbf2cb",
BranchName = "master",
EscapedBranchName = "master",
Sha = "f2467748c78b3c8b37972ad0b30df2e15dfbf2cb",
ShortSha = "f2467748",
NuGetVersionV2 = "0.1.1",
NuGetVersion = "0.1.1",
NuGetPreReleaseTagV2 = "tag",
NuGetPreReleaseTag = "tag",
VersionSourceSha = "f2467748c78b3c8b37972ad0b30df2e15dfbf2cb",
CommitsSinceVersionSource = null,
CommitsSinceVersionSourcePadded = "0002",
UncommittedChanges = 0,
CommitDate = "2017-09-13",
}
;
Expand All @@ -302,7 +436,9 @@ public void Should_Tolerate_Bad_Json_Set()
" \"PreReleaseTag\":\"PreReleaseTag\",",
" \"PreReleaseTagWithDash\":\"PreReleaseTagWithDash\",",
" \"PreReleaseLabel\":\"PreReleaseLabel\",",
" \"PreReleaseLabelWithDash\":\"-PreReleaseLabel\",",
" \"PreReleaseNumber\":\"\",",
" \"WeightedPreReleaseNumber\":\"\",",
" \"BuildMetaData\":\"BuildMetaData\",",
" \"BuildMetaDataPadded\":\"BuildMetaDataPadded\",",
" \"FullBuildMetaData\":\"Branch.master.Sha.f2467748c78b3c8b37972ad0b30df2e15dfbf2cb\",",
Expand All @@ -315,12 +451,17 @@ public void Should_Tolerate_Bad_Json_Set()
" \"FullSemVer\":\"0.1.1\",",
" \"InformationalVersion\":\"0.1.1+Branch.master.Sha.f2467748c78b3c8b37972ad0b30df2e15dfbf2cb\",",
" \"BranchName\":\"master\",",
" \"EscapedBranchName\":\"master\",",
" \"Sha\":\"f2467748c78b3c8b37972ad0b30df2e15dfbf2cb\",",
" \"ShortSha\":\"f2467748\",",
" \"NuGetVersionV2\":\"0.1.1\",",
" \"NuGetVersion\":\"0.1.1\",",
" \"NuGetPreReleaseTagV2\":\"tag\",",
" \"NuGetPreReleaseTag\":\"tag\",",
" \"VersionSourceSha\":\"f2467748c78b3c8b37972ad0b30df2e15dfbf2cb\",",
" \"CommitsSinceVersionSource\":\"\",",
" \"CommitsSinceVersionSourcePadded\":\"0002\",",
" \"UncommittedChanges\":\"0\",",
" \"CommitDate\":\"2017-09-13\"",
"}"
});
Expand All @@ -336,7 +477,9 @@ public void Should_Tolerate_Bad_Json_Set()
Assert.Equal(expect.PreReleaseTag, result.PreReleaseTag);
Assert.Equal(expect.PreReleaseTagWithDash, result.PreReleaseTagWithDash);
Assert.Equal(expect.PreReleaseLabel, result.PreReleaseLabel);
Assert.Equal(expect.PreReleaseLabelWithDash, result.PreReleaseLabelWithDash);
Assert.Equal(expect.PreReleaseNumber, result.PreReleaseNumber);
Assert.Equal(expect.WeightedPreReleaseNumber, result.WeightedPreReleaseNumber);
Assert.Equal(expect.BuildMetaData, result.BuildMetaData);
Assert.Equal(expect.BuildMetaDataPadded, result.BuildMetaDataPadded);
Assert.Equal(expect.FullBuildMetaData, result.FullBuildMetaData);
Expand All @@ -349,12 +492,17 @@ public void Should_Tolerate_Bad_Json_Set()
Assert.Equal(expect.FullSemVer, result.FullSemVer);
Assert.Equal(expect.InformationalVersion, result.InformationalVersion);
Assert.Equal(expect.BranchName, result.BranchName);
Assert.Equal(expect.EscapedBranchName, result.EscapedBranchName);
Assert.Equal(expect.Sha, result.Sha);
Assert.Equal(expect.ShortSha, result.ShortSha);
Assert.Equal(expect.NuGetVersionV2, result.NuGetVersionV2);
Assert.Equal(expect.NuGetVersion, result.NuGetVersion);
Assert.Equal(expect.NuGetPreReleaseTagV2, result.NuGetPreReleaseTagV2);
Assert.Equal(expect.NuGetPreReleaseTag, result.NuGetPreReleaseTag);
Assert.Equal(expect.VersionSourceSha, result.VersionSourceSha);
Assert.Equal(expect.CommitsSinceVersionSource, result.CommitsSinceVersionSource);
Assert.Equal(expect.CommitsSinceVersionSourcePadded, result.CommitsSinceVersionSourcePadded);
Assert.Equal(expect.UncommittedChanges, result.UncommittedChanges);
Assert.Equal(expect.CommitDate, result.CommitDate);
}

Expand Down
35 changes: 35 additions & 0 deletions src/Cake.Common/Tools/GitVersion/GitVersion.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,21 @@ public sealed class GitVersion
/// </summary>
public string PreReleaseLabel { get; set; }

/// <summary>
/// Gets or sets the pre-release label with dash.
/// </summary>
public string PreReleaseLabelWithDash { get; set; }

/// <summary>
/// Gets or sets the pre-release number.
/// </summary>
public int? PreReleaseNumber { get; set; }

/// <summary>
/// Gets or sets the weighted pre-release number.
/// </summary>
public int? WeightedPreReleaseNumber { get; set; }

/// <summary>
/// Gets or sets the build metadata.
/// </summary>
Expand Down Expand Up @@ -104,6 +114,11 @@ public sealed class GitVersion
/// </summary>
public string BranchName { get; set; }

/// <summary>
/// Gets or sets the escaped branch name.
/// </summary>
public string EscapedBranchName { get; set; }

/// <summary>
/// Gets or sets the Git SHA.
/// </summary>
Expand All @@ -124,6 +139,21 @@ public sealed class GitVersion
/// </summary>
public string NuGetVersion { get; set; }

/// <summary>
/// Gets or sets the NuGet pre-release tag for v2.
/// </summary>
public string NuGetPreReleaseTagV2 { get; set; }

/// <summary>
/// Gets or sets the NuGet pre-release tag.
/// </summary>
public string NuGetPreReleaseTag { get; set; }

/// <summary>
/// Gets or sets the version source sha.
/// </summary>
public string VersionSourceSha { get; set; }

/// <summary>
/// Gets or sets the commits since version source.
/// </summary>
Expand All @@ -134,6 +164,11 @@ public sealed class GitVersion
/// </summary>
public string CommitsSinceVersionSourcePadded { get; set; }

/// <summary>
/// Gets or sets the number of uncommited changes.
/// </summary>
public int? UncommittedChanges { get; set; }

/// <summary>
/// Gets or sets the commit date.
/// </summary>
Expand Down
49 changes: 49 additions & 0 deletions src/Cake.Common/Tools/GitVersion/GitVersionInternal.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,27 @@ public string PreReleaseLabel
set => GitVersion.PreReleaseLabel = value;
}

[DataMember]
public string PreReleaseLabelWithDash
{
get => GitVersion.PreReleaseLabelWithDash;
set => GitVersion.PreReleaseLabelWithDash = value;
}

[DataMember]
public string PreReleaseNumber
{
get => ToString(GitVersion.PreReleaseNumber);
set => GitVersion.PreReleaseNumber = ToNullableInt(value);
}

[DataMember]
public string WeightedPreReleaseNumber
{
get => ToString(GitVersion.WeightedPreReleaseNumber);
set => GitVersion.WeightedPreReleaseNumber = ToNullableInt(value);
}

[DataMember]
public string BuildMetaData
{
Expand Down Expand Up @@ -147,6 +161,13 @@ public string BranchName
set => GitVersion.BranchName = value;
}

[DataMember]
public string EscapedBranchName
{
get => GitVersion.EscapedBranchName;
set => GitVersion.EscapedBranchName = value;
}

[DataMember]
public string Sha
{
Expand Down Expand Up @@ -175,6 +196,27 @@ public string NuGetVersion
set => GitVersion.NuGetVersion = value;
}

[DataMember]
public string NuGetPreReleaseTagV2
{
get => GitVersion.NuGetPreReleaseTagV2;
set => GitVersion.NuGetPreReleaseTagV2 = value;
}

[DataMember]
public string NuGetPreReleaseTag
{
get => GitVersion.NuGetPreReleaseTag;
set => GitVersion.NuGetPreReleaseTag = value;
}

[DataMember]
public string VersionSourceSha
{
get => GitVersion.VersionSourceSha;
set => GitVersion.VersionSourceSha = value;
}

[DataMember]
public string CommitsSinceVersionSource
{
Expand All @@ -189,6 +231,13 @@ public string CommitsSinceVersionSourcePadded
set => GitVersion.CommitsSinceVersionSourcePadded = value;
}

[DataMember]
public string UncommittedChanges
{
get => ToString(GitVersion.UncommittedChanges);
set => GitVersion.UncommittedChanges = ToNullableInt(value);
}

[DataMember]
public string CommitDate
{
Expand Down
Loading

0 comments on commit 3ba0ec1

Please sign in to comment.