Skip to content

Commit 8f72c67

Browse files
committed
Add NuGet governance: central package management, dynamic copyright, CI/CD, update dependencies
1 parent d8f3de2 commit 8f72c67

9 files changed

Lines changed: 111 additions & 25 deletions

File tree

.github/workflows/ci.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build-and-test:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0 # full history for Nerdbank.GitVersioning
20+
21+
- name: Setup .NET
22+
uses: actions/setup-dotnet@v4
23+
with:
24+
dotnet-version: '10.0.x'
25+
dotnet-quality: 'preview'
26+
27+
- name: Restore
28+
run: dotnet restore
29+
30+
- name: Build
31+
run: dotnet build --no-restore --configuration Release
32+
33+
- name: Test
34+
run: dotnet test --no-build --configuration Release --verbosity normal

Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<ImplicitUsings>enable</ImplicitUsings>
55
<TargetFramework>net10.0</TargetFramework>
6-
<Copyright>Panoramic Data Limited 2025</Copyright>
6+
<Copyright>© Panoramic Data Limited $([System.DateTime]::Now.Year)</Copyright>
77
<Company>Panoramic Data Limited</Company>
88
<Authors>Panoramic Data Limited</Authors>
99
<LangVersion>latest</LangVersion>
@@ -19,7 +19,7 @@
1919

2020
<!-- Nerdbank.GitVersioning -->
2121
<ItemGroup>
22-
<PackageReference Include="Nerdbank.GitVersioning" Version="3.7.115">
22+
<PackageReference Include="Nerdbank.GitVersioning">
2323
<PrivateAssets>all</PrivateAssets>
2424
</PackageReference>
2525
</ItemGroup>

Directory.Packages.props

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<Project>
2+
<PropertyGroup>
3+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4+
</PropertyGroup>
5+
6+
<!-- Shared -->
7+
<ItemGroup>
8+
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.7.115" />
9+
</ItemGroup>
10+
11+
<!-- Main library -->
12+
<ItemGroup>
13+
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.5" />
14+
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
15+
</ItemGroup>
16+
17+
<!-- Test -->
18+
<ItemGroup>
19+
<PackageVersion Include="AwesomeAssertions" Version="9.3.0" />
20+
<PackageVersion Include="AwesomeAssertions.Analyzers" Version="9.0.8" />
21+
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
22+
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
23+
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
24+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0-preview.4.25258.110" />
25+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0-preview.4.25258.110" />
26+
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="10.0.0-preview.4.25258.110" />
27+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
28+
<PackageVersion Include="Moq" Version="4.20.72" />
29+
<PackageVersion Include="xunit.v3" Version="3.2.1" />
30+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
31+
</ItemGroup>
32+
</Project>

PanoramicData.OData.Client.Test/PanoramicData.OData.Client.Test.csproj

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,27 @@
1717
</PropertyGroup>
1818

1919
<ItemGroup>
20-
<PackageReference Include="AwesomeAssertions" Version="9.3.0" />
21-
<PackageReference Include="AwesomeAssertions.Analyzers" Version="9.0.8">
20+
<PackageReference Include="AwesomeAssertions" />
21+
<PackageReference Include="AwesomeAssertions.Analyzers">
2222
<PrivateAssets>all</PrivateAssets>
2323
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2424
</PackageReference>
25-
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
26-
<PackageReference Include="coverlet.collector" Version="6.0.4">
25+
<PackageReference Include="BenchmarkDotNet" />
26+
<PackageReference Include="coverlet.collector">
2727
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2828
<PrivateAssets>all</PrivateAssets>
2929
</PackageReference>
30-
<PackageReference Include="coverlet.msbuild" Version="6.0.4">
30+
<PackageReference Include="coverlet.msbuild">
3131
<PrivateAssets>all</PrivateAssets>
3232
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3333
</PackageReference>
34-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0-preview.4.25258.110" />
35-
<PackageReference Include="Microsoft.Extensions.Logging" Version="10.0.0-preview.4.25258.110" />
36-
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="10.0.0-preview.4.25258.110" />
37-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
38-
<PackageReference Include="Moq" Version="4.20.72" />
39-
<PackageReference Include="xunit.v3" Version="3.2.1" />
40-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
34+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
35+
<PackageReference Include="Microsoft.Extensions.Logging" />
36+
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
37+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
38+
<PackageReference Include="Moq" />
39+
<PackageReference Include="xunit.v3" />
40+
<PackageReference Include="xunit.runner.visualstudio">
4141
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4242
<PrivateAssets>all</PrivateAssets>
4343
</PackageReference>

