Skip to content

Commit fa2f7a4

Browse files
committed
moving to DI ConfigInit
1 parent 674f739 commit fa2f7a4

17 files changed

+93
-39
lines changed

src/GitVersionCore.Tests/ConfigProviderTests.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using GitVersion.VersioningModes;
1212
using GitVersion.Extensions;
1313
using GitVersion;
14+
using GitVersion.Configuration.Init.Wizard;
1415
using GitVersion.Logging;
1516

1617
namespace GitVersionCore.Tests
@@ -24,17 +25,19 @@ public class ConfigProviderTests : TestBase
2425
private IFileSystem fileSystem;
2526
private IConfigFileLocator configFileLocator;
2627
private IConfigurationProvider configurationProvider;
28+
private IConfigInitWizard configInitWizard;
2729

2830
[SetUp]
2931
public void Setup()
3032
{
3133
fileSystem = new TestFileSystem();
3234
var log = new NullLog();
35+
configInitWizard = new ConfigInitWizard(new ConsoleAdapter(), fileSystem, log);
3336
configFileLocator = new DefaultConfigFileLocator(fileSystem, log);
3437
repoPath = DefaultRepoPath;
3538

3639
var gitPreparer = new GitPreparer(log, new Arguments { TargetPath = repoPath });
37-
configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer);
40+
configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer, configInitWizard);
3841

3942
ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute<TestAttribute>();
4043
}
@@ -290,7 +293,7 @@ public void NoWarnOnGitVersionYmlFile()
290293
var defaultConfigFileLocator = new DefaultConfigFileLocator(fileSystem, log);
291294
var gitPreparer = new GitPreparer(log, new Arguments { TargetPath = repoPath });
292295

293-
configurationProvider = new ConfigurationProvider(fileSystem, log, defaultConfigFileLocator, gitPreparer);
296+
configurationProvider = new ConfigurationProvider(fileSystem, log, defaultConfigFileLocator, gitPreparer, configInitWizard);
294297

295298
configurationProvider.Provide(repoPath);
296299

src/GitVersionCore.Tests/DefaultConfigFileLocatorTests.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using GitVersion.Configuration;
66
using GitVersion.Exceptions;
77
using GitVersion;
8+
using GitVersion.Configuration.Init.Wizard;
89
using GitVersion.Logging;
910

1011
namespace GitVersionCore.Tests
@@ -91,7 +92,9 @@ public void NoWarnOnGitVersionYmlFile()
9192
var log = new NullLog();
9293
var defaultConfigFileLocator = new DefaultConfigFileLocator(fileSystem, log);
9394
var gitPreparer = new GitPreparer(log, new Arguments { TargetPath = repoPath });
94-
var configurationProvider = new ConfigurationProvider(fileSystem, log, defaultConfigFileLocator, gitPreparer);
95+
var configInitWizard = new ConfigInitWizard(new ConsoleAdapter(), fileSystem, log);
96+
97+
var configurationProvider = new ConfigurationProvider(fileSystem, log, defaultConfigFileLocator, gitPreparer, configInitWizard);
9598

9699
configurationProvider.Provide(repoPath);
97100
});

