Skip to content

Commit 78b8c68

Browse files
authored
Merge pull request #4496 from arturcic/feature/configProvider-logs
Improve config provider logs
2 parents a8dacda + f9440f0 commit 78b8c68

File tree

6 files changed

+21
-5
lines changed

6 files changed

+21
-5
lines changed
File renamed without changes.

src/GitVersion.Configuration.Tests/Configuration/ConfigurationFileLocatorTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ public void NoWarnOnCustomYmlFile()
222222
var configurationProvider = (ConfigurationProvider)sp.GetRequiredService<IConfigurationProvider>();
223223

224224
configurationProvider.ProvideForDirectory(this.repoPath);
225-
stringLogger.Length.ShouldBe(0);
225+
stringLogger.ShouldMatch("No configuration file found, using default configuration");
226226
}
227227

228228
[Test]
@@ -244,7 +244,7 @@ public void NoWarnOnCustomYmlFileOutsideRepoPath()
244244
var configurationProvider = (ConfigurationProvider)sp.GetRequiredService<IConfigurationProvider>();
245245

246246
configurationProvider.ProvideForDirectory(this.repoPath);
247-
stringLogger.Length.ShouldBe(0);
247+
stringLogger.ShouldMatch("No configuration file found, using default configuration");
248248
}
249249

250250
[Test]

src/GitVersion.Configuration.Tests/Configuration/ConfigurationProviderTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ public void NoWarnOnGitVersionYmlFile()
287287
this.configurationProvider.ProvideForDirectory(this.repoPath);
288288

289289
var filePath = PathHelper.Combine(this.repoPath, ConfigurationFileLocator.DefaultFileName);
290-
stringLogger.ShouldContain($"Found configuration file at '{filePath}'");
290+
stringLogger.ShouldContain($"Using configuration file '{filePath}'");
291291
}
292292

293293
[Test]

src/GitVersion.Configuration/ConfigurationFileLocator.cs

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public void Verify(string? workingDirectory, string? projectRootDirectory)
4343
string? customConfigurationFile = GetCustomConfigurationFilePathIfEligable(directoryPath);
4444
if (!string.IsNullOrWhiteSpace(customConfigurationFile))
4545
{
46+
this.log.Info($"Found configuration file at '{customConfigurationFile}'");
4647
return customConfigurationFile;
4748
}
4849

src/GitVersion.Configuration/ConfigurationProvider.cs

+16-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.IO.Abstractions;
22
using GitVersion.Configuration.Workflows;
33
using GitVersion.Extensions;
4+
using GitVersion.Logging;
45
using Microsoft.Extensions.Options;
56
using YamlDotNet.Core;
67

@@ -9,12 +10,14 @@ namespace GitVersion.Configuration;
910
internal class ConfigurationProvider(
1011
IConfigurationFileLocator configFileLocator,
1112
IFileSystem fileSystem,
13+
ILog log,
1214
IConfigurationSerializer configurationSerializer,
1315
IOptions<GitVersionOptions> options)
1416
: IConfigurationProvider
1517
{
1618
private readonly IConfigurationFileLocator configFileLocator = configFileLocator.NotNull();
1719
private readonly IFileSystem fileSystem = fileSystem.NotNull();
20+
private readonly ILog log = log.NotNull();
1821
private readonly IConfigurationSerializer configurationSerializer = configurationSerializer.NotNull();
1922
private readonly IOptions<GitVersionOptions> options = options.NotNull();
2023

@@ -72,7 +75,19 @@ private IGitVersionConfiguration ProvideConfiguration(string? configFile,
7275

7376
private IReadOnlyDictionary<object, object?>? ReadOverrideConfiguration(string? configFilePath)
7477
{
75-
if (configFilePath == null || !fileSystem.File.Exists(configFilePath)) return null;
78+
if (configFilePath == null)
79+
{
80+
this.log.Info("No configuration file found, using default configuration");
81+
return null;
82+
}
83+
84+
if (!this.fileSystem.File.Exists(configFilePath))
85+
{
86+
this.log.Info($"Configuration file '{configFilePath}' not found");
87+
return null;
88+
}
89+
90+
this.log.Info($"Using configuration file '{configFilePath}'");
7691
var content = fileSystem.File.ReadAllText(configFilePath);
7792
return configurationSerializer.Deserialize<Dictionary<object, object?>>(content);
7893
}

src/GitVersion.sln

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "root", "root", "{7D3A83B4-9
5454
..\.editorconfig = ..\.editorconfig
5555
..\.gitattributes = ..\.gitattributes
5656
..\.gitignore = ..\.gitignore
57-
..\GitVersion.yml = ..\GitVersion.yml
57+
..\.gitversion.yml = ..\.gitversion.yml
5858
..\global.json = ..\global.json
5959
..\GitReleaseManager.yml = ..\GitReleaseManager.yml
6060
EndProjectSection

0 commit comments

Comments
 (0)