Skip to content

Commit 684aa07

Browse files
committed
Changed to assembly-informational-format
Updated the code to provide assembly-informational-format in the yaml config to customize how the assembly informational data will be formatted.
1 parent fa09dd9 commit 684aa07

21 files changed

+374
-134
lines changed

src/GitVersionCore.Tests/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
assembly-versioning-scheme: MajorMinorPatch
2-
assembly-informational-versioning-scheme: FullInformationalVersion
32
mode: ContinuousDelivery
43
tag-prefix: '[vV]'
54
continuous-delivery-fallback-tag: ci

src/GitVersionCore.Tests/ConfigProviderTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public void CanReadDocumentAndMigrate()
4343

4444
var config = ConfigurationProvider.Provide(repoPath, fileSystem);
4545
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinor);
46-
config.AssemblyInformationalVersioningScheme.ShouldBe(AssemblyInformationalVersioningScheme.FullInformationalVersion);
46+
config.AssemblyInformationalFormat.ShouldBe(null);
4747
config.NextVersion.ShouldBe("2.0.0");
4848
config.TagPrefix.ShouldBe("[vV|version-]");
4949
config.VersioningMode.ShouldBe(VersioningMode.ContinuousDelivery);
@@ -116,13 +116,13 @@ public void CanUpdateAssemblyInformationalVersioningScheme()
116116
{
117117
const string text = @"
118118
assembly-versioning-scheme: MajorMinor
119-
assembly-informational-versioning-scheme: NugetVersion";
119+
assembly-informational-format: '{NugetVersion}'";
120120

121121
SetupConfigFileContent(text);
122122

123123
var config = ConfigurationProvider.Provide(repoPath, fileSystem);
124124
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinor);
125-
config.AssemblyInformationalVersioningScheme.ShouldBe(AssemblyInformationalVersioningScheme.NugetVersion);
125+
config.AssemblyInformationalFormat.ShouldBe("{NugetVersion}");
126126
}
127127

128128
[Test]
@@ -132,7 +132,7 @@ public void CanReadDefaultDocument()
132132
SetupConfigFileContent(text);
133133
var config = ConfigurationProvider.Provide(repoPath, fileSystem);
134134
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinorPatch);
135-
config.AssemblyInformationalVersioningScheme.ShouldBe(AssemblyInformationalVersioningScheme.FullInformationalVersion);
135+
config.AssemblyInformationalFormat.ShouldBe(null);
136136
config.Branches["dev(elop)?(ment)?$"].Tag.ShouldBe("unstable");
137137
config.Branches["releases?[/-]"].Tag.ShouldBe("beta");
138138
config.TagPrefix.ShouldBe(ConfigurationProvider.DefaultTagPrefix);

