Skip to content

Commit 9deb3cc

Browse files
authored
Update the project (#201)
1 parent 84ac29e commit 9deb3cc

File tree

261 files changed

+5230
-4148
lines changed

Some content is hidden

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

261 files changed

+5230
-4148
lines changed

.github/workflows/action.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Main workflow
1+
name: "Main workflow"
22

33
on: [push, pull_request]
44

@@ -29,6 +29,10 @@ jobs:
2929
uses: actions/setup-dotnet@v3
3030
with:
3131
dotnet-version: "7.0.x"
32+
- name: Setup dotnet 8.0.x
33+
uses: actions/setup-dotnet@v3
34+
with:
35+
dotnet-version: "8.0.x"
3236
- name: restore
3337
run: dotnet restore
3438

@@ -42,7 +46,7 @@ jobs:
4246
runs-on: ubuntu-latest
4347
strategy:
4448
matrix:
45-
targetFramework: [net6.0, net7.0]
49+
targetFramework: [net6.0, net7.0, net8.0]
4650

4751
include:
4852
- targetFramework: net6.0
@@ -51,6 +55,9 @@ jobs:
5155
- targetFramework: net7.0
5256
dotnetVersion: "7.0.x"
5357

58+
- targetFramework: net8.0
59+
dotnetVersion: "8.0.x"
60+
5461
steps:
5562
- uses: actions/checkout@v3
5663
- name: Setup dotnet ${{ matrix.dotnetVersion }}

.github/workflows/assets/overwritePackageInformation.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
"Version": "3.13.3",
55
"License": "MIT"
66
},
7+
{
8+
"Id": "NUnit",
9+
"Version": "3.14.0",
10+
"License": "MIT"
11+
},
712
{
813
"Id": "NetArchTest.Rules",
914
"Version": "1.3.2",
@@ -19,6 +24,11 @@
1924
"Version": "17.5.0",
2025
"License": "MIT"
2126
},
27+
{
28+
"Id": "Microsoft.TestPlatform.TestHost",
29+
"Version": "17.8.0",
30+
"License": "MIT"
31+
},
2232
{
2333
"Id": "Microsoft.TestPlatform.ObjectModel",
2434
"Version": "17.4.0",
@@ -29,6 +39,11 @@
2939
"Version": "17.5.0",
3040
"License": "MIT"
3141
},
42+
{
43+
"Id": "Microsoft.TestPlatform.ObjectModel",
44+
"Version": "17.8.0",
45+
"License": "MIT"
46+
},
3247
{
3348
"Id": "Microsoft.NET.Test.Sdk",
3449
"Version": "17.4.0",
@@ -39,6 +54,11 @@
3954
"Version": "17.5.0",
4055
"License": "MIT"
4156
},
57+
{
58+
"Id": "Microsoft.NET.Test.Sdk",
59+
"Version": "17.8.0",
60+
"License": "MIT"
61+
},
4262
{
4363
"Id": "Microsoft.CodeCoverage",
4464
"Version": "17.4.0",
@@ -49,6 +69,11 @@
4969
"Version": "17.5.0",
5070
"License": "MIT"
5171
},
72+
{
73+
"Id": "Microsoft.CodeCoverage",
74+
"Version": "17.8.0",
75+
"License": "MIT"
76+
},
5277
{
5378
"Id": "Fare",
5479
"Version": "2.1.1",

.github/workflows/release.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ jobs:
2020
uses: actions/setup-dotnet@v3
2121
with:
2222
dotnet-version: "7.0.x"
23+
- name: Setup dotnet 8.0.x
24+
uses: actions/setup-dotnet@v3
25+
with:
26+
dotnet-version: "8.0.x"
2327
env:
2428
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
2529

@@ -39,6 +43,8 @@ jobs:
3943
run: dotnet publish ./src/NuGetUtility/NuGetUtility.csproj -c Release --no-restore -o ./artifacts/net6 -f net6.0 -p:Version=${{ steps.version.outputs.full_without_prefix }}
4044
- name: Publish the application binaries (.net7)
4145
run: dotnet publish ./src/NuGetUtility/NuGetUtility.csproj -c Release --no-restore -o ./artifacts/net7 -f net7.0 -p:Version=${{ steps.version.outputs.full_without_prefix }}
46+
- name: Publish the application binaries (.net8)
47+
run: dotnet publish ./src/NuGetUtility/NuGetUtility.csproj -c Release --no-restore -o ./artifacts/net8 -f net8.0 -p:Version=${{ steps.version.outputs.full_without_prefix }}
4248
- name: Create nuget package
4349
run: dotnet pack ./src/NuGetUtility/NuGetUtility.csproj -c Release --no-build -o ./artifacts -p:Version=${{ steps.version.outputs.full_without_prefix }}
4450

src/NuGetUtility/LicenseValidator/LicenseInformationOrigin.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,31 @@
22
{
33
public enum LicenseInformationOrigin
44
{
5+
/// <summary>
6+
/// The license information was provided by the package maintainer using a license expression
7+
/// </summary>
58
Expression,
9+
10+
/// <summary>
11+
/// The license information was provided by the package maintainer using a license url
12+
/// that was then matched against a set of known license url's
13+
/// </summary>
614
Url,
15+
16+
/// <summary>
17+
/// The license has an unknown origin. This is always used in conjunction with a licensing error
18+
/// which will give more information
19+
/// </summary>
720
Unknown,
8-
Ignored
21+
22+
/// <summary>
23+
/// The license for this package was ignored via the ignore list provided
24+
/// </summary>
25+
Ignored,
26+
27+
/// <summary>
28+
/// The license for this package was given by a custom override
29+
/// </summary>
30+
Overwrite
931
}
1032
}

src/NuGetUtility/LicenseValidator/LicenseValidator.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public async Task<IEnumerable<LicenseValidationResult>> Validate(
5959

6060
private bool IsIgnoredPackage(PackageIdentity identity)
6161
{
62-
return _ignoredPackages.Any(ignored => identity.Id.Like(ignored));
62+
return Array.Exists(_ignoredPackages, ignored => identity.Id.Like(ignored));
6363
}
6464

6565
private void AddOrUpdateLicense(
@@ -123,19 +123,20 @@ private void ValidateLicenseByMetadata(IPackageMetadata info,
123123
switch (info.LicenseMetadata!.Type)
124124
{
125125
case LicenseType.Expression:
126+
case LicenseType.Overwrite:
126127
string licenseId = info.LicenseMetadata!.License;
127128
if (IsLicenseValid(licenseId))
128129
{
129130
AddOrUpdateLicense(result,
130131
info,
131-
LicenseInformationOrigin.Expression,
132+
ToLicenseOrigin(info.LicenseMetadata.Type),
132133
info.LicenseMetadata.License);
133134
}
134135
else
135136
{
136137
AddOrUpdateLicense(result,
137138
info,
138-
LicenseInformationOrigin.Expression,
139+
ToLicenseOrigin(info.LicenseMetadata.Type),
139140
new ValidationError(GetLicenseNotAllowedMessage(info.LicenseMetadata.License), context),
140141
info.LicenseMetadata.License);
141142
}
@@ -227,6 +228,13 @@ private string GetLicenseNotAllowedMessage(string license)
227228
return $"License {license} not found in list of supported licenses";
228229
}
229230

230-
private record LicenseNameAndVersion(string LicenseName, INuGetVersion Version);
231+
private LicenseInformationOrigin ToLicenseOrigin(LicenseType type) => type switch
232+
{
233+
LicenseType.Overwrite => LicenseInformationOrigin.Overwrite,
234+
LicenseType.Expression => LicenseInformationOrigin.Expression,
235+
_ => throw new ArgumentOutOfRangeException(nameof(type), type, $"This conversion method only supports the {nameof(LicenseType.Overwrite)} and {nameof(LicenseType.Expression)} types for conversion")
236+
};
237+
238+
private sealed record LicenseNameAndVersion(string LicenseName, INuGetVersion Version);
231239
}
232240
}

src/NuGetUtility/NuGetUtility.csproj

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
5+
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
66
<IsPackable>true</IsPackable>
77
<PackAsTool>true</PackAsTool>
88
<PackageType>DotnetTool</PackageType>
@@ -24,18 +24,23 @@
2424
</PropertyGroup>
2525

2626
<ItemGroup>
27-
<PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="4.0.2" />
28-
<PackageReference Include="Microsoft.Build.Locator" Version="1.5.5" />
29-
<PackageReference Include="NuGet.Commands" Version="6.5.0" />
30-
<PackageReference Include="NuGet.Packaging" Version="6.5.0" />
27+
<PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="4.1.0" />
28+
<PackageReference Include="Microsoft.Build.Locator" Version="1.6.10" />
29+
<PackageReference Include="NuGet.Commands" Version="6.8.0" />
30+
<PackageReference Include="NuGet.Packaging" Version="6.8.0" />
31+
<PackageReference Include="System.Text.Json" Version="8.0.0" />
3132
</ItemGroup>
3233

3334
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
34-
<PackageReference Include="Microsoft.Build" ExcludeAssets="runtime" Version="17.3.2" />
35+
<PackageReference Include="Microsoft.Build" ExcludeAssets="runtime" Version="17.3.*" />
3536
</ItemGroup>
3637

3738
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
38-
<PackageReference Include="Microsoft.Build" ExcludeAssets="runtime" Version="17.5.0" />
39+
<PackageReference Include="Microsoft.Build" ExcludeAssets="runtime" Version="17.6.*" />
40+
</ItemGroup>
41+
42+
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
43+
<PackageReference Include="Microsoft.Build" ExcludeAssets="runtime" Version="17.8.*" />
3944
</ItemGroup>
4045

4146
<ItemGroup>

src/NuGetUtility/PackageInformationReader/PackageInformationReader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ private PackageSearchResult TryGetPackageInfoFromCustomInformation(PackageIdenti
9292
return new PackageSearchResult();
9393
}
9494

95-
return new PackageSearchResult(new PackageMetadata(package, resolvedCustomInformation.License));
95+
return new PackageSearchResult(new PackageMetadata(package, resolvedCustomInformation.License, LicenseType.Overwrite));
9696
}
9797

9898
private static async Task<IPackageMetadataResource?> TryGetPackageMetadataResource(ISourceRepository repository)

src/NuGetUtility/PackageInformationReader/PackageMetadata.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ public PackageMetadata(PackageIdentity identity)
1010
Identity = identity;
1111
}
1212

