diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1aba2146..958a95ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,16 +22,16 @@ jobs: uses: actions/checkout@v6 with: fetch-depth: 0 - - name: Setup .NET Core 8.x + - name: Setup .NET SDK uses: actions/setup-dotnet@v5 with: - dotnet-version: 8.x + dotnet-version: 10.x - name: Install dependencies - run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln + run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx - name: Check formatting - run: dotnet format --no-restore --verify-no-changes --severity warn ./Source/EasyNetQ.Management.Client.sln || (echo "Run 'dotnet format' to fix issues" && exit 1) + run: dotnet format --no-restore --verify-no-changes --severity warn ./Source/EasyNetQ.Management.Client.slnx || (echo "Run 'dotnet format' to fix issues" && exit 1) - name: Build - run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release + run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx --configuration Release - name: Approval Tests run: | cd ${{ github.workspace }}/Source/EasyNetQ.Management.Client.ApprovalTests @@ -56,14 +56,14 @@ jobs: uses: actions/checkout@v6 with: fetch-depth: 0 - - name: Setup .NET Core 8.x + - name: Setup .NET SDK uses: actions/setup-dotnet@v5 with: - dotnet-version: 8.x + dotnet-version: 10.x - name: Install dependencies - run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln + run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx - name: Build - run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release + run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx --configuration Release - name: Tests run: | cd ${{ github.workspace }}/Source/EasyNetQ.Management.Client.Tests @@ -82,7 +82,7 @@ jobs: os: [ubuntu-latest] include: - os: ubuntu-latest - framework: net8.0 + framework: net10.0 # - os: windows-latest # framework: net48 fail-fast: true @@ -91,14 +91,14 @@ jobs: uses: actions/checkout@v6 with: fetch-depth: 0 - - name: Setup .NET Core 8.x + - name: Setup .NET SDK uses: actions/setup-dotnet@v5 with: - dotnet-version: 8.x + dotnet-version: 10.x - name: Install dependencies - run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln + run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx - name: Build - run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release + run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx --configuration Release - name: Integration Tests env: RABBITMQ_VERSION: ${{ matrix.rabbitmq }} @@ -116,15 +116,15 @@ jobs: uses: actions/checkout@v6 with: fetch-depth: 0 - - name: Setup .NET Core 8.x + - name: Setup .NET SDK uses: actions/setup-dotnet@v5 with: - dotnet-version: 8.x + dotnet-version: 10.x - name: Install dependencies - run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln + run: dotnet restore ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx - name: Build - run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release + run: dotnet build ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx --configuration Release - name: Pack - run: dotnet pack ${{ github.workspace }}/Source/EasyNetQ.Management.Client.sln --configuration Release --no-build --include-symbols -p:PackageOutputPath="${{ github.workspace }}/Packages" + run: dotnet pack ${{ github.workspace }}/Source/EasyNetQ.Management.Client.slnx --configuration Release --no-build --include-symbols -p:PackageOutputPath="${{ github.workspace }}/Packages" - name: Publish run: dotnet nuget push '${{ github.workspace }}/Packages/*.*' --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_TOKEN }} diff --git a/Source/EasyNetQ.Management.Client.ApprovalTests/EasyNetQ.Management.Client.ApprovalTests.csproj b/Source/EasyNetQ.Management.Client.ApprovalTests/EasyNetQ.Management.Client.ApprovalTests.csproj index b04c46a2..b70482b2 100644 --- a/Source/EasyNetQ.Management.Client.ApprovalTests/EasyNetQ.Management.Client.ApprovalTests.csproj +++ b/Source/EasyNetQ.Management.Client.ApprovalTests/EasyNetQ.Management.Client.ApprovalTests.csproj @@ -1,6 +1,6 @@ - net8.0 + net10.0 latest enable diff --git a/Source/EasyNetQ.Management.Client.IntegrationTests/EasyNetQ.Management.Client.IntegrationTests.csproj b/Source/EasyNetQ.Management.Client.IntegrationTests/EasyNetQ.Management.Client.IntegrationTests.csproj index 733f2bd5..b449fbba 100644 --- a/Source/EasyNetQ.Management.Client.IntegrationTests/EasyNetQ.Management.Client.IntegrationTests.csproj +++ b/Source/EasyNetQ.Management.Client.IntegrationTests/EasyNetQ.Management.Client.IntegrationTests.csproj @@ -1,7 +1,7 @@ - net48;net8.0 + net48;net10.0 latest enable enable diff --git a/Source/EasyNetQ.Management.Client.Tests/EasyNetQ.Management.Client.Tests.csproj b/Source/EasyNetQ.Management.Client.Tests/EasyNetQ.Management.Client.Tests.csproj index c2406ad8..8e94eed9 100644 --- a/Source/EasyNetQ.Management.Client.Tests/EasyNetQ.Management.Client.Tests.csproj +++ b/Source/EasyNetQ.Management.Client.Tests/EasyNetQ.Management.Client.Tests.csproj @@ -1,7 +1,7 @@ - net48;net8.0 + net48;net10.0 latest enable @@ -17,7 +17,7 @@ - + diff --git a/Source/EasyNetQ.Management.Client.sln b/Source/EasyNetQ.Management.Client.sln deleted file mode 100755 index 798d5f3d..00000000 --- a/Source/EasyNetQ.Management.Client.sln +++ /dev/null @@ -1,73 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.2.32526.322 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EasyNetQ.Management.Client", "EasyNetQ.Management.Client\EasyNetQ.Management.Client.csproj", "{7E0EA2CD-2868-4A92-913F-B992045A9FEA}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EasyNetQ.Management.Client.Tests", "EasyNetQ.Management.Client.Tests\EasyNetQ.Management.Client.Tests.csproj", "{F1DB8933-17DF-4FB8-8B02-945C395ACB98}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EasyNetQ.Management.Client.IntegrationTests", "EasyNetQ.Management.Client.IntegrationTests\EasyNetQ.Management.Client.IntegrationTests.csproj", "{66E129EC-56A7-4DB8-AC90-F50AD26A1AA8}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution items", "Solution items", "{A69046CF-3E37-4C7D-B19A-DD79C2938556}" - ProjectSection(SolutionItems) = preProject - ..\.editorconfig = ..\.editorconfig - ..\.gitignore = ..\.gitignore - ..\license.txt = ..\license.txt - ..\README.md = ..\README.md - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workfows", "workfows", "{BA5E3EFC-C305-4CE0-BC7E-F7D0FB3C3A5B}" - ProjectSection(SolutionItems) = preProject - ..\.github\workflows\ci.yml = ..\.github\workflows\ci.yml - ..\.github\workflows\depsreview.yaml = ..\.github\workflows\depsreview.yaml - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{D4B57B8C-6ADC-42CE-BE94-72F8C6CEF2A9}" - ProjectSection(SolutionItems) = preProject - ..\.github\CODEOWNERS = ..\.github\CODEOWNERS - ..\.github\dependabot.yml = ..\.github\dependabot.yml - EndProjectSection -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EasyNetQ.Management.Client.ApprovalTests", "EasyNetQ.Management.Client.ApprovalTests\EasyNetQ.Management.Client.ApprovalTests.csproj", "{6DA052F6-D896-458B-95B4-898E3E8847BD}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EasyNetQ.Management.Client.ExtensionsGenerator", "EasyNetQ.Management.Client.ExtensionsGenerator\EasyNetQ.Management.Client.ExtensionsGenerator.csproj", "{042B7330-1621-41AA-82EF-954E66FF4935}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7E0EA2CD-2868-4A92-913F-B992045A9FEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7E0EA2CD-2868-4A92-913F-B992045A9FEA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7E0EA2CD-2868-4A92-913F-B992045A9FEA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7E0EA2CD-2868-4A92-913F-B992045A9FEA}.Release|Any CPU.Build.0 = Release|Any CPU - {F1DB8933-17DF-4FB8-8B02-945C395ACB98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1DB8933-17DF-4FB8-8B02-945C395ACB98}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1DB8933-17DF-4FB8-8B02-945C395ACB98}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1DB8933-17DF-4FB8-8B02-945C395ACB98}.Release|Any CPU.Build.0 = Release|Any CPU - {66E129EC-56A7-4DB8-AC90-F50AD26A1AA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {66E129EC-56A7-4DB8-AC90-F50AD26A1AA8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66E129EC-56A7-4DB8-AC90-F50AD26A1AA8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {66E129EC-56A7-4DB8-AC90-F50AD26A1AA8}.Release|Any CPU.Build.0 = Release|Any CPU - {6DA052F6-D896-458B-95B4-898E3E8847BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6DA052F6-D896-458B-95B4-898E3E8847BD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6DA052F6-D896-458B-95B4-898E3E8847BD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6DA052F6-D896-458B-95B4-898E3E8847BD}.Release|Any CPU.Build.0 = Release|Any CPU - {042B7330-1621-41AA-82EF-954E66FF4935}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {042B7330-1621-41AA-82EF-954E66FF4935}.Debug|Any CPU.Build.0 = Debug|Any CPU - {042B7330-1621-41AA-82EF-954E66FF4935}.Release|Any CPU.ActiveCfg = Release|Any CPU - {042B7330-1621-41AA-82EF-954E66FF4935}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {BA5E3EFC-C305-4CE0-BC7E-F7D0FB3C3A5B} = {D4B57B8C-6ADC-42CE-BE94-72F8C6CEF2A9} - {D4B57B8C-6ADC-42CE-BE94-72F8C6CEF2A9} = {A69046CF-3E37-4C7D-B19A-DD79C2938556} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {BB98742B-59A5-4586-BE0A-B1901EA19AB0} - EndGlobalSection -EndGlobal diff --git a/Source/EasyNetQ.Management.Client.slnx b/Source/EasyNetQ.Management.Client.slnx new file mode 100644 index 00000000..c8ba17da --- /dev/null +++ b/Source/EasyNetQ.Management.Client.slnx @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/EasyNetQ.Management.Client/EasyNetQ.Management.Client.csproj b/Source/EasyNetQ.Management.Client/EasyNetQ.Management.Client.csproj index c93d7491..0ab830a3 100644 --- a/Source/EasyNetQ.Management.Client/EasyNetQ.Management.Client.csproj +++ b/Source/EasyNetQ.Management.Client/EasyNetQ.Management.Client.csproj @@ -1,7 +1,7 @@ - netstandard2.0;net6.0;net8.0 + netstandard2.0;net8.0 latest enable @@ -47,7 +47,7 @@ - + diff --git a/Source/EasyNetQ.Management.Client/Serialization/JsonNumberEnumConverter.cs b/Source/EasyNetQ.Management.Client/Serialization/JsonNumberEnumConverter.cs deleted file mode 100644 index 004fed77..00000000 --- a/Source/EasyNetQ.Management.Client/Serialization/JsonNumberEnumConverter.cs +++ /dev/null @@ -1,38 +0,0 @@ -#if !NET8_0_OR_GREATER && !NETSTANDARD2_0 - -namespace System.Text.Json.Serialization; - -internal sealed class JsonNumberEnumConverter : JsonConverter where TEnum : struct, Enum -{ - private static readonly TypeCode s_enumTypeCode = Type.GetTypeCode(typeof(TEnum)); - static JsonNumberEnumConverter() - { - switch (s_enumTypeCode) - { - case TypeCode.Int32: break; - default: throw new NotImplementedException($"{typeof(JsonNumberEnumConverter)}: underlying type {s_enumTypeCode} is not supported"); - } - } - - public JsonNumberEnumConverter() { } - - public override TEnum Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) - { - switch (s_enumTypeCode) - { - case TypeCode.Int32: return (TEnum)(object)reader.GetInt32(); - default: throw new NotImplementedException(); - } - } - - public override void Write(Utf8JsonWriter writer, TEnum value, JsonSerializerOptions options) - { - switch (s_enumTypeCode) - { - case TypeCode.Int32: writer.WriteNumberValue((int)(object)value); break; - default: throw new NotImplementedException(); - } - } -} - -#endif