PanoramicData.OData.Client/ODataAsyncOperation.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,12 @@ public async Task<bool> PollAsync(CancellationToken cancellationToken)
127127
{
128128
var startTime = DateTime.UtcNow;
129129

130-
LoggerMessages.AsyncOperationWaiting(_logger, timeout?.ToString() ?? "indefinite");
130+
if (_logger.IsEnabled(LogLevel.Debug))
131+
{
132+
#pragma warning disable CA1873 // Guarded by IsEnabled check above
133+
LoggerMessages.AsyncOperationWaiting(_logger, timeout?.ToString() ?? "indefinite");
134+
#pragma warning restore CA1873
135+
}
131136

132137
while (!IsCompleted)
133138
{

PanoramicData.OData.Client/ODataClient.CrossJoin.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,13 @@ public partial class ODataClient
1313
/// <returns>A cross-join query builder.</returns>
1414
public ODataCrossJoinBuilder CrossJoin(params string[] entitySets)
1515
{
16-
LoggerMessages.CrossJoinCreating(_logger, string.Join(", ", entitySets));
16+
if (_logger.IsEnabled(LogLevel.Debug))
17+
{
18+
#pragma warning disable CA1873 // Guarded by IsEnabled check above
19+
LoggerMessages.CrossJoinCreating(_logger, string.Join(", ", entitySets));
20+
#pragma warning restore CA1873
21+
}
22+
1723
return new ODataCrossJoinBuilder(entitySets, _logger);
1824
}
1925

PanoramicData.OData.Client/ODataClient.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,10 +197,12 @@ private async Task LogRequestTraceAsync(HttpRequestMessage request, Cancellation
197197
sb.AppendLine(body);
198198
}
199199

200-
LoggerMessages.LogRequestTrace(_logger, sb.ToString());
201-
}
200+
#pragma warning disable CA1873 // Method is already guarded by IsEnabled check at method entry
201+
LoggerMessages.LogRequestTrace(_logger, sb.ToString());
202+
#pragma warning restore CA1873
203+
}
202204

203-
private async Task LogResponseTraceAsync(HttpResponseMessage response, CancellationToken cancellationToken)
205+
private async Task LogResponseTraceAsync(HttpResponseMessage response, CancellationToken cancellationToken)
204206
{
205207
if (!_logger.IsEnabled(LogLevel.Trace))
206208
{
@@ -226,10 +228,12 @@ private async Task LogResponseTraceAsync(HttpResponseMessage response, Cancellat
226228
var body = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
227229
sb.AppendLine(body);
228230

229-
LoggerMessages.LogResponseTrace(_logger, sb.ToString());
230-
}
231+
#pragma warning disable CA1873 // Method is already guarded by IsEnabled check at method entry
232+
LoggerMessages.LogResponseTrace(_logger, sb.ToString());
233+
#pragma warning restore CA1873
234+
}
231235

232-
private static async Task<HttpRequestMessage> CloneRequestAsync(HttpRequestMessage request)
236+
private static async Task<HttpRequestMessage> CloneRequestAsync(HttpRequestMessage request)
233237
{
234238
var clone = new HttpRequestMessage(request.Method, request.RequestUri);
235239

PanoramicData.OData.Client/ODataCrossJoinBuilder.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,12 @@ public string BuildUrl()
160160
sb.Append(string.Join(",", _entitySets));
161161
sb.Append(')');
162162

163-
LoggerMessages.CrossJoinBuilderBuildUrl(_logger, string.Join(",", _entitySets));
163+
if (_logger.IsEnabled(LogLevel.Debug))
164+
{
165+
#pragma warning disable CA1873 // Guarded by IsEnabled check above
166+
LoggerMessages.CrossJoinBuilderBuildUrl(_logger, string.Join(",", _entitySets));
167+
#pragma warning restore CA1873
168+
}
164169

165170
var queryParams = BuildQueryParameters();
166171

PanoramicData.OData.Client/PanoramicData.OData.Client.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@
3535
</ItemGroup>
3636

3737
<ItemGroup>
38-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.1" />
39-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
38+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
39+
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
4040
</ItemGroup>
4141

4242
</Project>

0 commit comments

Comments
 (0)