src/GitVersionCore.Tests/DynamicRepositoryTests.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using GitVersion;
33
using GitVersion.Cache;
44
using GitVersion.Configuration;
5+
using GitVersion.Configuration.Init.Wizard;
56
using NUnit.Framework;
67
using GitVersion.Logging;
78
using GitVersion.OutputVariables;
@@ -94,7 +95,9 @@ public void FindsVersionInDynamicRepo(string name, string url, string targetBran
9495
var gitVersionFinder = new GitVersionFinder(log, nextVersionCalculator);
9596

9697
var gitPreparer = new GitPreparer(log, arguments);
97-
var configurationProvider = new ConfigurationProvider(testFileSystem, log, configFileLocator, gitPreparer);
98+
var configInitWizard = new ConfigInitWizard(new ConsoleAdapter(), testFileSystem, log);
99+
100+
var configurationProvider = new ConfigurationProvider(testFileSystem, log, configFileLocator, gitPreparer, configInitWizard);
98101

99102
var variableProvider = new VariableProvider(nextVersionCalculator);
100103
var gitVersionCalculator = new GitVersionCalculator(testFileSystem, log, configFileLocator, configurationProvider, buildServerResolver, gitVersionCache, gitVersionFinder, gitPreparer, variableProvider, options);

src/GitVersionCore.Tests/GitVersionExecutorTests.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using GitVersion.Configuration;
1010
using GitVersion.OutputVariables;
1111
using GitVersion.Cache;
12+
using GitVersion.Configuration.Init.Wizard;
1213
using LibGit2Sharp;
1314
using GitVersionCore.Tests.Helpers;
1415
using GitVersion.Logging;
@@ -524,7 +525,8 @@ private void RepositoryScope(ILog _log, Action<EmptyRepositoryFixture, VersionVa
524525
var options = Options.Create(arguments);
525526

526527
var gitPreparer = new GitPreparer(_log, arguments);
527-
var configurationProvider = new ConfigurationProvider(fileSystem, _log, configFileLocator, gitPreparer);
528+
var configInitWizard = new ConfigInitWizard(new ConsoleAdapter(), fileSystem, log);
529+
var configurationProvider = new ConfigurationProvider(fileSystem, _log, configFileLocator, gitPreparer, configInitWizard);
528530
var baseVersionCalculator = new BaseVersionCalculator(log, null);
529531
var mainlineVersionCalculator = new MainlineVersionCalculator(log, metaDataCalculator);
530532
var nextVersionCalculator = new NextVersionCalculator(log, metaDataCalculator, baseVersionCalculator, mainlineVersionCalculator);
@@ -545,7 +547,8 @@ private GitVersionCalculator GetGitVersionCalculator(Arguments arguments)
545547
var options = Options.Create(arguments);
546548

547549
var gitPreparer = new GitPreparer(log, arguments);
548-
var configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer);
550+
var configInitWizard = new ConfigInitWizard(new ConsoleAdapter(), fileSystem, log);
551+
var configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer, configInitWizard);
549552
var baseVersionCalculator = new BaseVersionCalculator(log, null);
550553
var mainlineVersionCalculator = new MainlineVersionCalculator(log, metaDataCalculator);
551554
var nextVersionCalculator = new NextVersionCalculator(log, metaDataCalculator, baseVersionCalculator, mainlineVersionCalculator);

src/GitVersionCore.Tests/Init/InitScenarios.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Runtime.InteropServices;
33
using GitVersion;
44
using GitVersion.Configuration;
5+
using GitVersion.Configuration.Init.Wizard;
56
using GitVersion.Logging;
67
using NUnit.Framework;
78
using Shouldly;
@@ -25,13 +26,14 @@ public void CanSetNextVersion()
2526
var log = new NullLog();
2627
var fileSystem = new TestFileSystem();
2728
var testConsole = new TestConsole("3", "2.0.0", "0");
29+
var configInitWizard = new ConfigInitWizard(testConsole, fileSystem, log);
2830
var configFileLocator = new DefaultConfigFileLocator(fileSystem, log);
2931
var workingDirectory = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "c:\\proj" : "/proj";
3032

3133
var gitPreparer = new GitPreparer(log, new Arguments { TargetPath = workingDirectory });
32-
var configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer);
34+
var configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer, configInitWizard);
3335

34-
configurationProvider.Init(workingDirectory, testConsole);
36+
configurationProvider.Init(workingDirectory);
3537

3638
fileSystem.ReadAllText(Path.Combine(workingDirectory, "GitVersion.yml")).ShouldMatchApproved();
3739
}

src/GitVersionCore.Tests/NamedConfigFileLocatorTests.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using GitVersion.Configuration;
55
using GitVersion.Exceptions;
66
using GitVersion;
7+
using GitVersion.Configuration.Init.Wizard;
78
using GitVersion.Logging;
89

910
namespace GitVersionCore.Tests
@@ -58,7 +59,8 @@ public void NoWarnOnCustomYmlFile()
5859
configFileLocator = new NamedConfigFileLocator("my-config.yaml", fileSystem, log);
5960

6061
var gitPreparer = new GitPreparer(log, new Arguments { TargetPath = repoPath });
61-
var configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer);
62+
var configInitWizard = new ConfigInitWizard(new ConsoleAdapter(), fileSystem, log);
63+
var configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer, configInitWizard);
6264

6365
configurationProvider.Provide(repoPath);
6466
stringLogger.Length.ShouldBe(0);
@@ -77,7 +79,8 @@ public void NoWarnOnCustomYmlFileOutsideRepoPath()
7779

