Skip to content

Commit 5b8828d

Browse files
authored
Merge pull request #4498 from arturcic/feature/filesystem
Improvements to filesystem abstractions (part 3)
2 parents 7644140 + ad6f152 commit 5b8828d

File tree

76 files changed

+671
-445
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+671
-445
lines changed

new-cli/GitVersion.Common/GitVersion.Common.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<ItemGroup>
33
<PackageReference Include="Polly" />
4+
<PackageReference Include="System.IO.Abstractions" />
45
</ItemGroup>
56
<ItemGroup>
67
<Compile Include="..\..\src\GitVersion.Core\Core\Abstractions\IEnvironment.cs" Link="Infrastructure\%(Filename)%(Extension)" />

src/GitVersion.App.Tests/ArgumentParserOnBuildServerTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using GitVersion.Agents;
22
using GitVersion.Core.Tests.Helpers;
3+
using GitVersion.Extensions;
34
using GitVersion.OutputVariables;
45
using Microsoft.Extensions.DependencyInjection;
56

@@ -15,8 +16,7 @@ public void SetUp()
1516
{
1617
var sp = ConfigureServices(services =>
1718
{
18-
services.AddSingleton<IArgumentParser, ArgumentParser>();
19-
services.AddSingleton<IGlobbingResolver, GlobbingResolver>();
19+
services.AddModule(new GitVersionAppModule());
2020
services.AddSingleton<ICurrentBuildAgent, MockBuildAgent>();
2121
});
2222
this.argumentParser = sp.GetRequiredService<IArgumentParser>();

src/GitVersion.App.Tests/ArgumentParserTests.cs

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.IO.Abstractions;
22
using GitVersion.Configuration;
33
using GitVersion.Core.Tests.Helpers;
4+
using GitVersion.Extensions;
45
using GitVersion.Helpers;
56
using GitVersion.Logging;
67
using GitVersion.VersionCalculation;
@@ -18,11 +19,7 @@ public class ArgumentParserTests : TestBase
1819
[SetUp]
1920
public void SetUp()
2021
{
21-
var sp = ConfigureServices(services =>
22-
{
23-
services.AddSingleton<IArgumentParser, ArgumentParser>();
24-
services.AddSingleton<IGlobbingResolver, GlobbingResolver>();
25-
});
22+
var sp = ConfigureServices(services => services.AddModule(new GitVersionAppModule()));
2623
this.environment = sp.GetRequiredService<IEnvironment>();
2724
this.argumentParser = sp.GetRequiredService<IArgumentParser>();
2825
this.fileSystem = sp.GetRequiredService<IFileSystem>();
@@ -283,91 +280,91 @@ public void UpdateAssemblyInfoWithFilename()
283280
{
284281
using var repo = new EmptyRepositoryFixture();
285282

286-
var assemblyFile = PathHelper.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
283+
var assemblyFile = FileSystemHelper.Path.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
287284
using var file = this.fileSystem.File.Create(assemblyFile);
288285

289286
var arguments = this.argumentParser.ParseArguments($"-targetpath {repo.RepositoryPath} -updateAssemblyInfo CommonAssemblyInfo.cs");
290287
arguments.UpdateAssemblyInfo.ShouldBe(true);
291288
arguments.UpdateAssemblyInfoFileName.Count.ShouldBe(1);
292-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
289+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
293290
}
294291

295292
[Test]
296293
public void UpdateAssemblyInfoWithMultipleFilenames()
297294
{
298295
using var repo = new EmptyRepositoryFixture();
299296

300-
var assemblyFile1 = PathHelper.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
297+
var assemblyFile1 = FileSystemHelper.Path.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
301298
using var file = this.fileSystem.File.Create(assemblyFile1);
302299

303-
var assemblyFile2 = PathHelper.Combine(repo.RepositoryPath, "VersionAssemblyInfo.cs");
300+
var assemblyFile2 = FileSystemHelper.Path.Combine(repo.RepositoryPath, "VersionAssemblyInfo.cs");
304301
using var file2 = this.fileSystem.File.Create(assemblyFile2);
305302

306303
var arguments = this.argumentParser.ParseArguments($"-targetpath {repo.RepositoryPath} -updateAssemblyInfo CommonAssemblyInfo.cs VersionAssemblyInfo.cs");
307304
arguments.UpdateAssemblyInfo.ShouldBe(true);
308305
arguments.UpdateAssemblyInfoFileName.Count.ShouldBe(2);
309-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
310-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("VersionAssemblyInfo.cs"));
306+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
307+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("VersionAssemblyInfo.cs"));
311308
}
312309

