Skip to content

Commit ffe1832

Browse files
[ACL-228] Add Net9/Net8 support (#226)
1 parent efbf3aa commit ffe1832

Some content is hidden

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

59 files changed

+193
-370
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"cake.tool": {
6-
"version": "1.3.0",
6+
"version": "5.0.0",
77
"commands": [
88
"dotnet-cake"
99
]

.github/workflows/build.yml

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,17 @@ on:
1414

1515
jobs:
1616
build:
17-
runs-on: ubuntu-22.04
17+
runs-on: ubuntu-24.04
1818
steps:
19-
- uses: actions/checkout@v2
19+
- uses: actions/checkout@v4
20+
- name: Setup .NET 9.0
21+
uses: actions/setup-dotnet@v2
2022
with:
21-
fetch-depth: 0
22-
- name: Setup Java
23-
uses: actions/setup-java@v1
24-
with:
25-
java-version: 11.0.x
26-
- name: Setup .NET 6.0
27-
uses: actions/setup-dotnet@v1
28-
with:
29-
dotnet-version: 6.0.x
30-
- name: Setup .NET 3.1
31-
uses: actions/setup-dotnet@v1
32-
with:
33-
dotnet-version: 3.1.x
34-
- name: Setup .NET 2.0
35-
uses: actions/setup-dotnet@v1
36-
with:
37-
dotnet-version: 2.x.x
23+
dotnet-version: 9.0.x
3824
- name: Restore tools
3925
run: dotnet tool restore
4026
- name: Run the build script
41-
uses: cake-build/cake-action@v1
27+
uses: cake-build/cake-action@v2
4228
env:
4329
COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }}
4430
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
@@ -47,7 +33,7 @@ jobs:
4733
TrueLayer__ClientSecret: ${{ secrets.TRUELAYER__CLIENTSECRET }}
4834
TrueLayer__Payments__SigningKey__KeyId: ${{ secrets.TRUELAYER__PAYMENTS__SIGNINGKEY__KEYID }}
4935
with:
50-
cake-version: 1.3.0
36+
cake-version: 5.0.0
5137
target: CI
5238
verbosity: ${{ github.event.inputs.verbosity }}
5339
- name: Upload pre-release packages

.github/workflows/publish.yml

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,31 +20,17 @@ on:
2020
default: 'false'
2121
jobs:
2222
publish:
23-
runs-on: ubuntu-22.04
23+
runs-on: ubuntu-24.04
2424
steps:
25-
- uses: actions/checkout@v2
25+
- uses: actions/checkout@v4
26+
- name: Setup .NET 9.0
27+
uses: actions/setup-dotnet@v2
2628
with:
27-
fetch-depth: 0
28-
- name: Setup Java
29-
uses: actions/setup-java@v1
30-
with:
31-
java-version: 11.0.x
32-
- name: Setup .NET 6.0
33-
uses: actions/setup-dotnet@v1
34-
with:
35-
dotnet-version: 6.0.x
36-
- name: Setup .NET 3.1
37-
uses: actions/setup-dotnet@v1
38-
with:
39-
dotnet-version: 3.1.x
40-
- name: Setup .NET 2.0
41-
uses: actions/setup-dotnet@v1
42-
with:
43-
dotnet-version: 2.x.x
29+
dotnet-version: 9.0.x
4430
- name: Restore tools
4531
run: dotnet tool restore
4632
- name: Run the build script
47-
uses: cake-build/cake-action@v1
33+
uses: cake-build/cake-action@v2
4834
env:
4935
COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }}
5036
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
@@ -58,7 +44,7 @@ jobs:
5844
TrueLayer__ClientSecret: ${{ secrets.TRUELAYER__CLIENTSECRET }}
5945
TrueLayer__Payments__SigningKey__KeyId: ${{ secrets.TRUELAYER__PAYMENTS__SIGNINGKEY__KEYID }}
6046
with:
61-
cake-version: 1.3.0
47+
cake-version: 5.0.0
6248
target: ${{ github.event.inputs.target || 'Publish' }}
6349
verbosity: ${{ github.event.inputs.verbosity || 'Normal' }}
6450
arguments: |

build.cake

Lines changed: 17 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
// Install .NET Core Global tools.
2-
#tool "dotnet:?package=dotnet-reportgenerator-globaltool&version=5.0.0"
3-
#tool "dotnet:?package=coveralls.net&version=3.0.0"
4-
#tool "dotnet:?package=dotnet-sonarscanner&version=5.4.0"
5-
#tool nuget:?package=docfx.console&version=2.58.9
6-
#tool nuget:?package=KuduSync.NET&version=1.5.3
2+
#tool "dotnet:?package=dotnet-reportgenerator-globaltool&version=5.4.1"
3+
#tool "dotnet:?package=coveralls.net&version=4.0.1"
4+
#tool "dotnet:?package=dotnet-sonarscanner&version=9.0.2"
5+
#tool nuget:?package=KuduSync.NET&version=1.5.4
76

