Skip to content

Commit eb6890e

Browse files
Move all class to internal and DI (#39)
1 parent 2747fcb commit eb6890e

12 files changed

Lines changed: 41 additions & 25 deletions

File tree

src/Directory.Build.props

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
<Project>
22

3-
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
3+
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
44

5-
<PropertyGroup>
6-
<Authors>Julian Verdurmen</Authors>
7-
<Product>JulianVerdurmen.SlnxValidator</Product>
8-
<Deterministic>true</Deterministic>
9-
<ContinuousIntegrationBuild Condition="'$(GITHUB_ACTIONS)' == 'true'">true</ContinuousIntegrationBuild>
10-
<IsPackable>false</IsPackable>
11-
<PackageLicenseExpression>MIT</PackageLicenseExpression>
12-
<RepositoryUrl>https://github.com/304NotModified/SLNX-validator</RepositoryUrl>
13-
</PropertyGroup>
5+
<PropertyGroup>
6+
<Authors>Julian Verdurmen</Authors>
7+
<Product>JulianVerdurmen.SlnxValidator</Product>
8+
<Deterministic>true</Deterministic>
9+
<ContinuousIntegrationBuild Condition="'$(GITHUB_ACTIONS)' == 'true'">true</ContinuousIntegrationBuild>
10+
<IsPackable>false</IsPackable>
11+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
12+
<RepositoryUrl>https://github.com/304NotModified/SLNX-validator</RepositoryUrl>
13+
</PropertyGroup>
14+
<ItemGroup>
15+
<InternalsVisibleTo Include="$(MSBuildProjectName).Tests" />
16+
</ItemGroup>
1417

1518
</Project>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace JulianVerdurmen.SlnxValidator.Core.FileSystem
2+
{
3+
public interface ISlnxFileResolver
4+
{
5+
IReadOnlyList<string> Resolve(string input);
6+
}
7+
}

src/SLNX-validator.Core/FileSystem/SlnxFileResolver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
namespace JulianVerdurmen.SlnxValidator.Core.FileSystem;
22

3-
public sealed class SlnxFileResolver(IFileSystem fileSystem)
3+
internal sealed class SlnxFileResolver(IFileSystem fileSystem) : ISlnxFileResolver
44
{
55
/// <summary>
66
/// Resolves one or more .slnx file paths from the given input.

src/SLNX-validator.Core/ServiceCollectionExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ public static IServiceCollection AddSlnxValidator(this IServiceCollection servic
1313
services.AddSingleton<ISonarReporter, SonarReporter>();
1414
services.AddSingleton<ISlnxXsdProvider, SlnxXsdProvider>();
1515
services.AddSingleton<IXsdValidator, XsdValidator>();
16-
services.AddSingleton<Validation.SlnxValidator>();
17-
services.AddSingleton<SlnxFileResolver>();
16+
services.AddSingleton<ISlnxValidator, Validation.SlnxValidator>();
17+
services.AddSingleton<ISlnxFileResolver, SlnxFileResolver>();
1818
return services;
1919
}
2020
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using JulianVerdurmen.SlnxValidator.Core.ValidationResults;
2+
3+
namespace JulianVerdurmen.SlnxValidator.Core.Validation;
4+
5+
public interface ISlnxValidator
6+
{
7+
Task<ValidationResult> ValidateAsync(string slnxContent, string slnxDirectory, CancellationToken cancellationToken = default);
8+
}

src/SLNX-validator.Core/Validation/SlnxValidator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace JulianVerdurmen.SlnxValidator.Core.Validation;
77

8-
public sealed class SlnxValidator(IFileSystem fileSystem, IXsdValidator xsdValidator)
8+
internal sealed class SlnxValidator(IFileSystem fileSystem, IXsdValidator xsdValidator) : ISlnxValidator
99
{
1010
/// <summary>
1111
/// Validates a .slnx file against the XSD schema and checks that all referenced files exist on disk.

src/SLNX-validator.Core/Validation/SlnxXsdProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace JulianVerdurmen.SlnxValidator.Core.Validation;
44

5-
public sealed class SlnxXsdProvider : ISlnxXsdProvider
5+
internal sealed class SlnxXsdProvider : ISlnxXsdProvider
66
{
77
// Source: https://github.com/microsoft/vs-solutionpersistence/blob/main/src/Microsoft.VisualStudio.SolutionPersistence/Serializer/Xml/Slnx.xsd
88
private const string XsdResourceName = "JulianVerdurmen.SlnxValidator.Slnx.xsd";

src/SLNX-validator.Core/Validation/XsdValidator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace JulianVerdurmen.SlnxValidator.Core.Validation;
66

7-
public sealed class XsdValidator(ISlnxXsdProvider xsdProvider) : IXsdValidator
7+
internal sealed class XsdValidator(ISlnxXsdProvider xsdProvider) : IXsdValidator
88
{
99
public async Task ValidateAsync(string slnxContent, ValidationResult result, CancellationToken cancellationToken)
1010
{

src/SLNX-validator/ValidationCollector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
using JulianVerdurmen.SlnxValidator.Core.FileSystem;
2+
using JulianVerdurmen.SlnxValidator.Core.Validation;
23
using JulianVerdurmen.SlnxValidator.Core.ValidationResults;
3-
using CoreSlnxValidator = JulianVerdurmen.SlnxValidator.Core.Validation.SlnxValidator;
44

55
namespace JulianVerdurmen.SlnxValidator;
66

7-
internal sealed class ValidationCollector(IFileSystem fileSystem, CoreSlnxValidator validator)
7+
internal sealed class ValidationCollector(IFileSystem fileSystem, ISlnxValidator validator)
88
{
99
public async Task<IReadOnlyList<FileValidationResult>> CollectAsync(IReadOnlyList<string> files, CancellationToken cancellationToken)
1010
{

src/SLNX-validator/ValidatorRunner.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace JulianVerdurmen.SlnxValidator;
66

7-
internal sealed class ValidatorRunner(SlnxFileResolver resolver, ValidationCollector collector, ISonarReporter sonarReporter)
7+
internal sealed class ValidatorRunner(ISlnxFileResolver resolver, ValidationCollector collector, ISonarReporter sonarReporter)
88
{
99
public async Task<int> RunAsync(string input, string? sonarqubeReportPath, bool continueOnError, CancellationToken cancellationToken)
1010
{

0 commit comments

Comments
 (0)