13-
public PackageMetadata(PackageIdentity identity, string licenseType)
13+
public PackageMetadata(PackageIdentity identity, string licenseIdentifier, LicenseType licenseType)
1414
{
1515
Identity = identity;
16-
LicenseMetadata = new LicenseMetadata(LicenseType.Expression, licenseType);
16+
LicenseMetadata = new LicenseMetadata(licenseType, licenseIdentifier);
1717
}
1818

1919
public PackageIdentity Identity { get; }

src/NuGetUtility/Wrapper/MsBuildWrapper/MsBuildAbstraction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public IProject GetProject(string projectPath)
5454

5555
public IEnumerable<string> GetProjectsFromSolution(string inputPath)
5656
{
57-
string absolutePath = Path.GetFullPath(inputPath, Environment.CurrentDirectory);
57+
string absolutePath = Path.GetFullPath(inputPath, Environment.CurrentDirectory);
5858
var sln = SolutionFile.Parse(absolutePath);
5959
return sln.ProjectsInOrder.Select(p => p.AbsolutePath);
6060
}
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
namespace NuGetUtility.Wrapper.NuGetWrapper.Frameworks
22
{
3-
public interface INuGetFramework { }
3+
public interface INuGetFramework
4+
{
5+
string? ToString();
6+
}
47
}

