Skip to content

Commit 391f5f3

Browse files
authored
Merge pull request #897 from Halling69/FixForDuplicateAssemblyVersionAttribute
Issue: #871 Fixing at least some occurences of error CS0579: Duplicate 'AssemblyVersion' attribute
2 parents d2003e5 + 56bf952 commit 391f5f3

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

src/GitVersionExe.Tests/AssemblyInfoFileUpdateTests.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,34 @@ public void ShouldReplaceAssemblyVersionInRelativePath(string fileExtension, str
236236
});
237237
}
238238

239+
[TestCase("cs", "[assembly: AssemblyVersion ( \"1.0.0.0\") ]\r\n[assembly: AssemblyInformationalVersion\t(\t\"1.0.0.0\"\t)]\r\n[assembly: AssemblyFileVersion\r\n(\r\n\"1.0.0.0\"\r\n)]")]
240+
[TestCase("fs", "[<assembly: AssemblyVersion ( \"1.0.0.0\" )>]\r\n[<assembly: AssemblyInformationalVersion\t(\t\"1.0.0.0\"\t)>]\r\n[<assembly: AssemblyFileVersion\r\n(\r\n\"1.0.0.0\"\r\n)>]")]
241+
[TestCase("vb", "<Assembly: AssemblyVersion ( \"1.0.0.0\" )>\r\n<Assembly: AssemblyInformationalVersion\t(\t\"1.0.0.0\"\t)>\r\n<Assembly: AssemblyFileVersion\r\n(\r\n\"1.0.0.0\"\r\n)>")]
242+
public void ShouldReplaceAssemblyVersionInRelativePathWithWhiteSpace(string fileExtension, string assemblyFileContent)
243+
{
244+
var workingDir = Path.GetTempPath();
245+
var fileName = Path.Combine(workingDir, "Project", "src", "Properties", "AssemblyInfo." + fileExtension);
246+
247+
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
248+
{
249+
var args = new Arguments
250+
{
251+
UpdateAssemblyInfo = true,
252+
UpdateAssemblyInfoFileName = new HashSet<string>
253+
{
254+
Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension)
255+
}
256+
};
257+
using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
258+
{
259+
fileSystem.Received().WriteAllText(fileName, Arg.Is<string>(s =>
260+
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
261+
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
262+
s.Contains(@"AssemblyFileVersion(""2.3.1.0"")")));
263+
}
264+
});
265+
}
266+
239267
[TestCase("cs", "[assembly: AssemblyVersion(\"1.0.0.*\")]\r\n[assembly: AssemblyInformationalVersion(\"1.0.0.*\")]\r\n[assembly: AssemblyFileVersion(\"1.0.0.*\")]")]
240268
[TestCase("fs", "[<assembly: AssemblyVersion(\"1.0.0.*\")>]\r\n[<assembly: AssemblyInformationalVersion(\"1.0.0.*\")>]\r\n[<assembly: AssemblyFileVersion(\"1.0.0.*\")>]")]
241269
[TestCase("vb", "<Assembly: AssemblyVersion(\"1.0.0.*\")>\r\n<Assembly: AssemblyInformationalVersion(\"1.0.0.*\")>\r\n<Assembly: AssemblyFileVersion(\"1.0.0.*\")>")]

src/GitVersionExe/AssemblyInfoFileUpdate.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
2525
Logger.WriteInfo(string.Format("Found {0} files", assemblyInfoFiles.Count));
2626

2727
var assemblyVersion = variables.AssemblySemVer;
28-
var assemblyVersionRegex = new Regex(@"AssemblyVersion\(""[^""]*""\)");
28+
var assemblyVersionRegex = new Regex(@"AssemblyVersion\s*\(\s*""[^""]*""\s*\)");
2929
var assemblyVersionString = string.Format("AssemblyVersion(\"{0}\")", assemblyVersion);
3030
var assemblyInfoVersion = variables.InformationalVersion;
31-
var assemblyInfoVersionRegex = new Regex(@"AssemblyInformationalVersion\(""[^""]*""\)");
31+
var assemblyInfoVersionRegex = new Regex(@"AssemblyInformationalVersion\s*\(\s*""[^""]*""\s*\)");
3232
var assemblyInfoVersionString = string.Format("AssemblyInformationalVersion(\"{0}\")", assemblyInfoVersion);
3333
var assemblyFileVersion = variables.MajorMinorPatch + ".0";
34-
var assemblyFileVersionRegex = new Regex(@"AssemblyFileVersion\(""[^""]*""\)");
34+
var assemblyFileVersionRegex = new Regex(@"AssemblyFileVersion\s*\(\s*""[^""]*""\s*\)");
3535
var assemblyFileVersionString = string.Format("AssemblyFileVersion(\"{0}\")", assemblyFileVersion);
3636

3737
foreach (var assemblyInfoFile in assemblyInfoFiles)

0 commit comments

Comments
 (0)