src/GitVersionCore.Tests/TestEffectiveConfiguration.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public class TestEffectiveConfiguration : EffectiveConfiguration
66
{
77
public TestEffectiveConfiguration(
88
AssemblyVersioningScheme assemblyVersioningScheme = AssemblyVersioningScheme.MajorMinorPatch,
9-
AssemblyInformationalVersioningScheme assemblyInformationalVersioningScheme = AssemblyInformationalVersioningScheme.FullInformationalVersion,
9+
string assemblyInformationalFormat = null,
1010
VersioningMode versioningMode = VersioningMode.ContinuousDelivery,
1111
string gitTagPrefix = "v",
1212
string tag = "",
@@ -22,7 +22,7 @@ public TestEffectiveConfiguration(
2222
CommitMessageIncrementMode commitMessageMode = CommitMessageIncrementMode.Enabled,
2323
int legacySemVerPadding = 4,
2424
int buildMetaDataPadding = 4) :
25-
base(assemblyVersioningScheme, assemblyInformationalVersioningScheme, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch,
25+
base(assemblyVersioningScheme, assemblyInformationalFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch,
2626
branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag,
2727
trackMergeTarget,
2828
majorMessage, minorMessage, patchMessage,

src/GitVersionCore/AssemblyInformationalVersioningScheme.cs

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/GitVersionCore/AssemblyVersionsGenerator.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,5 @@ public static string GetAssemblyVersion(
2222
throw new ArgumentException(string.Format("Unexpected value ({0}).", scheme), "scheme");
2323
}
2424
}
25-
26-
public static string GetAssemblyInformationalVersion(
27-
this SemanticVersion sv,
28-
AssemblyInformationalVersioningScheme scheme)
29-
{
30-
switch (scheme)
31-
{
32-
case AssemblyInformationalVersioningScheme.FullInformationalVersion:
33-
return sv.ToString("i");
34-
case AssemblyInformationalVersioningScheme.NugetVersion:
35-
return sv.ToString("lp");
36-
default:
37-
throw new ArgumentException(string.Format("Unexpected value ({0}).", scheme), "scheme");
38-
}
39-
}
40-
4125
}
4226
}

src/GitVersionCore/Configuration/Config.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ public class Config
1111
[YamlMember(Alias = "assembly-versioning-scheme")]
1212
public AssemblyVersioningScheme? AssemblyVersioningScheme { get; set; }
1313

14-
[YamlMember(Alias = "assembly-informational-versioning-scheme")]
15-
public AssemblyInformationalVersioningScheme? AssemblyInformationalVersioningScheme { get; set; }
14+
[YamlMember(Alias = "assembly-informational-format")]
15+
public string AssemblyInformationalFormat { get; set; }
1616

1717
[YamlMember(Alias = "mode")]
1818
public VersioningMode? VersioningMode { get; set; }

src/GitVersionCore/Configuration/ConfigurationProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static void ApplyDefaultsTo(Config config)
2424
MigrateBranches(config);
2525

2626
config.AssemblyVersioningScheme = config.AssemblyVersioningScheme ?? AssemblyVersioningScheme.MajorMinorPatch;
27-
config.AssemblyInformationalVersioningScheme = config.AssemblyInformationalVersioningScheme ?? AssemblyInformationalVersioningScheme.FullInformationalVersion;
27+
config.AssemblyInformationalFormat = config.AssemblyInformationalFormat;
2828
config.TagPrefix = config.TagPrefix ?? DefaultTagPrefix;
2929
config.VersioningMode = config.VersioningMode ?? VersioningMode.ContinuousDelivery;
3030
config.ContinuousDeploymentFallbackTag = config.ContinuousDeploymentFallbackTag ?? "ci";

src/GitVersionCore/Configuration/Init/EditConfigStep.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ protected override StepResult HandleResult(string result, Queue<ConfigInitWizard
3939
steps.Enqueue(new AssemblyVersioningSchemeSetting(Console, FileSystem));
4040
return StepResult.Ok();
4141
case "7":
42-
steps.Enqueue(new AssemblyInformationalVersioningSchemeSetting(Console, FileSystem));
43-
return StepResult.Ok();
44-
case "8":
4542
steps.Enqueue(new SetupBuildScripts(Console, FileSystem));
4643
return StepResult.Ok();
4744
}
@@ -61,8 +58,7 @@ protected override string GetPrompt(Config config, string workingDirectory)
6158
4) Branch specific configuration
6259
5) Branch Increment mode (per commit/after tag) (Current: {0})
6360
6) Assembly versioning scheme (Current: {1})
64-
7) Assembly informational versioning scheme (Current: {2})
65-
8) Setup build scripts", config.VersioningMode, config.AssemblyVersioningScheme, config.AssemblyInformationalVersioningScheme);
61+
7) Setup build scripts", config.VersioningMode, config.AssemblyVersioningScheme);
6662
}
6763

6864
protected override string DefaultResult

src/GitVersionCore/Configuration/Init/SetConfig/AssemblyInformationalVersioningSchemeSetting.cs

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/GitVersionCore/EffectiveConfiguration.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class EffectiveConfiguration
77
{
88
public EffectiveConfiguration(
99
AssemblyVersioningScheme assemblyVersioningScheme,
10-
AssemblyInformationalVersioningScheme assemblyInformationalVersioningScheme,
10+
string assemblyInformationalFormat,
1111
VersioningMode versioningMode, string gitTagPrefix,
1212
string tag, string nextVersion, IncrementStrategy increment,
1313
string branchPrefixToTrim,
@@ -24,7 +24,7 @@ int buildMetaDataPadding
2424
)
2525
{
2626
AssemblyVersioningScheme = assemblyVersioningScheme;
27-
AssemblyInformationalVersioningScheme = assemblyInformationalVersioningScheme;
27+
AssemblyInformationalFormat = assemblyInformationalFormat;
2828
VersioningMode = versioningMode;
2929
GitTagPrefix = gitTagPrefix;
3030
Tag = tag;
@@ -46,7 +46,7 @@ int buildMetaDataPadding
4646
public VersioningMode VersioningMode { get; private set; }
4747

4848
public AssemblyVersioningScheme AssemblyVersioningScheme { get; private set; }
49-
public AssemblyInformationalVersioningScheme AssemblyInformationalVersioningScheme { get; private set; }
49+
public string AssemblyInformationalFormat { get; private set; }
5050

5151
/// <summary>
5252
/// Git tag prefix

0 commit comments

Comments
 (0)