Skip to content

Commit bda738d

Browse files
authored
Merge pull request #1167 from JakeGinnivan/feature/update-assembly-info-if-needed
Only update assembly info files if needed, fixes #1151
2 parents 1cfac2f + d46ee06 commit bda738d

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/GitVersionExe/AssemblyInfoFileUpdate.cs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
2222
Logger.WriteInfo("Updating assembly info files");
2323

2424
var assemblyInfoFiles = GetAssemblyInfoFiles(workingDirectory, args, fileSystem).ToList();
25-
Logger.WriteInfo(string.Format("Found {0} files", assemblyInfoFiles.Count));
25+
Logger.WriteInfo($"Found {assemblyInfoFiles.Count} files");
2626

2727
var assemblyVersion = variables.AssemblySemVer;
2828
var assemblyVersionRegex = new Regex(@"AssemblyVersion(Attribute)?\s*\(\s*""[^""]*""\s*\)");
29-
var assemblyVersionString = !string.IsNullOrWhiteSpace(assemblyVersion) ? string.Format("AssemblyVersion(\"{0}\")", assemblyVersion) : null;
29+
var assemblyVersionString = !string.IsNullOrWhiteSpace(assemblyVersion) ? $"AssemblyVersion(\"{assemblyVersion}\")" : null;
3030
var assemblyInfoVersion = variables.InformationalVersion;
3131
var assemblyInfoVersionRegex = new Regex(@"AssemblyInformationalVersion(Attribute)?\s*\(\s*""[^""]*""\s*\)");
32-
var assemblyInfoVersionString = string.Format("AssemblyInformationalVersion(\"{0}\")", assemblyInfoVersion);
32+
var assemblyInfoVersionString = $"AssemblyInformationalVersion(\"{assemblyInfoVersion}\")";
3333
var assemblyFileVersion = variables.MajorMinorPatch + ".0";
3434
var assemblyFileVersionRegex = new Regex(@"AssemblyFileVersion(Attribute)?\s*\(\s*""[^""]*""\s*\)");
35-
var assemblyFileVersionString = string.Format("AssemblyFileVersion(\"{0}\")", assemblyFileVersion);
35+
var assemblyFileVersionString = $"AssemblyFileVersion(\"{assemblyFileVersion}\")";
3636

3737
foreach (var assemblyInfoFile in assemblyInfoFiles)
3838
{
@@ -47,7 +47,8 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
4747
});
4848
cleanupBackupTasks.Add(() => fileSystem.Delete(backupAssemblyInfo));
4949

50-
var fileContents = fileSystem.ReadAllText(assemblyInfoFile.FullName);
50+
var originalFileContents = fileSystem.ReadAllText(assemblyInfoFile.FullName);
51+
var fileContents = originalFileContents;
5152
var appendedAttributes = false;
5253
if (!string.IsNullOrWhiteSpace(assemblyVersion))
5354
{
@@ -61,7 +62,10 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
6162
// If we appended any attributes, put a new line after them
6263
fileContents += Environment.NewLine;
6364
}
64-
fileSystem.WriteAllText(assemblyInfoFile.FullName, fileContents);
65+
if (originalFileContents != fileContents)
66+
{
67+
fileSystem.WriteAllText(assemblyInfoFile.FullName, fileContents);
68+
}
6569
}
6670
}
6771

@@ -126,7 +130,7 @@ static bool EnsureVersionAssemblyInfoFile(Arguments arguments, IFileSystem fileS
126130
fileSystem.WriteAllText(fullPath, assemblyInfoSource);
127131
return true;
128132
}
129-
Logger.WriteWarning(string.Format("No version assembly info template available to create source file '{0}'", arguments.UpdateAssemblyInfoFileName));
133+
Logger.WriteWarning($"No version assembly info template available to create source file '{arguments.UpdateAssemblyInfoFileName}'");
130134
return false;
131135
}
132136

0 commit comments

Comments
 (0)