313310
[Test]
314311
public void UpdateProjectFilesWithMultipleFilenames()
315312
{
316313
using var repo = new EmptyRepositoryFixture();
317314

318-
var assemblyFile1 = PathHelper.Combine(repo.RepositoryPath, "CommonAssemblyInfo.csproj");
315+
var assemblyFile1 = FileSystemHelper.Path.Combine(repo.RepositoryPath, "CommonAssemblyInfo.csproj");
319316
using var file = this.fileSystem.File.Create(assemblyFile1);
320317

321-
var assemblyFile2 = PathHelper.Combine(repo.RepositoryPath, "VersionAssemblyInfo.csproj");
318+
var assemblyFile2 = FileSystemHelper.Path.Combine(repo.RepositoryPath, "VersionAssemblyInfo.csproj");
322319
using var file2 = this.fileSystem.File.Create(assemblyFile2);
323320

324321
var arguments = this.argumentParser.ParseArguments($"-targetpath {repo.RepositoryPath} -updateProjectFiles CommonAssemblyInfo.csproj VersionAssemblyInfo.csproj");
325322
arguments.UpdateProjectFiles.ShouldBe(true);
326323
arguments.UpdateAssemblyInfoFileName.Count.ShouldBe(2);
327-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("CommonAssemblyInfo.csproj"));
328-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("VersionAssemblyInfo.csproj"));
324+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("CommonAssemblyInfo.csproj"));
325+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("VersionAssemblyInfo.csproj"));
329326
}
330327

331328
[Test]
332329
public void UpdateAssemblyInfoWithMultipleFilenamesMatchingGlobbing()
333330
{
334331
using var repo = new EmptyRepositoryFixture();
335332

336-
var assemblyFile1 = PathHelper.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
333+
var assemblyFile1 = FileSystemHelper.Path.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
337334
using var file = this.fileSystem.File.Create(assemblyFile1);
338335

339-
var assemblyFile2 = PathHelper.Combine(repo.RepositoryPath, "VersionAssemblyInfo.cs");
336+
var assemblyFile2 = FileSystemHelper.Path.Combine(repo.RepositoryPath, "VersionAssemblyInfo.cs");
340337
using var file2 = this.fileSystem.File.Create(assemblyFile2);
341338

342-
var subdir = PathHelper.Combine(repo.RepositoryPath, "subdir");
339+
var subdir = FileSystemHelper.Path.Combine(repo.RepositoryPath, "subdir");
343340

344341
this.fileSystem.Directory.CreateDirectory(subdir);
345-
var assemblyFile3 = PathHelper.Combine(subdir, "LocalAssemblyInfo.cs");
342+
var assemblyFile3 = FileSystemHelper.Path.Combine(subdir, "LocalAssemblyInfo.cs");
346343
using var file3 = this.fileSystem.File.Create(assemblyFile3);
347344

348345
var arguments = this.argumentParser.ParseArguments($"-targetpath {repo.RepositoryPath} -updateAssemblyInfo **/*AssemblyInfo.cs");
349346
arguments.UpdateAssemblyInfo.ShouldBe(true);
350347
arguments.UpdateAssemblyInfoFileName.Count.ShouldBe(3);
351-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
352-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("VersionAssemblyInfo.cs"));
353-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("LocalAssemblyInfo.cs"));
348+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
349+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("VersionAssemblyInfo.cs"));
350+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("LocalAssemblyInfo.cs"));
354351
}
355352

356353
[Test]
357354
public void UpdateAssemblyInfoWithRelativeFilename()
358355
{
359356
using var repo = new EmptyRepositoryFixture();
360357

361-
var assemblyFile = PathHelper.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
358+
var assemblyFile = FileSystemHelper.Path.Combine(repo.RepositoryPath, "CommonAssemblyInfo.cs");
362359
using var file = this.fileSystem.File.Create(assemblyFile);
363360

364-
var targetPath = PathHelper.Combine(repo.RepositoryPath, "subdir1", "subdir2");
361+
var targetPath = FileSystemHelper.Path.Combine(repo.RepositoryPath, "subdir1", "subdir2");
365362
this.fileSystem.Directory.CreateDirectory(targetPath);
366363

367364
var arguments = this.argumentParser.ParseArguments($"-targetpath {targetPath} -updateAssemblyInfo ..\\..\\CommonAssemblyInfo.cs");
368365
arguments.UpdateAssemblyInfo.ShouldBe(true);
369366
arguments.UpdateAssemblyInfoFileName.Count.ShouldBe(1);
370-
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => PathHelper.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
367+
arguments.UpdateAssemblyInfoFileName.ShouldContain(x => FileSystemHelper.Path.GetFileName(x).Equals("CommonAssemblyInfo.cs"));
371368
}
372369