7880
configFileLocator = new NamedConfigFileLocator("my-config.yaml", fileSystem, log);
7981
var gitPreparer = new GitPreparer(log, new Arguments { TargetPath = repoPath });
80-
var configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer);
82+
var configInitWizard = new ConfigInitWizard(new ConsoleAdapter(), fileSystem, log);
83+
var configurationProvider = new ConfigurationProvider(fileSystem, log, configFileLocator, gitPreparer, configInitWizard);
8184

8285
configurationProvider.Provide(repoPath);
8386
stringLogger.Length.ShouldBe(0);

src/GitVersionCore/Configuration/ConfigurationProvider.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@ public class ConfigurationProvider : IConfigurationProvider
1111
private readonly ILog log;
1212
private readonly IConfigFileLocator configFileLocator;
1313
private readonly IGitPreparer gitPreparer;
14+
private readonly IConfigInitWizard configInitWizard;
1415

15-
public ConfigurationProvider(IFileSystem fileSystem, ILog log, IConfigFileLocator configFileLocator, IGitPreparer gitPreparer)
16+
public ConfigurationProvider(IFileSystem fileSystem, ILog log, IConfigFileLocator configFileLocator, IGitPreparer gitPreparer, IConfigInitWizard configInitWizard)
1617
{
1718
this.fileSystem = fileSystem;
1819
this.log = log;
1920
this.configFileLocator = configFileLocator;
2021
this.gitPreparer = gitPreparer;
22+
this.configInitWizard = configInitWizard;
2123
}
2224

23-
2425
public Config Provide(bool applyDefaults = true, Config overrideConfig = null)
2526
{
2627
var workingDirectory = gitPreparer.WorkingDirectory;
@@ -56,11 +57,12 @@ public string GetEffectiveConfigAsString(string workingDirectory)
5657
return stringBuilder.ToString();
5758
}
5859

59-
public void Init(string workingDirectory, IConsole console)
60+
public void Init(string workingDirectory)
6061
{
6162
var configFilePath = configFileLocator.GetConfigFilePath(workingDirectory);
6263
var currentConfiguration = Provide(workingDirectory, false);
63-
var config = new ConfigInitWizard(console, fileSystem, log).Run(currentConfiguration, workingDirectory);
64+
65+
var config = configInitWizard.Run(currentConfiguration, workingDirectory);
6466
if (config == null) return;
6567

6668
using var stream = fileSystem.OpenWrite(configFilePath);

src/GitVersionCore/Configuration/IConfigurationProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ public interface IConfigurationProvider
55
Config Provide(bool applyDefaults = true, Config overrideConfig = null);
66
Config Provide(string workingDirectory, bool applyDefaults = true, Config overrideConfig = null);
77
string GetEffectiveConfigAsString(string workingDirectory);
8-
void Init(string workingDirectory, IConsole console);
8+
void Init(string workingDirectory);
99
}
1010
}

src/GitVersionCore/Configuration/Init/BuildServer/AppVeyorSetup.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ internal enum ProjectVisibility
1515

1616
internal class AppVeyorSetup : ConfigInitWizardStep
1717
{
18-
private readonly ILog log;
1918
private readonly ProjectVisibility _projectVisibility;
2019

21-
public AppVeyorSetup(IConsole console, IFileSystem fileSystem, ILog log, ProjectVisibility visibility) : base(console, fileSystem, log)
20+
public AppVeyorSetup(IConsole console, IFileSystem fileSystem, ILog log, ProjectVisibility visibility) : base(console, fileSystem, log)
2221
{
23-
this.log = log;
2422
_projectVisibility = visibility;
2523
}
2624

@@ -91,7 +89,7 @@ private void WriteConfig(string workingDirectory, IFileSystem fileSystem, string
9189
{
9290
var outputFilename = GetOutputFilename(workingDirectory, fileSystem);
9391
fileSystem.WriteAllText(outputFilename, configContents);
94-
log.Info($"AppVeyor sample config file written to {outputFilename}");
92+
Log.Info($"AppVeyor sample config file written to {outputFilename}");
9593
}
9694

9795
protected override string GetPrompt(Config config, string workingDirectory)

src/GitVersionCore/Configuration/Init/BuildServer/AppveyorPublicPrivate.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ namespace GitVersion.Configuration.Init.BuildServer
66
{
77
internal class AppveyorPublicPrivate : ConfigInitWizardStep
88
{
9-
109
public AppveyorPublicPrivate(IConsole console, IFileSystem fileSystem, ILog log) : base(console, fileSystem, log)
1110
{
1211
}

0 commit comments

Comments
 (0)