Skip to content

Commit d4aa6e8

Browse files
author
Oren Novotny
committed
Use AssemblyVersioningScheme.None in configuration rather than command-line switch
1 parent b080a26 commit d4aa6e8

File tree

10 files changed

+17
-41
lines changed

10 files changed

+17
-41
lines changed

src/GitVersionCore/AssemblyVersioningScheme.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ public enum AssemblyVersioningScheme
55
MajorMinorPatchTag,
66
MajorMinorPatch,
77
MajorMinor,
8-
Major
8+
Major,
9+
None
910
}
1011
}

src/GitVersionCore/AssemblyVersionsGenerator.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public static string GetAssemblyVersion(
1818
return string.Format("{0}.{1}.{2}.0", sv.Major, sv.Minor, sv.Patch);
1919
case AssemblyVersioningScheme.MajorMinorPatchTag:
2020
return string.Format("{0}.{1}.{2}.{3}", sv.Major, sv.Minor, sv.Patch, sv.PreReleaseTag.Number ?? 0);
21+
case AssemblyVersioningScheme.None:
22+
return null;
2123
default:
2224
throw new ArgumentException(string.Format("Unexpected value ({0}).", scheme), "scheme");
2325
}

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ protected override StepResult HandleResult(string result, Queue<ConfigInitWizard
3333
config.AssemblyVersioningScheme = AssemblyVersioningScheme.MajorMinorPatchTag;
3434
steps.Enqueue(new EditConfigStep(Console, FileSystem));
3535
return StepResult.Ok();
36+
case "5":
37+
config.AssemblyVersioningScheme = AssemblyVersioningScheme.None;
38+
steps.Enqueue(new EditConfigStep(Console, FileSystem));
39+
return StepResult.Ok();
3640
}
3741

3842
return StepResult.InvalidResponseSelected();
@@ -46,7 +50,9 @@ protected override string GetPrompt(Config config, string workingDirectory)
4650
1) Major.0.0.0
4751
2) Major.Minor.0.0
4852
3) Major.Minor.Patch.0 (default)
49-
4) Major.Minor.Patch.TagCount (Allows different pre-release tags to cause assembly version to change)";
53+
4) Major.Minor.Patch.TagCount (Allows different pre-release tags to cause assembly version to change)
54+
5) None (skip's updating AssemblyVersion)";
55+
5056
}
5157

5258
protected override string DefaultResult

src/GitVersionExe.Tests/ArgumentParserTests.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -187,15 +187,6 @@ public void update_assembly_info_true(string command)
187187
arguments.UpdateAssemblyInfo.ShouldBe(true);
188188
}
189189

190-
[TestCase("-excludeUpdateAssemblyVersion true")]
191-
[TestCase("-excludeUpdateAssemblyVersion 1")]
192-
[TestCase("-excludeUpdateAssemblyVersion")]
193-
public void exclude_update_assembly_version_True(string command)
194-
{
195-
var arguments = ArgumentParser.ParseArguments(command);
196-
arguments.ExcludeUpdateAssemblyVersion.ShouldBe(true);
197-
}
198-
199190
[TestCase("-updateAssemblyInfo false")]
200191
[TestCase("-updateAssemblyInfo 0")]
201192
public void update_assembly_info_false(string command)