373370
[Test]
@@ -765,7 +762,7 @@ public void ThrowIfConfigurationFileDoesNotExist(string configFile) =>
765762
[Test]
766763
public void EnsureConfigurationFileIsSet()
767764
{
768-
var configFile = PathHelper.GetTempPath() + Guid.NewGuid() + ".yaml";
765+
var configFile = FileSystemHelper.Path.GetTempPath() + Guid.NewGuid() + ".yaml";
769766
this.fileSystem.File.WriteAllText(configFile, "next-version: 1.0.0");
770767
var arguments = this.argumentParser.ParseArguments($"-config {configFile}");
771768
arguments.ConfigurationFile.ShouldBe(configFile);

src/GitVersion.App.Tests/ExecCmdLineArgumentTest.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ public void CheckBuildServerVerbosityConsole(string verbosityArg, string expecte
5252
[Test]
5353
public void WorkingDirectoryWithoutGitFolderFailsWithInformativeMessage()
5454
{
55-
var result = GitVersionHelper.ExecuteIn(Path.GetTempPath(), null, false);
55+
var workingDirectory = FileSystemHelper.Path.GetTempPathLegacy();
56+
var result = GitVersionHelper.ExecuteIn(workingDirectory, null, false);
5657

5758
result.ExitCode.ShouldNotBe(0);
5859
result.Output.ShouldNotBeNull();
@@ -84,7 +85,7 @@ public void WorkingDirectoryWithoutCommitsFailsWithInformativeMessage()
8485
[Test]
8586
public void WorkingDirectoryDoesNotExistFailsWithInformativeMessage()
8687
{
87-
var workingDirectory = PathHelper.Combine(PathHelper.GetCurrentDirectory(), Guid.NewGuid().ToString("N"));
88+
var workingDirectory = FileSystemHelper.Path.Combine(FileSystemHelper.Path.GetCurrentDirectory(), Guid.NewGuid().ToString("N"));
8889
var executable = ExecutableHelper.GetDotNetExecutable();
8990

9091
var output = new StringBuilder();
@@ -96,7 +97,7 @@ public void WorkingDirectoryDoesNotExistFailsWithInformativeMessage()
9697
null,
9798
executable,
9899
args,
99-
PathHelper.GetCurrentDirectory());
100+
FileSystemHelper.Path.GetCurrentDirectory());
100101

101102
exitCode.ShouldNotBe(0);
102103
var outputString = output.ToString();

src/GitVersion.App.Tests/Helpers/GitVersionHelper.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public static ExecutionResults ExecuteIn(
1313
bool logToFile = true,
1414
params KeyValuePair<string, string?>[] environments)
1515
{
16-
var logFile = workingDirectory is not null && logToFile ? PathHelper.Combine(workingDirectory, "log.txt") : null;
16+
var logFile = workingDirectory is not null && logToFile ? FileSystemHelper.Path.Combine(workingDirectory, "log.txt") : null;
1717
var args = new ArgumentBuilder(workingDirectory, arguments, logFile);
1818
return ExecuteIn(args, environments);
1919
}
@@ -50,7 +50,7 @@ private static ExecutionResults ExecuteIn(ArgumentBuilder arguments,
5050
Console.WriteLine("Executing: {0} {1}", executable, args);
5151
Console.WriteLine();
5252

53-
var workingDirectory = arguments.WorkingDirectory ?? PathHelper.GetCurrentDirectory();
53+
var workingDirectory = arguments.WorkingDirectory ?? FileSystemHelper.Path.GetCurrentDirectory();
5454

5555
exitCode = ProcessHelper.Run(
5656
s => output.AppendLine(s),
@@ -77,12 +77,12 @@ private static ExecutionResults ExecuteIn(ArgumentBuilder arguments,
7777
Console.WriteLine();
7878
Console.WriteLine("-------------------------------------------------------");
7979

80-
if (arguments.LogFile.IsNullOrWhiteSpace() || !File.Exists(arguments.LogFile))
80+
if (arguments.LogFile.IsNullOrWhiteSpace() || !FileSystemHelper.File.Exists(arguments.LogFile))
8181
{
8282
return new(exitCode, output.ToString());
8383
}
8484

85-
var logContents = File.ReadAllText(arguments.LogFile);
85+
var logContents = FileSystemHelper.File.ReadAllText(arguments.LogFile);
8686
Console.WriteLine("Log from gitversion tool");
8787
Console.WriteLine("-------------------------------------------------------");
8888
Console.WriteLine(logContents);

src/GitVersion.App.Tests/JsonOutputOnBuildServerTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ public void BeingOnBuildServerWithOutputJsonAndOutputFileDoesNotFail(string outp
6060
result.OutputVariables.ShouldNotBeNull();
6161
result.OutputVariables.FullSemVer.ShouldBeEquivalentTo(expectedVersion);
6262

63-
var filePath = PathHelper.Combine(fixture.LocalRepositoryFixture.RepositoryPath, fileName);
64-
var json = File.ReadAllText(filePath);
63+
var filePath = FileSystemHelper.Path.Combine(fixture.LocalRepositoryFixture.RepositoryPath, fileName);
64+
var json = FileSystemHelper.File.ReadAllText(filePath);
6565

6666
var outputVariables = json.ToGitVersionVariables();
6767
outputVariables.ShouldNotBeNull();

src/GitVersion.App.Tests/PullRequestInBuildAgentTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public async Task VerifyBitBucketPipelinesPullRequest(string pullRequestRef)
144144
private static async Task VerifyPullRequestVersionIsCalculatedProperly(string pullRequestRef, Dictionary<string, string> env)
145145
{
146146
using var fixture = new EmptyRepositoryFixture();
147-
var remoteRepositoryPath = PathHelper.GetRepositoryTempPath();
147+
var remoteRepositoryPath = FileSystemHelper.Path.GetRepositoryTempPath();
148148
RepositoryFixtureBase.Init(remoteRepositoryPath);
149149
using (var remoteRepository = new Repository(remoteRepositoryPath))
150150
{
@@ -184,7 +184,7 @@ private static async Task VerifyPullRequestVersionIsCalculatedProperly(string pu
184184
result.OutputVariables.FullSemVer.ShouldBe("1.0.4-PullRequest5.3");
185185

186186
// Cleanup repository files
187-
DirectoryHelper.DeleteDirectory(remoteRepositoryPath);
187+
FileSystemHelper.Directory.DeleteDirectory(remoteRepositoryPath);
188188
}
189189

190190
private static readonly object[] PrMergeRefInputs =

src/GitVersion.App.Tests/TagCheckoutInBuildAgentTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public async Task VerifyTagCheckoutOnGitHubActions()
3535
private static async Task VerifyTagCheckoutVersionIsCalculatedProperly(Dictionary<string, string> env)
3636
{
3737
using var fixture = new EmptyRepositoryFixture();
38-
var remoteRepositoryPath = PathHelper.GetRepositoryTempPath();
38+
var remoteRepositoryPath = FileSystemHelper.Path.GetRepositoryTempPath();
3939
RepositoryFixtureBase.Init(remoteRepositoryPath);
4040
using (var remoteRepository = new Repository(remoteRepositoryPath))
4141
{
@@ -66,6 +66,6 @@ private static async Task VerifyTagCheckoutVersionIsCalculatedProperly(Dictionar
6666
result.OutputVariables.FullSemVer.ShouldBe("0.2.0");
6767

6868
// Cleanup repository files
69-
DirectoryHelper.DeleteDirectory(remoteRepositoryPath);
69+
FileSystemHelper.Directory.DeleteDirectory(remoteRepositoryPath);
7070
}
7171
}

src/GitVersion.App.Tests/UpdateWixVersionFileTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public void WixVersionFileCreationTest()
2121
fixture.MakeACommit();
2222

2323
GitVersionHelper.ExecuteIn(fixture.RepositoryPath, arguments: " /updatewixversionfile");
24-
Assert.That(File.Exists(PathHelper.Combine(fixture.RepositoryPath, this.wixVersionFileName)), Is.True);
24+
Assert.That(FileSystemHelper.File.Exists(FileSystemHelper.Path.Combine(fixture.RepositoryPath, this.wixVersionFileName)), Is.True);
2525
}
2626

2727
[Test]
@@ -36,7 +36,7 @@ public void WixVersionFileVarCountTest()
3636

3737
GitVersionHelper.ExecuteIn(fixture.RepositoryPath, arguments: " /updatewixversionfile");
3838

39-
var gitVersionVarsInWix = GetGitVersionVarsInWixFile(PathHelper.Combine(fixture.RepositoryPath, this.wixVersionFileName));
39+
var gitVersionVarsInWix = GetGitVersionVarsInWixFile(FileSystemHelper.Path.Combine(fixture.RepositoryPath, this.wixVersionFileName));
4040
var gitVersionVars = GitVersionVariables.AvailableVariables;
4141

4242
Assert.That(gitVersionVarsInWix, Has.Count.EqualTo(gitVersionVars.Count()));
@@ -55,7 +55,7 @@ public void WixVersionFileContentTest()
5555

5656
GitVersionHelper.ExecuteIn(fixture.RepositoryPath, arguments: " /updatewixversionfile");
5757

58-
var gitVersionVarsInWix = GetGitVersionVarsInWixFile(PathHelper.Combine(fixture.RepositoryPath, this.wixVersionFileName));
58+
var gitVersionVarsInWix = GetGitVersionVarsInWixFile(FileSystemHelper.Path.Combine(fixture.RepositoryPath, this.wixVersionFileName));
5959
var gitVersionVars = GitVersionVariables.AvailableVariables;
6060

6161
foreach (var variable in gitVersionVars)

src/GitVersion.App/ArgumentParser.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.IO.Abstractions;
22
using GitVersion.Agents;
33
using GitVersion.Extensions;
4+
using GitVersion.FileSystemGlobbing;
45
using GitVersion.Helpers;
56
using GitVersion.Logging;
67
using GitVersion.OutputVariables;
@@ -107,14 +108,14 @@ private void ValidateConfigurationFile(Arguments arguments)
107108
{
108109
if (arguments.ConfigurationFile.IsNullOrWhiteSpace()) return;
109110

110-
if (PathHelper.IsPathRooted(arguments.ConfigurationFile))
111+
if (FileSystemHelper.Path.IsPathRooted(arguments.ConfigurationFile))
111112
{
112113
if (!this.fileSystem.File.Exists(arguments.ConfigurationFile)) throw new WarningException($"Could not find config file at '{arguments.ConfigurationFile}'");
113-
arguments.ConfigurationFile = PathHelper.GetFullPath(arguments.ConfigurationFile);
114+
arguments.ConfigurationFile = FileSystemHelper.Path.GetFullPath(arguments.ConfigurationFile);
114115
}
115116
else
116117
{
117-
var configFilePath = PathHelper.GetFullPath(PathHelper.Combine(arguments.TargetPath, arguments.ConfigurationFile));
118+
var configFilePath = FileSystemHelper.Path.GetFullPath(FileSystemHelper.Path.Combine(arguments.TargetPath, arguments.ConfigurationFile));
118119
if (!this.fileSystem.File.Exists(configFilePath)) throw new WarningException($"Could not find config file at '{configFilePath}'");
119120
arguments.ConfigurationFile = configFilePath;
120121
}
@@ -152,11 +153,9 @@ private IEnumerable<string> ResolveFiles(string workingDirectory, ISet<string>?
152153

153154
foreach (var file in assemblyInfoFiles)
154155
{
155-
var paths = this.globbingResolver.Resolve(workingDirectory, file);
156-
157-
foreach (var path in paths)
156+
foreach (var path in this.globbingResolver.Resolve(workingDirectory, file))
158157
{
159-
yield return PathHelper.GetFullPath(PathHelper.Combine(workingDirectory, path));
158+
yield return path;
160159
}
161160
}
162161
}
@@ -182,7 +181,7 @@ private void ParseTargetPath(Arguments arguments, string? name, IReadOnlyList<st
182181
{
183182
if (name?.StartsWith('/') == true)
184183
{
185-
if (PathHelper.DirectorySeparatorChar == '/' && name.IsValidPath())
184+
if (FileSystemHelper.Path.DirectorySeparatorChar == '/' && name.IsValidPath())
186185
{
187186
arguments.TargetPath = name;
188187
return;
@@ -379,7 +378,7 @@ private static void ParseShowVariable(Arguments arguments, string? value, string
379378

380379
if (versionVariable == null)
381380
{
382-
var message = $"{name} requires a valid version variable. Available variables are:{PathHelper.NewLine}" +
381+
var message = $"{name} requires a valid version variable. Available variables are:{FileSystemHelper.Path.NewLine}" +
383382
string.Join(", ", availableVariables.Select(x => string.Concat("'", x, "'")));
384383
throw new WarningException(message);
385384
}

0 commit comments

Comments
 (0)