src/NuGetUtility/Wrapper/NuGetWrapper/Packaging/LicenseType.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace NuGetUtility.Wrapper.NuGetWrapper.Packaging
33
public enum LicenseType
44
{
55
File,
6-
Expression
6+
Expression,
7+
Overwrite
78
}
89
}

src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/Core/Types/CachingPackageMetadataResource.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public CachingPackageMetadataResource(PackageMetadataResource metadataResource,
2323
{
2424
try
2525
{
26-
IPackageSearchMetadata result = await _metadataResource.GetMetadataAsync(new NuGet.Packaging.Core.PackageIdentity(identity.Id, new NuGetVersion(identity.Version.ToString())),
26+
IPackageSearchMetadata result = await _metadataResource.GetMetadataAsync(new NuGet.Packaging.Core.PackageIdentity(identity.Id, new NuGetVersion(identity.Version.ToString()!)),
2727
_cacheContext,
2828
new NullLogger(),
2929
cancellationToken);
@@ -35,9 +35,9 @@ public CachingPackageMetadataResource(PackageMetadataResource metadataResource,
3535
}
3636
}
3737

38-
private class WrappedPackageSearchMetadata : IPackageMetadata
38+
private sealed class WrappedPackageSearchMetadata : IPackageMetadata
3939
{
40-
private IPackageSearchMetadata _searchMetadata;
40+
private readonly IPackageSearchMetadata _searchMetadata;
4141

4242
public WrappedPackageSearchMetadata(IPackageSearchMetadata searchMetadata)
4343
{

src/NuGetUtility/Wrapper/NuGetWrapper/Protocol/GlobalPackagesFolderUtility.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public GlobalPackagesFolderUtility(ISettings settings)
2020

2121
public IWrappedPackageMetadata? GetPackage(PackageIdentity identity)
2222
{
23-
DownloadResourceResult cachedPackage = OriginalGlobalPackagesFolderUtility.GetPackage(new OriginalPackageIdentity(identity.Id, new NuGetVersion(identity.Version.ToString())), _globalPackagesFolder);
23+
DownloadResourceResult cachedPackage = OriginalGlobalPackagesFolderUtility.GetPackage(new OriginalPackageIdentity(identity.Id, new NuGetVersion(identity.Version.ToString()!)), _globalPackagesFolder);
2424
if (cachedPackage == null)
2525
{
2626
return null;

0 commit comments

Comments
 (0)