Skip to content

Commit b73d835

Browse files
committed
Created new configuration-option assembly-file-versioning-scheme: It has the same possible options as assembly-versioning-scheme and it is used for generating the AssamblyFileVersion just in the same matter as the AssemblyVersion.
Since the AssemblyVersion is used for referencing and AssemblyLoading and AssemblyFileVersion is just a representation of the version / build of the assembly, we can now configure both independent. Default setting is MajorMinorPatch for both options.
1 parent 8650152 commit b73d835

File tree

52 files changed

+150
-41
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+150
-41
lines changed

docs/configuration.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ The global configuration look like this:
3030
```yaml
3131
next-version: 1.0
3232
assembly-versioning-scheme: MajorMinorPatch
33+
assembly-file-versioning-scheme: MajorMinorPatchTag
3334
assembly-informational-format: '{InformationalVersion}'
3435
mode: ContinuousDelivery
3536
increment: Inherit
@@ -61,6 +62,12 @@ Strong Naming. Note: you can use `None` to skip updating the `AssemblyVersion`
6162
while still updating the `AssemblyFileVersion` and `AssemblyInformationVersion`
6263
attributes.
6364

65+
### assembly-file-versioning-scheme
66+
When updating assembly info, `assembly-file-versioning-scheme` tells GitVersion how
67+
to treat the `AssemblyFileVersion` attribute. Note: you can use `None` to skip updating the `AssemblyFileVersion`
68+
while still updating the `AssemblyVersion` and `AssemblyInformationVersion`
69+
attributes.
70+
6471
### assembly-informational-format
6572
Set this to any of the available [variables](/more-info/variables) to change the
6673
value of the `AssemblyInformationalVersion` attribute. Default set to

docs/more-info/variables.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ For the `release/3.0.0` branch of GitVersion it shows:
1919
"LegacySemVer":"3.0.0-beta1",
2020
"LegacySemVerPadded":"3.0.0-beta0001",
2121
"AssemblySemVer":"3.0.0.0",
22+
"AssemblySemFileVer":"3.0.0.0",
2223
"FullSemVer":"3.0.0-beta.1+1",
2324
"InformationalVersion":"3.0.0-beta.1+1.Branch.release/3.0.0.Sha.28c853159a46b5a87e6cc9c4f6e940c59d6bc68a",
2425
"BranchName":"release/3.0.0",

src/GitVersionCore.Tests/Approved/JsonVersionBuilderTests.Json.approved.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"Major":1,
33
"Minor":2,
44
"Patch":0,
@@ -14,6 +14,7 @@
1414
"LegacySemVer":"1.2.0-unstable4",
1515
"LegacySemVerPadded":"1.2.0-unstable0004",
1616
"AssemblySemVer":"1.2.0.0",
17+
"AssemblySemFileVer":"1.2.0.0",
1718
"FullSemVer":"1.2.0-unstable.4+5",
1819
"InformationalVersion":"1.2.0-unstable.4+5.Branch.feature1.Sha.commitSha",
1920
"BranchName":"feature1",

src/GitVersionCore.Tests/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeliveryModeForPreRelease.approved.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"Major":1,
33
"Minor":2,
44
"Patch":3,
@@ -14,6 +14,7 @@
1414
"LegacySemVer":"1.2.3-unstable4",
1515
"LegacySemVerPadded":"1.2.3-unstable0004",
1616
"AssemblySemVer":"1.2.3.0",
17+
"AssemblySemFileVer":"1.2.3.0",
1718
"FullSemVer":"1.2.3-unstable.4+5",
1819
"InformationalVersion":"1.2.3-unstable.4+5.Branch.develop.Sha.commitSha",
1920
"BranchName":"develop",

src/GitVersionCore.Tests/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeliveryModeForPreReleaseWithPadding.approved.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"Major":1,
33
"Minor":2,
44
"Patch":3,
@@ -14,6 +14,7 @@
1414
"LegacySemVer":"1.2.3-unstable4",
1515
"LegacySemVerPadded":"1.2.3-unstable00004",
1616
"AssemblySemVer":"1.2.3.0",
17+
"AssemblySemFileVer":"1.2.3.0",
1718
"FullSemVer":"1.2.3-unstable.4+5",
1819
"InformationalVersion":"1.2.3-unstable.4+5.Branch.develop.Sha.commitSha",
1920
"BranchName":"develop",

src/GitVersionCore.Tests/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeliveryModeForStable.approved.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"Major":1,
33
"Minor":2,
44
"Patch":3,
@@ -14,6 +14,7 @@
1414
"LegacySemVer":"1.2.3",
1515
"LegacySemVerPadded":"1.2.3",
1616
"AssemblySemVer":"1.2.3.0",
17+
"AssemblySemFileVer":"1.2.3.0",
1718
"FullSemVer":"1.2.3+5",
1819
"InformationalVersion":"1.2.3+5.Branch.develop.Sha.commitSha",
1920
"BranchName":"develop",

src/GitVersionCore.Tests/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeploymentModeForPreRelease.approved.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"Major":1,
33
"Minor":2,
44
"Patch":3,
@@ -14,6 +14,7 @@
1414
"LegacySemVer":"1.2.3-unstable5",
1515
"LegacySemVerPadded":"1.2.3-unstable0005",
1616
"AssemblySemVer":"1.2.3.0",
17+
"AssemblySemFileVer":"1.2.3.0",
1718
"FullSemVer":"1.2.3-unstable.5",
1819
"InformationalVersion":"1.2.3-unstable.5+Branch.develop.Sha.commitSha",
1920
"BranchName":"develop",

src/GitVersionCore.Tests/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeploymentModeForStable.approved.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"Major":1,
33
"Minor":2,
44
"Patch":3,
@@ -14,6 +14,7 @@
1414
"LegacySemVer":"1.2.3-ci5",
1515
"LegacySemVerPadded":"1.2.3-ci0005",
1616
"AssemblySemVer":"1.2.3.0",
17+
"AssemblySemFileVer":"1.2.3.0",
1718
"FullSemVer":"1.2.3-ci.5",
1819
"InformationalVersion":"1.2.3-ci.5+Branch.develop.Sha.commitSha",
1920
"BranchName":"develop",

src/GitVersionCore.Tests/Approved/VariableProviderTests.ProvidesVariablesInContinuousDeploymentModeForStableWhenCurrentCommitIsTagged.approved.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"Major":1,
33
"Minor":2,
44
"Patch":3,
@@ -14,6 +14,7 @@
1414
"LegacySemVer":"1.2.3",
1515
"LegacySemVerPadded":"1.2.3",
1616
"AssemblySemVer":"1.2.3.0",
17+
"AssemblySemFileVer":"1.2.3.0",
1718
"FullSemVer":"1.2.3+5",
1819
"InformationalVersion":"1.2.3+5.Sha.commitSha",
1920
"BranchName":"",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
assembly-versioning-scheme: MajorMinorPatch
2+
assembly-file-versioning-scheme: MajorMinorPatch
23
mode: ContinuousDelivery
34
tag-prefix: '[vV]'
45
continuous-delivery-fallback-tag: ci

src/GitVersionCore.Tests/ConfigProviderTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,12 +165,14 @@ public void CanUpdateAssemblyInformationalVersioningScheme()
165165
{
166166
const string text = @"
167167
assembly-versioning-scheme: MajorMinor
168+
assembly-file-versioning-scheme: MajorMinorPatch
168169
assembly-informational-format: '{NugetVersion}'";
169170

170171
SetupConfigFileContent(text);
171172

172173
var config = ConfigurationProvider.Provide(repoPath, fileSystem);
173174
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinor);
175+
config.AssemblyFileVersioningScheme.ShouldBe(AssemblyFileVersioningScheme.MajorMinorPatch);
174176
config.AssemblyInformationalFormat.ShouldBe("{NugetVersion}");
175177
}
176178

@@ -179,12 +181,14 @@ public void CanUpdateAssemblyInformationalVersioningSchemeWithMultipleVariables(
179181
{
180182
const string text = @"
181183
assembly-versioning-scheme: MajorMinor
184+
assembly-file-versioning-scheme: MajorMinorPatch
182185
assembly-informational-format: '{Major}.{Minor}.{Patch}'";
183186

184187
SetupConfigFileContent(text);
185188

186189
var config = ConfigurationProvider.Provide(repoPath, fileSystem);
187190
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinor);
191+
config.AssemblyFileVersioningScheme.ShouldBe(AssemblyFileVersioningScheme.MajorMinorPatch);
188192
config.AssemblyInformationalFormat.ShouldBe("{Major}.{Minor}.{Patch}");
189193
}
190194

@@ -193,6 +197,7 @@ public void CanUpdateAssemblyInformationalVersioningSchemeWithMultipleVariables(
193197
public void CanUpdateAssemblyInformationalVersioningSchemeWithFullSemVer()
194198
{
195199
const string text = @"assembly-versioning-scheme: MajorMinorPatch
200+
assembly-file-versioning-scheme: MajorMinorPatch
196201
assembly-informational-format: '{FullSemVer}'
197202
mode: ContinuousDelivery
198203
next-version: 5.3.0
@@ -202,6 +207,7 @@ public void CanUpdateAssemblyInformationalVersioningSchemeWithFullSemVer()
202207

203208
var config = ConfigurationProvider.Provide(repoPath, fileSystem);
204209
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinorPatch);
210+
config.AssemblyFileVersioningScheme.ShouldBe(AssemblyFileVersioningScheme.MajorMinorPatch);
205211
config.AssemblyInformationalFormat.ShouldBe("{FullSemVer}");
206212
}
207213

@@ -212,6 +218,7 @@ public void CanReadDefaultDocument()
212218
SetupConfigFileContent(text);
213219
var config = ConfigurationProvider.Provide(repoPath, fileSystem);
214220
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinorPatch);
221+
config.AssemblyFileVersioningScheme.ShouldBe(AssemblyFileVersioningScheme.MajorMinorPatch);
215222
config.AssemblyInformationalFormat.ShouldBe(null);
216223
config.Branches["develop"].Tag.ShouldBe("alpha");
217224
config.Branches["release"].Tag.ShouldBe("beta");

src/GitVersionCore.Tests/ExecuteCoreTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public void CacheFileExistsOnDisk()
5656
LegacySemVer: 4.10.3-test19
5757
LegacySemVerPadded: 4.10.3-test0019
5858
AssemblySemVer: 4.10.3.0
59+
AssemblySemFileVer: 4.10.3.0
5960
FullSemVer: 4.10.3-test.19
6061
InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
6162
BranchName: feature/test
@@ -101,6 +102,7 @@ public void CacheFileExistsOnDiskWhenOverrideConfigIsSpecifiedVersionShouldBeDyn
101102
LegacySemVer: 4.10.3-test19
102103
LegacySemVerPadded: 4.10.3-test0019
103104
AssemblySemVer: 4.10.3.0
105+
AssemblySemFileVer: 4.10.3.0
104106
FullSemVer: 4.10.3-test.19
105107
InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
106108
BranchName: feature/test
@@ -163,6 +165,7 @@ public void ConfigChangeInvalidatesCache()
163165
LegacySemVer: 4.10.3-test19
164166
LegacySemVerPadded: 4.10.3-test0019
165167
AssemblySemVer: 4.10.3.0
168+
AssemblySemFileVer: 4.10.3.0
166169
FullSemVer: 4.10.3-test.19
167170
InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
168171
BranchName: feature/test
@@ -211,6 +214,7 @@ public void NoCacheBypassesCache()
211214
LegacySemVer: 4.10.3-test19
212215
LegacySemVerPadded: 4.10.3-test0019
213216
AssemblySemVer: 4.10.3.0
217+
AssemblySemFileVer: 4.10.3.0
214218
FullSemVer: 4.10.3-test.19
215219
InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f
216220
BranchName: feature/test

src/GitVersionCore.Tests/TestEffectiveConfiguration.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ namespace GitVersionCore.Tests
88
public class TestEffectiveConfiguration : EffectiveConfiguration
99
{
1010
public TestEffectiveConfiguration(
11-
AssemblyVersioningScheme assemblyVersioningScheme = AssemblyVersioningScheme.MajorMinorPatch,
12-
string assemblyInformationalFormat = null,
11+
AssemblyVersioningScheme assemblyVersioningScheme = AssemblyVersioningScheme.MajorMinorPatch,
12+
AssemblyFileVersioningScheme assemblyFileVersioningScheme = AssemblyFileVersioningScheme.MajorMinorPatch,
13+
string assemblyInformationalFormat = null,
1314
VersioningMode versioningMode = VersioningMode.ContinuousDelivery,
1415
string gitTagPrefix = "v",
1516
string tag = "",
@@ -30,7 +31,7 @@ public TestEffectiveConfiguration(
3031
IEnumerable<IVersionFilter> versionFilters = null,
3132
bool tracksReleaseBranches = false,
3233
bool isRelease = false) :
33-
base(assemblyVersioningScheme, assemblyInformationalFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch,
34+
base(assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch,
3435
branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag,
3536
trackMergeTarget,
3637
majorMessage, minorMessage, patchMessage, noBumpMessage,

src/GitVersionCore.Tests/TestableVersionVariables.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class TestableVersionVariables : VersionVariables
66
{
7-
public TestableVersionVariables(string major = "", string minor = "", string patch = "", string buildMetaData = "", string buildMetaDataPadded = "", string fullBuildMetaData = "", string branchName = "", string sha = "", string majorMinorPatch = "", string semVer = "", string legacySemVer = "", string legacySemVerPadded = "", string fullSemVer = "", string assemblySemVer = "", string preReleaseTag = "", string preReleaseTagWithDash = "", string preReleaseLabel = "", string preReleaseNumber = "", string informationalVersion = "", string commitDate = "", string nugetVersion = "", string nugetVersionV2 = "", string nugetPreReleaseTag = "", string nugetPreReleaseTagV2 = "", string commitsSinceVersionSource = "", string commitsSinceVersionSourcePadded = "") : base(major, minor, patch, buildMetaData, buildMetaDataPadded, fullBuildMetaData, branchName, sha, majorMinorPatch, semVer, legacySemVer, legacySemVerPadded, fullSemVer, assemblySemVer, preReleaseTag, preReleaseTagWithDash, preReleaseLabel, preReleaseNumber, informationalVersion, commitDate, nugetVersion, nugetVersionV2, nugetPreReleaseTag, nugetPreReleaseTagV2, commitsSinceVersionSource, commitsSinceVersionSourcePadded)
7+
public TestableVersionVariables(string major = "", string minor = "", string patch = "", string buildMetaData = "", string buildMetaDataPadded = "", string fullBuildMetaData = "", string branchName = "", string sha = "", string majorMinorPatch = "", string semVer = "", string legacySemVer = "", string legacySemVerPadded = "", string fullSemVer = "", string assemblySemVer = "", string assemblySemFileVer = "", string preReleaseTag = "", string preReleaseTagWithDash = "", string preReleaseLabel = "", string preReleaseNumber = "", string informationalVersion = "", string commitDate = "", string nugetVersion = "", string nugetVersionV2 = "", string nugetPreReleaseTag = "", string nugetPreReleaseTagV2 = "", string commitsSinceVersionSource = "", string commitsSinceVersionSourcePadded = "") : base(major, minor, patch, buildMetaData, buildMetaDataPadded, fullBuildMetaData, branchName, sha, majorMinorPatch, semVer, legacySemVer, legacySemVerPadded, fullSemVer, assemblySemVer, assemblySemFileVer, preReleaseTag, preReleaseTagWithDash, preReleaseLabel, preReleaseNumber, informationalVersion, commitDate, nugetVersion, nugetVersionV2, nugetPreReleaseTag, nugetPreReleaseTagV2, commitsSinceVersionSource, commitsSinceVersionSourcePadded)
88
{
99
}
1010
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
namespace GitVersion
2+
{
3+
public enum AssemblyFileVersioningScheme
4+
{
5+
MajorMinorPatchTag,
6+
MajorMinorPatch,
7+
MajorMinor,
8+
Major,
9+
None
10+
}
11+
}

src/GitVersionCore/AssemblyVersionsGenerator.cs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,26 @@ public static string GetAssemblyVersion(
2424
throw new ArgumentException(string.Format("Unexpected value ({0}).", scheme), "scheme");
2525
}
2626
}
27-
}
27+
28+
public static string GetAssemblyFileVersion(
29+
this SemanticVersion sv,
30+
AssemblyFileVersioningScheme scheme)
31+
{
32+
switch (scheme)
33+
{
34+
case AssemblyFileVersioningScheme.Major:
35+
return string.Format("{0}.0.0.0", sv.Major);
36+
case AssemblyFileVersioningScheme.MajorMinor:
37+
return string.Format("{0}.{1}.0.0", sv.Major, sv.Minor);
38+
case AssemblyFileVersioningScheme.MajorMinorPatch:
39+
return string.Format("{0}.{1}.{2}.0", sv.Major, sv.Minor, sv.Patch);
40+
case AssemblyFileVersioningScheme.MajorMinorPatchTag:
41+
return string.Format("{0}.{1}.{2}.{3}", sv.Major, sv.Minor, sv.Patch, sv.PreReleaseTag.Number ?? 0);
42+
case AssemblyFileVersioningScheme.None:
43+
return null;
44+
default:
45+
throw new ArgumentException(string.Format("Unexpected value ({0}).", scheme), "scheme");
46+
}
47+
}
48+
}
2849
}

src/GitVersionCore/Configuration/Config.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ public Config()
1818
[YamlMember(Alias = "assembly-versioning-scheme")]
1919
public AssemblyVersioningScheme? AssemblyVersioningScheme { get; set; }
2020

21+
[YamlMember(Alias = "assembly-file-versioning-scheme")]
22+
public AssemblyFileVersioningScheme? AssemblyFileVersioningScheme { get; set; }
23+
2124
[YamlMember(Alias = "assembly-informational-format")]
2225
public string AssemblyInformationalFormat { get; set; }
2326

src/GitVersionCore/Configuration/ConfigurationProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ This is because mainline mode treats your entire git repository as an event sour
8585
public static void ApplyDefaultsTo(Config config)
8686
{
8787
config.AssemblyVersioningScheme = config.AssemblyVersioningScheme ?? AssemblyVersioningScheme.MajorMinorPatch;
88+
config.AssemblyFileVersioningScheme = config.AssemblyFileVersioningScheme ?? AssemblyFileVersioningScheme.MajorMinorPatch;
8889
config.AssemblyInformationalFormat = config.AssemblyInformationalFormat;
8990
config.TagPrefix = config.TagPrefix ?? DefaultTagPrefix;
9091
config.VersioningMode = config.VersioningMode ?? VersioningMode.ContinuousDelivery;

src/GitVersionCore/EffectiveConfiguration.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ public class EffectiveConfiguration
1010
{
1111
public EffectiveConfiguration(
1212
AssemblyVersioningScheme assemblyVersioningScheme,
13+
AssemblyFileVersioningScheme assemblyFileVersioningScheme,
1314
string assemblyInformationalFormat,
1415
VersioningMode versioningMode, string gitTagPrefix,
1516
string tag, string nextVersion, IncrementStrategy increment,
@@ -31,6 +32,7 @@ public EffectiveConfiguration(
3132
bool isCurrentBranchRelease)
3233
{
3334
AssemblyVersioningScheme = assemblyVersioningScheme;
35+
AssemblyFileVersioningScheme = assemblyFileVersioningScheme;
3436
AssemblyInformationalFormat = assemblyInformationalFormat;
3537
VersioningMode = versioningMode;
3638
GitTagPrefix = gitTagPrefix;
@@ -51,8 +53,8 @@ public EffectiveConfiguration(
5153
BuildMetaDataPadding = buildMetaDataPadding;
5254
CommitsSinceVersionSourcePadding = commitsSinceVersionSourcePadding;
5355
VersionFilters = versionFilters;
54-
TracksReleaseBranches = tracksReleaseBranches;
55-
IsCurrentBranchRelease = isCurrentBranchRelease;
56+
TracksReleaseBranches = tracksReleaseBranches;
57+
IsCurrentBranchRelease = isCurrentBranchRelease;
5658
}
5759

5860
public bool TracksReleaseBranches { get; private set; }
@@ -61,6 +63,7 @@ public EffectiveConfiguration(
6163
public VersioningMode VersioningMode { get; private set; }
6264

6365
public AssemblyVersioningScheme AssemblyVersioningScheme { get; private set; }
66+
public AssemblyFileVersioningScheme AssemblyFileVersioningScheme { get; private set; }
6467
public string AssemblyInformationalFormat { get; private set; }
6568

6669
/// <summary>

src/GitVersionCore/GitVersionContext.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ void CalculateEffectiveConfiguration()
100100

101101
if (!FullConfiguration.AssemblyVersioningScheme.HasValue)
102102
throw new Exception("Configuration value for 'AssemblyVersioningScheme' has no value. (this should not happen, please report an issue)");
103+
if (!FullConfiguration.AssemblyFileVersioningScheme.HasValue)
104+
throw new Exception("Configuration value for 'AssemblyFileVersioningScheme' has no value. (this should not happen, please report an issue)");
103105
if (!FullConfiguration.CommitMessageIncrementing.HasValue)
104106
throw new Exception("Configuration value for 'CommitMessageIncrementing' has no value. (this should not happen, please report an issue)");
105107
if (!FullConfiguration.LegacySemVerPadding.HasValue)
@@ -118,6 +120,7 @@ void CalculateEffectiveConfiguration()
118120

119121
var nextVersion = FullConfiguration.NextVersion;
120122
var assemblyVersioningScheme = FullConfiguration.AssemblyVersioningScheme.Value;
123+
var assemblyFileVersioningScheme = FullConfiguration.AssemblyFileVersioningScheme.Value;
121124
var assemblyInformationalFormat = FullConfiguration.AssemblyInformationalFormat;
122125
var gitTagPrefix = FullConfiguration.TagPrefix;
123126
var majorMessage = FullConfiguration.MajorVersionBumpMessage;
@@ -128,7 +131,7 @@ void CalculateEffectiveConfiguration()
128131
var commitMessageVersionBump = currentBranchConfig.CommitMessageIncrementing ?? FullConfiguration.CommitMessageIncrementing.Value;
129132

130133
Configuration = new EffectiveConfiguration(
131-
assemblyVersioningScheme, assemblyInformationalFormat, versioningMode, gitTagPrefix,
134+
assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, versioningMode, gitTagPrefix,
132135
tag, nextVersion, incrementStrategy,
133136
currentBranchConfig.Regex,
134137
preventIncrementForMergedBranchVersion,

src/GitVersionCore/GitVersionCore.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
</Reference>
7070
</ItemGroup>
7171
<ItemGroup>
72+
<Compile Include="AssemblyFileVersioningScheme.cs" />
7273
<Compile Include="AssemblyVersioningScheme.cs" />
7374
<Compile Include="AssemblyVersionsGenerator.cs" />
7475
<Compile Include="Authentication.cs" />

src/GitVersionCore/OutputVariables/VariableProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public static VersionVariables GetVariablesFor(SemanticVersion semanticVersion,
7676
semverFormatValues.LegacySemVerPadded,
7777
semverFormatValues.FullSemVer,
7878
semverFormatValues.AssemblySemVer,
79+
semverFormatValues.AssemblyFileSemVer,
7980
semverFormatValues.PreReleaseTag,
8081
semverFormatValues.PreReleaseTagWithDash,
8182
semverFormatValues.PreReleaseLabel,

0 commit comments

Comments
 (0)