From 8320dba8e47d6973e7b1859a45602f31fcb5ebd6 Mon Sep 17 00:00:00 2001 From: Albert Ho Date: Wed, 11 Sep 2024 14:14:05 -0700 Subject: [PATCH] add support for .NET 8 --- .github/workflows/dotnet-codestyle.yml | 14 ++++++- .github/workflows/dotnet-demos.yml | 38 +++++++++++++++++-- binding/dotnet/Porcupine/Porcupine.csproj | 15 +++++++- binding/dotnet/Porcupine/Utils.cs | 2 - .../dotnet/PorcupineTest/PorcupineTest.csproj | 2 +- binding/dotnet/README.md | 2 +- .../dotnet-vui/AvaloniaVUI/AvaloniaVUI.csproj | 4 +- .../dotnet/PorcupineDemo/PorcupineDemo.csproj | 4 +- demo/dotnet/README.md | 2 +- 9 files changed, 66 insertions(+), 17 deletions(-) diff --git a/.github/workflows/dotnet-codestyle.yml b/.github/workflows/dotnet-codestyle.yml index 4ce38d95b..3706359ee 100644 --- a/.github/workflows/dotnet-codestyle.yml +++ b/.github/workflows/dotnet-codestyle.yml @@ -24,15 +24,25 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up .NET 6.0 + - name: Set up .NET 8.0 uses: actions/setup-dotnet@v3 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Run Binding Codestyle run: dotnet format --verify-no-changes working-directory: binding/dotnet + # ************** REMOVE AFTER RELEASE ******************** + - name: Pack .NET SDK + run: dotnet pack -c Release + working-directory: binding/dotnet + + - name: Add local NuGet package file + run: dotnet add package -s ../../../binding/dotnet/Porcupine/bin/Release Porcupine + working-directory: demo/dotnet/PorcupineDemo + # ******************************************************** + - name: Run Demo Codestyle run: dotnet format --verify-no-changes working-directory: demo/dotnet diff --git a/.github/workflows/dotnet-demos.yml b/.github/workflows/dotnet-demos.yml index 91f5dbec6..07e0d6cc8 100644 --- a/.github/workflows/dotnet-demos.yml +++ b/.github/workflows/dotnet-demos.yml @@ -34,10 +34,20 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up .NET 6.0 + - name: Set up .NET 8.0 uses: actions/setup-dotnet@v3 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x + + # ************** REMOVE AFTER RELEASE ******************** + - name: Pack .NET SDK + run: dotnet pack -c Release + working-directory: binding/dotnet + + - name: Add local NuGet package file + continue-on-error: true + run: dotnet add package -s ../../../binding/dotnet/Porcupine/bin/Release Porcupine + # ******************************************************** - name: Package restore run: dotnet restore @@ -61,6 +71,16 @@ jobs: steps: - uses: actions/checkout@v3 + # ************** REMOVE AFTER RELEASE ******************** + - name: Pack .NET SDK + run: dotnet pack -c Release + working-directory: binding/dotnet + + - name: Add local NuGet package file + continue-on-error: true + run: dotnet add package -s ../../../binding/dotnet/Porcupine/bin/Release Porcupine + # ******************************************************** + - name: Package restore run: dotnet restore @@ -86,10 +106,20 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up .NET 6.0 + - name: Set up .NET 8.0 uses: actions/setup-dotnet@v3 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x + + # ************** REMOVE AFTER RELEASE ******************** + - name: Pack .NET SDK + run: dotnet pack -c Release + working-directory: binding/dotnet + + - name: Add local NuGet package file + continue-on-error: true + run: dotnet add package -s ../../../binding/dotnet/Porcupine/bin/Release Porcupine + # ******************************************************** - name: Package restore run: dotnet restore diff --git a/binding/dotnet/Porcupine/Porcupine.csproj b/binding/dotnet/Porcupine/Porcupine.csproj index 61b273748..d9b0a126c 100644 --- a/binding/dotnet/Porcupine/Porcupine.csproj +++ b/binding/dotnet/Porcupine/Porcupine.csproj @@ -1,8 +1,8 @@  - net6.0;netcoreapp3.0;netstandard2.0 - 3.0.3 + net8.0;net6.0;netcoreapp3.0;netstandard2.0 + 3.0.4 Picovoice Porcupine Wake Word Engine @@ -39,6 +39,7 @@ build/netcoreapp3.0/Porcupine.targets; build/net6.0/Porcupine.targets; + build/net8.0/Porcupine.targets; PreserveNewest @@ -51,6 +52,7 @@ build/netstandard2.0/libpv_porcupine.dll; build/netcoreapp3.0/lib/windows/amd64/libpv_porcupine.dll; build/net6.0/lib/windows/amd64/libpv_porcupine.dll; + build/net8.0/lib/windows/amd64/libpv_porcupine.dll; PreserveNewest lib\windows\amd64\libpv_porcupine.dll @@ -61,6 +63,7 @@ build/netstandard2.0/libpv_porcupine.so; build/netcoreapp3.0/lib/linux/x86_64/libpv_porcupine.so; build/net6.0/lib/linux/x86_64/libpv_porcupine.so; + build/net8.0/lib/linux/x86_64/libpv_porcupine.so; PreserveNewest lib\linux\x86_64\libpv_porcupine.so @@ -71,6 +74,7 @@ build/netstandard2.0/libpv_porcupine.dylib; build/netcoreapp3.0/lib/mac/x86_64/libpv_porcupine.dylib; build/net6.0/lib/mac/x86_64/libpv_porcupine.dylib; + build/net8.0/lib/mac/x86_64/libpv_porcupine.dylib; PreserveNewest lib\mac\x86_64\libpv_porcupine.dylib @@ -84,6 +88,7 @@ build/netcoreapp3.0/lib/raspberry-pi; build/net6.0/lib/raspberry-pi; + build/net8.0/lib/raspberry-pi; PreserveNewest lib\raspberry-pi\%(RecursiveDir)%(Filename)%(Extension) @@ -96,6 +101,7 @@ build/net6.0/lib/mac/arm64/libpv_porcupine.dylib; + build/net8.0/lib/mac/arm64/libpv_porcupine.dylib; PreserveNewest lib\mac\arm64\libpv_porcupine.dylib @@ -123,6 +129,7 @@ build/netstandard2.0/resources/keyword_files/windows; build/netcoreapp3.0/resources/keyword_files/windows; build/net6.0/resources/keyword_files/windows; + build/net8.0/resources/keyword_files/windows; resources\keyword_files\windows\%(Filename)%(Extension) PreserveNewest @@ -145,6 +152,7 @@ build/netstandard2.0/resources/keyword_files/mac; build/netcoreapp3.0/resources/keyword_files/mac; build/net6.0/resources/keyword_files/mac; + build/net8.0/resources/keyword_files/mac; resources\keyword_files\mac\%(Filename)%(Extension) PreserveNewest @@ -167,6 +175,7 @@ build/netstandard2.0/resources/keyword_files/linux; build/netcoreapp3.0/resources/keyword_files/linux; build/net6.0/resources/keyword_files/linux; + build/net8.0/resources/keyword_files/linux; resources\keyword_files\linux\%(Filename)%(Extension) PreserveNewest @@ -189,6 +198,7 @@ build/netstandard2.0/resources/keyword_files/raspberry-pi; build/netcoreapp3.0/resources/keyword_files/raspberry-pi; build/net6.0/resources/keyword_files/raspberry-pi; + build/net8.0/resources/keyword_files/raspberry-pi; resources\keyword_files\raspberry-pi\%(Filename)%(Extension) PreserveNewest @@ -198,6 +208,7 @@ build/netstandard2.0/lib/common/porcupine_params.pv; build/netcoreapp3.0/lib/common/porcupine_params.pv; build/net6.0/lib/common/porcupine_params.pv; + build/net8.0/lib/common/porcupine_params.pv; lib\common\porcupine_params.pv PreserveNewest diff --git a/binding/dotnet/Porcupine/Utils.cs b/binding/dotnet/Porcupine/Utils.cs index a6ef56862..f5f3fcb4a 100644 --- a/binding/dotnet/Porcupine/Utils.cs +++ b/binding/dotnet/Porcupine/Utils.cs @@ -88,10 +88,8 @@ public static string PvLinuxMachine() switch (cpuPart) { case "0xd03": return "cortex-a53" + archInfo; - case "0xd07": return "cortex-a57" + archInfo; case "0xd08": return "cortex-a72" + archInfo; case "0xd0b": return "cortex-a76" + archInfo; - case "0xc08": return ""; default: throw new PlatformNotSupportedException($"This device (CPU part = {cpuPart}) is not supported by Picovoice."); } diff --git a/binding/dotnet/PorcupineTest/PorcupineTest.csproj b/binding/dotnet/PorcupineTest/PorcupineTest.csproj index 54c354991..9ef74c886 100644 --- a/binding/dotnet/PorcupineTest/PorcupineTest.csproj +++ b/binding/dotnet/PorcupineTest/PorcupineTest.csproj @@ -1,7 +1,7 @@  - net6.0;net5.0;netcoreapp3.1;netcoreapp3.0;netcoreapp2.1; + net8.0;net6.0;net5.0;netcoreapp3.1;netcoreapp3.0;netcoreapp2.1; false diff --git a/binding/dotnet/README.md b/binding/dotnet/README.md index 7ea646977..a1d7cd444 100644 --- a/binding/dotnet/README.md +++ b/binding/dotnet/README.md @@ -16,7 +16,7 @@ Porcupine is: ## Requirements -- .NET 6.0 +- .NET 8.0 ## Compatibility diff --git a/demo/dotnet-vui/AvaloniaVUI/AvaloniaVUI.csproj b/demo/dotnet-vui/AvaloniaVUI/AvaloniaVUI.csproj index f70fb5fd8..88b6d52f9 100644 --- a/demo/dotnet-vui/AvaloniaVUI/AvaloniaVUI.csproj +++ b/demo/dotnet-vui/AvaloniaVUI/AvaloniaVUI.csproj @@ -1,7 +1,7 @@ WinExe - net6.0 + net8.0 @@ -17,6 +17,6 @@ - + diff --git a/demo/dotnet/PorcupineDemo/PorcupineDemo.csproj b/demo/dotnet/PorcupineDemo/PorcupineDemo.csproj index a85494071..cad33a31e 100644 --- a/demo/dotnet/PorcupineDemo/PorcupineDemo.csproj +++ b/demo/dotnet/PorcupineDemo/PorcupineDemo.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net8.0 FileDemo.Debug;FileDemo.Release;MicDemo.Debug;MicDemo.Release @@ -19,7 +19,7 @@ - + diff --git a/demo/dotnet/README.md b/demo/dotnet/README.md index 46873b462..f43ea991c 100644 --- a/demo/dotnet/README.md +++ b/demo/dotnet/README.md @@ -18,7 +18,7 @@ Porcupine is: ## Requirements -- .NET 6.0 +- .NET 8.0 ## Compatibility