87
// Install addins
9-
#addin nuget:?package=Cake.Coverlet&version=2.5.4
10-
#addin nuget:?package=Cake.Sonar&version=1.1.26
11-
#addin nuget:?package=Cake.DocFx&version=1.0.0
12-
#addin nuget:?package=Cake.Git&version=1.1.0
13-
#addin nuget:?package=Cake.Kudu&version=1.3.0
8+
#addin nuget:?package=Cake.Coverlet&version=4.0.1
9+
#addin nuget:?package=Cake.Sonar&version=1.1.33
10+
#addin nuget:?package=Cake.Git&version=4.0.0
11+
#addin nuget:?package=Cake.Kudu&version=3.0.0
1412

1513
#r "System.Text.Json"
1614
#r "System.IO"
@@ -83,15 +81,15 @@ Task("SonarBegin")
8381
Url = "https://sonarcloud.io",
8482
Exclusions = "test/**,examples/**",
8583
OpenCoverReportsPath = $"{coveragePath}/*.xml",
86-
Login = sonarToken,
84+
Token = sonarToken,
8785
VsTestReportsPath = $"{artifactsPath}/*.TestResults.xml",
8886
});
8987
});
9088

9189
Task("Build")
9290
.Does(() =>
9391
{
94-
DotNetCoreBuild("TrueLayer.sln", new DotNetCoreBuildSettings
92+
DotNetBuild("TrueLayer.sln", new DotNetBuildSettings
9593
{
9694
Configuration = configuration
9795
});
@@ -104,7 +102,7 @@ Task("Test")
104102
{
105103
var projectName = project.GetFilenameWithoutExtension();
106104

107-
var testSettings = new DotNetCoreTestSettings
105+
var testSettings = new DotNetTestSettings
108106
{
109107
NoBuild = true,
110108
Configuration = configuration,
@@ -122,15 +120,15 @@ Task("Test")
122120
//Threshold = coverageThreshold
123121
};
124122

125-
DotNetCoreTest(project.ToString(), testSettings, coverletSettings);
123+
DotNetTest(project.ToString(), testSettings, coverletSettings);
126124
}
127125
});
128126

129127

130128
Task("Pack")
131129
.Does(() =>
132130
{
133-
var settings = new DotNetCorePackSettings
131+
var settings = new DotNetPackSettings
134132
{
135133
Configuration = configuration,
136134
OutputDirectory = artifactsPath,
@@ -139,7 +137,7 @@ Task("Pack")
139137

140138
foreach (var file in GetFiles(packFiles))
141139
{
142-
DotNetCorePack(file.ToString(), settings);
140+
DotNetPack(file.ToString(), settings);
143141
}
144142
});
145143

@@ -202,7 +200,7 @@ Task("PublishPackages")
202200
{
203201
foreach(var package in GetFiles(packages))
204202
{
205-
DotNetCoreNuGetPush(package.ToString(), new DotNetCoreNuGetPushSettings {
203+
DotNetNuGetPush(package.ToString(), new DotNetNuGetPushSettings {
206204
ApiKey = BuildContext.NugetApiKey,
207205
Source = BuildContext.NugetApiUrl,
208206
SkipDuplicate = true
@@ -216,86 +214,18 @@ Task("SonarEnd")
216214
{
217215
SonarEnd(new SonarEndSettings
218216
{
219-
Login = sonarToken
217+
Token = sonarToken
220218
});
221219
});
222220

223-
Task("BuildDocs")
224-
.Does(() =>
225-
{
226-
Information("Extracting API Metadata");
227-
DocFxMetadata(docFxConfig);
228-
229-
Information("Building Docs");
230-
DocFxBuild(docFxConfig);
231-
});
232-
233-
Task("ServeDocs")
234-
.IsDependentOn("BuildDocs")
235-
.Does(() =>
236-
{
237-
using (var process = DocFxServeStart(sitePath))
238-
{
239-
// Launch browser or other action based on the site
240-
process.WaitForExit();
241-
}
242-
});
243-
244-
Task("PublishDocs")
245-
.IsDependentOn("BuildDocs")
246-
.WithCriteria(!string.IsNullOrEmpty(gitHubPagesToken))// && currentBranch.FriendlyName == "main")
247-
.Does(() =>
248-
{
249-
// Get the current commit
250-
var sourceCommit = currentBranch.Tip;
251-
var publishFolder = $"./artifacts/docs-publish-{DateTime.Now.ToString("yyyyMMdd_HHmmss")}";
252-
Information("Publishing Folder: {0}", publishFolder);
253-
Information("Getting publish branch...");
254-
GitClone("https://github.com/TrueLayer/truelayer-dotnet.git",
255-
publishFolder,
256-
gitHubUser,
257-
gitHubPagesToken,
258-
new GitCloneSettings { BranchName = "gh-pages" }
259-
);
260-
261-
Information("Sync output files...");
262-
263-
Kudu.Sync(sitePath, publishFolder, new KuduSyncSettings {
264-
ArgumentCustomization = args => args.Append("--ignore").AppendQuoted(".git;CNAME")
265-
});
266-
267-
if (GitHasUncommitedChanges(publishFolder))
268-
{
269-
GitAddAll(publishFolder);
270-
Information("Stage all changes...");
271-
272-
// Only considers modified files - https://github.com/cake-contrib/Cake_Git/issues/77
273-
if (BuildContext.ForcePushDocs || GitHasStagedChanges(publishFolder))
274-
{
275-
Information("Commit all changes...");
276-
GitCommit(
277-
publishFolder,
278-
sourceCommit.Committer.Name,
279-
sourceCommit.Committer.Email,
280-
string.Format("Continuous Integration Publish: {0}\r\n{1}", sourceCommit.Sha, sourceCommit.Message)
281-
);
282-
283-
Information("Pushing all changes...");
284-
285-
GitPush(publishFolder, gitHubUser, gitHubPagesToken, "gh-pages");
286-
}
287-
}
288-
});
289-
290221
Task("Dump").Does(() => BuildContext.PrintParameters(Context));
291222

292223
Task("Default")
293224
.IsDependentOn("Clean")
294225
.IsDependentOn("Build")
295226
.IsDependentOn("Test")
296227
.IsDependentOn("Pack")
297-
.IsDependentOn("GenerateReports")
298-
.IsDependentOn("BuildDocs");
228+
.IsDependentOn("GenerateReports");
299229

300230
Task("CI")
301231
//.IsDependentOn("SonarBegin")
@@ -306,11 +236,9 @@ Task("CI")
306236
Task("Publish")
307237
.IsDependentOn("CI")
308238
.IsDependentOn("PublishPackages");
309-
//.IsDependentOn("PublishDocs");
310239

311240
RunTarget(target);
312241

313-
314242
public static class BuildContext
315243
{
316244
public static bool IsTag { get; private set; }

examples/MvcExample/Controllers/HomeController.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ public async Task<IActionResult> Donate(DonateModel donateModel)
3838
return View("Index");
3939
}
4040

41-
OneOf<Provider.UserSelected, Provider.Preselected> filter = donateModel.UserPreSelectedFilter
42-
? new Provider.Preselected("mock-payments-gb-redirect", "faster_payments_service")
41+
OneOf<Provider.UserSelected, Provider.Preselected> providerSelection = donateModel.UserPreSelectedFilter
42+
? new Provider.Preselected(providerId: "mock-payments-gb-redirect", schemeSelection: new SchemeSelection.Preselected { SchemeId = "faster_payments_service"})
4343
: new Provider.UserSelected();
4444

4545
var paymentRequest = new CreatePaymentRequest(
4646
donateModel.AmountInMajor.ToMinorCurrencyUnit(2),
4747
Currencies.GBP,
4848
new PaymentMethod.BankTransfer(
49-
filter,
49+
providerSelection,
5050
new Beneficiary.ExternalAccount(
5151
"TrueLayer",
5252
"truelayer-dotnet",
@@ -142,10 +142,10 @@ void SetProviderAndSchemeId(OneOf<PaymentMethod.BankTransfer, PaymentMethod.Mand
142142

143143
return apiResponse.Data.Match(
144144
authRequired => Failed(authRequired.Status, authRequired.PaymentMethod),
145-
authorizing => SuccessOrPending(authorizing),
146-
authorized => SuccessOrPending(authorized),
147-
success => SuccessOrPending(success),
148-
settled => SuccessOrPending(settled),
145+
SuccessOrPending,
146+
SuccessOrPending,
147+
SuccessOrPending,
148+
SuccessOrPending,
149149
failed => Failed(failed.Status, failed.PaymentMethod),
150150
attemptFailed => Failed(attemptFailed.Status, attemptFailed.PaymentMethod)
151151
);

examples/MvcExample/Models/ErrorViewModel.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
using System;
2-
31
namespace MvcExample.Models
42
{
53
public class ErrorViewModel

examples/MvcExample/MvcExample.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "6.0.100",
3+
"version": "9.0.100",
44
"rollForward": "latestMinor"
55
}
66
}

src/Directory.Build.props

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<WarningsAsErrors>nullable;</WarningsAsErrors>
77
</PropertyGroup>
88
<ItemGroup>
9-
<PackageReference Include="SecurityCodeScan.VS2019" Version="5.0.0" PrivateAssets="all" />
10-
<PackageReference Include="MinVer" Version="2.4.0" PrivateAssets="All" />
9+
<PackageReference Include="MinVer" Version="6.0.0" PrivateAssets="All" />
1110
</ItemGroup>
1211
</Project>

src/TrueLayer/ApiResponseOfT.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System;
21
using System.Diagnostics.CodeAnalysis;
32
using System.Net;
43

0 commit comments

Comments
 (0)