Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
replace Logger with ILog
  • Loading branch information
arturcic committed Oct 18, 2019
commit 7840f2a0e67867aa1507f0794f79fba3303347bd
43 changes: 22 additions & 21 deletions src/GitVersionCore.Tests/AssemblyInfoFileUpdaterTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@ namespace GitVersionCore.Tests
public class AssemblyInfoFileUpdaterTests : TestBase
{
private IVariableProvider variableProvider;
private ILog log;

[SetUp]
public void Setup()
{
ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute<TestCaseAttribute>();
var log = new NullLog();
log = new NullLog();
variableProvider = new VariableProvider(log);
}

Expand All @@ -40,7 +41,7 @@ public void ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo(strin
var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, true))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -61,7 +62,7 @@ public void ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo
var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, true))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -85,7 +86,7 @@ public void ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInf
};
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, true))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, log, true))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -108,7 +109,7 @@ public void ShouldNotCreateAssemblyInfoFileWhenNotExistsAndNotEnsureAssemblyInfo
var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -125,7 +126,7 @@ public void ShouldNotCreateAssemblyInfoFileForUnknownSourceCodeAndEnsureAssembly
var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, true))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -141,7 +142,7 @@ public void ShouldStartSearchFromWorkingDirectory()
var assemblyInfoFiles = new HashSet<string>();
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -160,7 +161,7 @@ public void ShouldReplaceAssemblyVersion(string fileExtension, string assemblyFi

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -185,7 +186,7 @@ public void ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone(string fileEx

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.None, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -206,7 +207,7 @@ public void ShouldReplaceAssemblyVersionInRelativePath(string fileExtension, str

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -229,7 +230,7 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithWhiteSpace(string file

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -252,7 +253,7 @@ public void ShouldReplaceAssemblyVersionWithStar(string fileExtension, string as

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -275,7 +276,7 @@ public void ShouldReplaceAssemblyVersionWithAtttributeSuffix(string fileExtensio

VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -301,7 +302,7 @@ public void ShouldAddAssemblyVersionIfMissingFromInfoFile(string fileExtension)

VerifyAssemblyInfoFile("", fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -324,7 +325,7 @@ public void ShouldReplaceAlreadySubstitutedValues(string fileExtension, string a

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -347,7 +348,7 @@ public void ShouldReplaceAssemblyVersionWhenCreatingAssemblyVersionFileAndEnsure

VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -370,7 +371,7 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithVariables(string fileE

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -393,7 +394,7 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithVariablesAndWhiteSpace

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -418,7 +419,7 @@ public void ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile

VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -441,7 +442,7 @@ public void Issue1183_ShouldAddFSharpAssemblyInformationalVersionBesideOtherAttr

VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -464,7 +465,7 @@ public void ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionF

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.None, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,16 @@
using GitVersion.Helpers;
using GitVersion.OutputVariables;
using GitVersion.Common;
using GitVersion.Log;

namespace GitVersion.Extensions.VersionAssemblyInfoResources
{
public class AssemblyInfoFileUpdater : IDisposable
{
readonly List<Action> restoreBackupTasks = new List<Action>();
readonly List<Action> cleanupBackupTasks = new List<Action>();
private readonly List<Action> restoreBackupTasks = new List<Action>();
private readonly List<Action> cleanupBackupTasks = new List<Action>();

readonly IDictionary<string, Regex> assemblyAttributeRegexes = new Dictionary<string, Regex>
private readonly IDictionary<string, Regex> assemblyAttributeRegexes = new Dictionary<string, Regex>
{
{".cs", new Regex( @"(\s*\[\s*assembly:\s*(?:.*)\s*\]\s*$(\r?\n)?)", RegexOptions.Multiline) },
{".fs", new Regex( @"(\s*\[\s*\<assembly:\s*(?:.*)\>\s*\]\s*$(\r?\n)?)", RegexOptions.Multiline) },
Expand All @@ -23,34 +24,36 @@ public class AssemblyInfoFileUpdater : IDisposable

private const string NewLine = "\r\n";

ISet<string> assemblyInfoFileNames;
string workingDirectory;
VersionVariables variables;
IFileSystem fileSystem;
bool ensureAssemblyInfo;
TemplateManager templateManager;
private readonly ISet<string> assemblyInfoFileNames;
private readonly string workingDirectory;
private readonly VersionVariables variables;
private readonly IFileSystem fileSystem;
private readonly ILog log;
private readonly bool ensureAssemblyInfo;
private readonly TemplateManager templateManager;

public AssemblyInfoFileUpdater(string assemblyInfoFileName, string workingDirectory, VersionVariables variables, IFileSystem fileSystem, bool ensureAssemblyInfo) :
this(new HashSet<string> { assemblyInfoFileName }, workingDirectory, variables, fileSystem, ensureAssemblyInfo)
public AssemblyInfoFileUpdater(string assemblyInfoFileName, string workingDirectory, VersionVariables variables, IFileSystem fileSystem, ILog log, bool ensureAssemblyInfo) :
this(new HashSet<string> { assemblyInfoFileName }, workingDirectory, variables, fileSystem, log, ensureAssemblyInfo)
{ }

public AssemblyInfoFileUpdater(ISet<string> assemblyInfoFileNames, string workingDirectory, VersionVariables variables, IFileSystem fileSystem, bool ensureAssemblyInfo)
public AssemblyInfoFileUpdater(ISet<string> assemblyInfoFileNames, string workingDirectory, VersionVariables variables, IFileSystem fileSystem, ILog log, bool ensureAssemblyInfo)
{
this.assemblyInfoFileNames = assemblyInfoFileNames;
this.workingDirectory = workingDirectory;
this.variables = variables;
this.fileSystem = fileSystem;
this.log = log;
this.ensureAssemblyInfo = ensureAssemblyInfo;

templateManager = new TemplateManager(TemplateType.VersionAssemblyInfoResources);
}

public void Update()
{
Logger.Info("Updating assembly info files");
log.Info("Updating assembly info files");

var assemblyInfoFiles = GetAssemblyInfoFiles(workingDirectory, assemblyInfoFileNames, fileSystem, ensureAssemblyInfo).ToList();
Logger.Info($"Found {assemblyInfoFiles.Count} files");
log.Info($"Found {assemblyInfoFiles.Count} files");

var assemblyVersion = variables.AssemblySemVer;
var assemblyVersionRegex = new Regex(@"AssemblyVersion(Attribute)?\s*\(.*\)\s*");
Expand Down Expand Up @@ -111,7 +114,7 @@ public void Update()
}
}

string ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(Regex replaceRegex, string inputString, string replaceString, string fileExtension, ref bool appendedAttributes)
private string ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(Regex replaceRegex, string inputString, string replaceString, string fileExtension, ref bool appendedAttributes)
{
var assemblyAddFormat = templateManager.GetAddFormatFor(fileExtension);

Expand Down Expand Up @@ -139,7 +142,7 @@ string ReplaceOrInsertAfterLastAssemblyAttributeOrAppend(Regex replaceRegex, str
return inputString;
}

IEnumerable<FileInfo> GetAssemblyInfoFiles(string workingDirectory, ISet<string> assemblyInfoFileNames, IFileSystem fileSystem, bool ensureAssemblyInfo)
private IEnumerable<FileInfo> GetAssemblyInfoFiles(string workingDirectory, ISet<string> assemblyInfoFileNames, IFileSystem fileSystem, bool ensureAssemblyInfo)
{
if (assemblyInfoFileNames != null && assemblyInfoFileNames.Any(x => !string.IsNullOrWhiteSpace(x)))
{
Expand Down Expand Up @@ -167,7 +170,7 @@ IEnumerable<FileInfo> GetAssemblyInfoFiles(string workingDirectory, ISet<string>
}
}

bool EnsureVersionAssemblyInfoFile(bool ensureAssemblyInfo, IFileSystem fileSystem, string fullPath)
private bool EnsureVersionAssemblyInfoFile(bool ensureAssemblyInfo, IFileSystem fileSystem, string fullPath)
{
if (fileSystem.Exists(fullPath))
{
Expand Down
2 changes: 1 addition & 1 deletion src/GitVersionExe/ExecCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public void Execute(Arguments arguments, IFileSystem fileSystem, IEnvironment en
}
}

using (var assemblyInfoUpdater = new AssemblyInfoFileUpdater(arguments.UpdateAssemblyInfoFileName, targetPath, variables, fileSystem, arguments.EnsureAssemblyInfo))
using (var assemblyInfoUpdater = new AssemblyInfoFileUpdater(arguments.UpdateAssemblyInfoFileName, targetPath, variables, fileSystem, log, arguments.EnsureAssemblyInfo))
{
if (arguments.UpdateAssemblyInfo)
{
Expand Down
27 changes: 0 additions & 27 deletions src/GitVersionTask.Tests/ModuleInitializer.cs

This file was deleted.

5 changes: 0 additions & 5 deletions src/GitVersionTask.Tests/TestBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@ namespace GitVersionTask.Tests
{
public class TestBase
{
static TestBase()
{
ModuleInitializer.Initialize();
}

}
}

Loading