Skip to content

Commit f935865

Browse files
committed
Merge remote-tracking branch 'upstream/support/3.6.0'
2 parents bd70b2a + fbe3999 commit f935865

File tree

2 files changed

+36
-3
lines changed

2 files changed

+36
-3
lines changed

src/GitVersionExe.Tests/AssemblyInfoFileUpdateTests.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,39 @@ public void ShouldReplaceAssemblyVersionWithStar(string fileExtension, string as
322322
});
323323
}
324324

325+
[TestCase("cs", "[assembly: AssemblyVersionAttribute(\"1.0.0.0\")]\r\n[assembly: AssemblyInformationalVersionAttribute(\"1.0.0.0\")]\r\n[assembly: AssemblyFileVersionAttribute(\"1.0.0.0\")]")]
326+
[TestCase("fs", "[<assembly: AssemblyVersionAttribute(\"1.0.0.0\")>]\r\n[<assembly: AssemblyInformationalVersionAttribute(\"1.0.0.0\")>]\r\n[<assembly: AssemblyFileVersionAttribute(\"1.0.0.0\")>]")]
327+
[TestCase("vb", "<Assembly: AssemblyVersionAttribute(\"1.0.0.0\")>\r\n<Assembly: AssemblyInformationalVersionAttribute(\"1.0.0.0\")>\r\n<Assembly: AssemblyFileVersionAttribute(\"1.0.0.0\")>")]
328+
[Category("NoMono")]
329+
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
330+
public void ShouldReplaceAssemblyVersionWithAtttributeSuffix(string fileExtension, string assemblyFileContent)
331+
{
332+
var workingDir = Path.GetTempPath();
333+
var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
334+
335+
VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
336+
{
337+
var args = new Arguments
338+
{
339+
UpdateAssemblyInfo = true,
340+
UpdateAssemblyInfoFileName = new HashSet<string>
341+
{
342+
"AssemblyInfo." + fileExtension
343+
}
344+
};
345+
using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
346+
{
347+
fileSystem.Received().WriteAllText(fileName, Arg.Is<string>(s =>
348+
!s.Contains(@"AssemblyVersionAttribute(""1.0.0.0"")") &&
349+
!s.Contains(@"AssemblyInformationalVersionAttribute(""1.0.0.0"")") &&
350+
!s.Contains(@"AssemblyFileVersionAttribute(""1.0.0.0"")") &&
351+
s.Contains(@"AssemblyVersion(""2.3.1.0"")") &&
352+
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
353+
s.Contains(@"AssemblyFileVersion(""2.3.1.0"")")));
354+
}
355+
});
356+
}
357+
325358
[TestCase("cs")]
326359
[TestCase("fs")]
327360
[TestCase("vb")]

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\s*\(\s*""[^""]*""\s*\)");
28+
var assemblyVersionRegex = new Regex(@"AssemblyVersion(Attribute)?\s*\(\s*""[^""]*""\s*\)");
2929
var assemblyVersionString = !string.IsNullOrWhiteSpace(assemblyVersion) ? string.Format("AssemblyVersion(\"{0}\")", assemblyVersion) : null;
3030
var assemblyInfoVersion = variables.InformationalVersion;
31-
var assemblyInfoVersionRegex = new Regex(@"AssemblyInformationalVersion\s*\(\s*""[^""]*""\s*\)");
31+
var assemblyInfoVersionRegex = new Regex(@"AssemblyInformationalVersion(Attribute)?\s*\(\s*""[^""]*""\s*\)");
3232
var assemblyInfoVersionString = string.Format("AssemblyInformationalVersion(\"{0}\")", assemblyInfoVersion);
3333
var assemblyFileVersion = variables.MajorMinorPatch + ".0";
34-
var assemblyFileVersionRegex = new Regex(@"AssemblyFileVersion\s*\(\s*""[^""]*""\s*\)");
34+
var assemblyFileVersionRegex = new Regex(@"AssemblyFileVersion(Attribute)?\s*\(\s*""[^""]*""\s*\)");
3535
var assemblyFileVersionString = string.Format("AssemblyFileVersion(\"{0}\")", assemblyFileVersion);
3636

3737
foreach (var assemblyInfoFile in assemblyInfoFiles)

0 commit comments

Comments
 (0)