src/GitVersionExe.Tests/AssemblyInfoFileUpdateTests.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -212,17 +212,16 @@ public void ShouldReplaceAssemblyVersion(string fileExtension, string assemblyFi
212212
[TestCase("vb", "<Assembly: AssemblyFileVersion(\"1.0.0.0\")>")]
213213
[Category("NoMono")]
214214
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
215-
public void ShouldNotReplaceAssemblyVersionWhenExcluded(string fileExtension, string assemblyFileContent)
215+
public void ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone(string fileExtension, string assemblyFileContent)
216216
{
217217
var workingDir = Path.GetTempPath();
218218
var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
219219

220-
VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
220+
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.None, verify: (fileSystem, variables) =>
221221
{
222222
var args = new Arguments
223223
{
224224
UpdateAssemblyInfo = true,
225-
ExcludeUpdateAssemblyVersion = true,
226225
UpdateAssemblyInfoFileName = new HashSet<string>
227226
{
228227
"AssemblyInfo." + fileExtension
@@ -451,17 +450,16 @@ public void ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile
451450
[TestCase("vb", "<Assembly: AssemblyFileVersion(\"1.0.0.0\")>")]
452451
[Category("NoMono")]
453452
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
454-
public void ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenExcluded(string fileExtension, string assemblyFileContent)
453+
public void ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone(string fileExtension, string assemblyFileContent)
455454
{
456455
var workingDir = Path.GetTempPath();
457456
var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
458457

459-
VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
458+
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.None, verify: (fileSystem, variables) =>
460459
{
461460
var args = new Arguments
462461
{
463462
UpdateAssemblyInfo = true,
464-
ExcludeUpdateAssemblyVersion = true,
465463
UpdateAssemblyInfoFileName = new HashSet<string>
466464
{
467465
"AssemblyInfo." + fileExtension

src/GitVersionExe.Tests/HelpWriterTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public void AllArgsAreInHelp()
1616
{ "TargetBranch", "/b" },
1717
{ "LogFilePath" , "/l" },
1818
{ "DynamicRepositoryLocation" , "/dynamicRepoLocation" },
19-
{ "ExcludeUpdateAssemblyVersion" , "/excludeUpdateAssemblyVersion" },
2019
{ "IsHelp", "/?" }
2120
};
2221
string helpText = null;

src/GitVersionExe/ArgumentParser.cs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -186,24 +186,6 @@ public static Arguments ParseArguments(List<string> commandLineArguments)
186186
continue;
187187
}
188188

189-
if (name.IsSwitch("excludeUpdateAssemblyVersion"))
190-
{
191-
if (value.IsTrue())
192-
{
193-
arguments.ExcludeUpdateAssemblyVersion = true;
194-
}
195-
else if (value.IsFalse())
196-
{
197-
arguments.ExcludeUpdateAssemblyVersion = false;
198-
}
199-
else
200-
{
201-
arguments.ExcludeUpdateAssemblyVersion = true;
202-
}
203-
204-
continue;
205-
}
206-
207189
if (name.IsSwitch("assemblyversionformat"))
208190
{
209191
throw new WarningException("assemblyversionformat switch removed, use AssemblyVersioningScheme configuration value instead");

src/GitVersionExe/Arguments.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public Arguments()
3737
public string ExecArgs;
3838

3939
public bool UpdateAssemblyInfo;
40-
public bool ExcludeUpdateAssemblyVersion;
4140
public ISet<string> UpdateAssemblyInfoFileName;
4241
public bool EnsureAssemblyInfo;
4342

src/GitVersionExe/AssemblyInfoFileUpdate.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
2626

2727
var assemblyVersion = variables.AssemblySemVer;
2828
var assemblyVersionRegex = new Regex(@"AssemblyVersion\s*\(\s*""[^""]*""\s*\)");
29-
var assemblyVersionString = string.Format("AssemblyVersion(\"{0}\")", assemblyVersion);
29+
var assemblyVersionString = assemblyVersion != null ? string.Format("AssemblyVersion(\"{0}\")", assemblyVersion) : null;
3030
var assemblyInfoVersion = variables.InformationalVersion;
3131
var assemblyInfoVersionRegex = new Regex(@"AssemblyInformationalVersion\s*\(\s*""[^""]*""\s*\)");
3232
var assemblyInfoVersionString = string.Format("AssemblyInformationalVersion(\"{0}\")", assemblyInfoVersion);
@@ -48,7 +48,7 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
4848
cleanupBackupTasks.Add(() => fileSystem.Delete(backupAssemblyInfo));
4949

5050
var fileContents = fileSystem.ReadAllText(assemblyInfoFile.FullName);
51-
if (!args.ExcludeUpdateAssemblyVersion)
51+
if (assemblyVersion != null)
5252
{
5353
fileContents = ReplaceOrAppend(assemblyVersionRegex, fileContents, assemblyVersionString, assemblyInfoFile.Extension);
5454
}

src/GitVersionExe/HelpWriter.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ path The directory containing .git. If not defined current directory
3131
# AssemblyInfo updating
3232
/updateassemblyinfo
3333
Will recursively search for all 'AssemblyInfo.cs' files in the git repo and update them
34-
/excludeUpdateAssemblyVersion
35-
Will exclude adding or updating the AssemblyVersion attribute when updating assembly info files
3634
/updateassemblyinfofilename
3735
Specify name of AssemblyInfo file. Can also /updateAssemblyInfo GlobalAssemblyInfo.cs as a shorthand
3836
/ensureassemblyinfo

0 commit comments

Comments
 (0)