diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index ff26ca8..032cffa 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -9,17 +9,17 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: | - 6.0.x 8.0.x 9.0.x + 10.0.x - name: Run tests run: dotnet test @@ -36,7 +36,7 @@ jobs: git push origin rolling --force - name: Upload to rolling - uses: ncipollo/release-action@v1.14.0 + uses: ncipollo/release-action@v1.20.0 with: allowUpdates: True artifacts: "*.nupkg,*.snupkg,*.zip" diff --git a/.github/workflows/check_pr.yml b/.github/workflows/check_pr.yml index c9e23ec..cc84d18 100644 --- a/.github/workflows/check_pr.yml +++ b/.github/workflows/check_pr.yml @@ -6,15 +6,15 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: | - 6.0.x 8.0.x 9.0.x + 10.0.x - name: Build run: dotnet build diff --git a/.vscode/launch.json b/.vscode/launch.json index 29bcc25..689cb21 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/Hasher/bin/Debug/net9.0/Hasher.dll", + "program": "${workspaceFolder}/Hasher/bin/Debug/net10.0/Hasher.dll", "args": [], "cwd": "${workspaceFolder}", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console diff --git a/Hasher/Hasher.csproj b/Hasher/Hasher.csproj index 2d36842..168877a 100644 --- a/Hasher/Hasher.csproj +++ b/Hasher/Hasher.csproj @@ -1,7 +1,7 @@ - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0 + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0 Exe false true @@ -24,14 +24,14 @@ win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64 - net6.0;net7.0;net8.0;net9.0 + net6.0;net7.0;net8.0;net9.0;net10.0 - + \ No newline at end of file diff --git a/SabreTools.Hashing.Test/CompressedStreamTests.cs b/SabreTools.Hashing.Test/CompressedStreamTests.cs index 2413b95..382f96b 100644 --- a/SabreTools.Hashing.Test/CompressedStreamTests.cs +++ b/SabreTools.Hashing.Test/CompressedStreamTests.cs @@ -58,4 +58,4 @@ namespace SabreTools.Hashing.Test } } } -} \ No newline at end of file +} diff --git a/SabreTools.Hashing.Test/HashToolTests.cs b/SabreTools.Hashing.Test/HashToolTests.cs index 6c078d3..dd54319 100644 --- a/SabreTools.Hashing.Test/HashToolTests.cs +++ b/SabreTools.Hashing.Test/HashToolTests.cs @@ -20,7 +20,7 @@ namespace SabreTools.Hashing.Test { get { - var values = Enum.GetValues(typeof(HashType)); + var values = Enum.GetValues(); var set = new List(); foreach (var value in values) { @@ -126,4 +126,4 @@ namespace SabreTools.Hashing.Test TestHelper.ValidateHashes(hashDict); } } -} \ No newline at end of file +} diff --git a/SabreTools.Hashing.Test/SabreTools.Hashing.Test.csproj b/SabreTools.Hashing.Test/SabreTools.Hashing.Test.csproj index c05d235..b9b455a 100644 --- a/SabreTools.Hashing.Test/SabreTools.Hashing.Test.csproj +++ b/SabreTools.Hashing.Test/SabreTools.Hashing.Test.csproj @@ -1,7 +1,7 @@ - net8.0;net9.0 + net8.0;net9.0;net10.0 false false latest @@ -24,10 +24,9 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all - - + - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/SabreTools.Hashing.Test/ZeroHashTests.cs b/SabreTools.Hashing.Test/ZeroHashTests.cs index 47b04c6..7a288d6 100644 --- a/SabreTools.Hashing.Test/ZeroHashTests.cs +++ b/SabreTools.Hashing.Test/ZeroHashTests.cs @@ -14,7 +14,7 @@ namespace SabreTools.Hashing.Test { get { - var values = Enum.GetValues(typeof(HashType)); + var values = Enum.GetValues(); var set = new List(); foreach (var value in values) { @@ -46,4 +46,4 @@ namespace SabreTools.Hashing.Test Assert.Equal(expected, actual); } } -} \ No newline at end of file +} diff --git a/SabreTools.Hashing/Checksum/Adler32.cs b/SabreTools.Hashing/Checksum/Adler32.cs index 5d0d642..73467e1 100644 --- a/SabreTools.Hashing/Checksum/Adler32.cs +++ b/SabreTools.Hashing/Checksum/Adler32.cs @@ -3,7 +3,7 @@ using static SabreTools.Hashing.Checksum.Constants; namespace SabreTools.Hashing.Checksum { - /// + /// public class Adler32 : ChecksumBase { /// diff --git a/SabreTools.Hashing/Checksum/Fletcher16.cs b/SabreTools.Hashing/Checksum/Fletcher16.cs index 6684a5c..4460c0f 100644 --- a/SabreTools.Hashing/Checksum/Fletcher16.cs +++ b/SabreTools.Hashing/Checksum/Fletcher16.cs @@ -1,6 +1,6 @@ namespace SabreTools.Hashing.Checksum { - /// + /// public class Fletcher16 : ChecksumBase { /// diff --git a/SabreTools.Hashing/Checksum/Fletcher32.cs b/SabreTools.Hashing/Checksum/Fletcher32.cs index 74ef7b4..1c06f99 100644 --- a/SabreTools.Hashing/Checksum/Fletcher32.cs +++ b/SabreTools.Hashing/Checksum/Fletcher32.cs @@ -2,7 +2,7 @@ using static SabreTools.Hashing.Checksum.Constants; namespace SabreTools.Hashing.Checksum { - /// + /// /// Uses an Adler-32-like implementation instead of the above public class Fletcher32 : ChecksumBase { diff --git a/SabreTools.Hashing/Checksum/MekaCrc.cs b/SabreTools.Hashing/Checksum/MekaCrc.cs index 3145ea3..3dc9bca 100644 --- a/SabreTools.Hashing/Checksum/MekaCrc.cs +++ b/SabreTools.Hashing/Checksum/MekaCrc.cs @@ -2,7 +2,7 @@ using System; namespace SabreTools.Hashing.Checksum { - /// + /// public class MekaCrc : ChecksumBase { /// @@ -43,4 +43,4 @@ namespace SabreTools.Hashing.Checksum _hash = BitConverter.ToUInt64(temp, 0); } } -} \ No newline at end of file +} diff --git a/SabreTools.Hashing/CryptographicHash/MessageDigestBase.cs b/SabreTools.Hashing/CryptographicHash/MessageDigestBase.cs index 7a9b5cd..1ed7373 100644 --- a/SabreTools.Hashing/CryptographicHash/MessageDigestBase.cs +++ b/SabreTools.Hashing/CryptographicHash/MessageDigestBase.cs @@ -10,7 +10,7 @@ namespace SabreTools.Hashing.CryptographicHash protected long _totalBytes; /// - /// Internal byte buffer to accumulate before + /// Internal byte buffer to accumulate before /// protected readonly byte[] _buffer = new byte[64]; diff --git a/SabreTools.Hashing/CryptographicHash/RipeMD128.cs b/SabreTools.Hashing/CryptographicHash/RipeMD128.cs index 9bed617..4bd8e75 100644 --- a/SabreTools.Hashing/CryptographicHash/RipeMD128.cs +++ b/SabreTools.Hashing/CryptographicHash/RipeMD128.cs @@ -132,7 +132,7 @@ namespace SabreTools.Hashing.CryptographicHash /// The official specification for RIPEMD-128 includes tables /// and instructions that represent a loop. Most standard implementations /// use the unrolled version of that loop to make it more efficient. - /// + /// /// The below code started with the looped version but has been converted /// to the more standard implementation instead. /// diff --git a/SabreTools.Hashing/CryptographicHash/RipeMD160.cs b/SabreTools.Hashing/CryptographicHash/RipeMD160.cs index 45fc5ce..cc4f5d2 100644 --- a/SabreTools.Hashing/CryptographicHash/RipeMD160.cs +++ b/SabreTools.Hashing/CryptographicHash/RipeMD160.cs @@ -133,7 +133,7 @@ namespace SabreTools.Hashing.CryptographicHash /// The official specification for RIPEMD-160 includes tables /// and instructions that represent a loop. Most standard implementations /// use the unrolled version of that loop to make it more efficient. - /// + /// /// The below code started with the looped version but has been converted /// to the more standard implementation instead. /// diff --git a/SabreTools.Hashing/CryptographicHash/RipeMD256.cs b/SabreTools.Hashing/CryptographicHash/RipeMD256.cs index e7c5ff1..2b617d8 100644 --- a/SabreTools.Hashing/CryptographicHash/RipeMD256.cs +++ b/SabreTools.Hashing/CryptographicHash/RipeMD256.cs @@ -136,7 +136,7 @@ namespace SabreTools.Hashing.CryptographicHash /// The official specification for RIPEMD-128 includes tables /// and instructions that represent a loop. Most standard implementations /// use the unrolled version of that loop to make it more efficient. - /// + /// /// The below code started with the looped version but has been converted /// to the more standard implementation instead. /// diff --git a/SabreTools.Hashing/CryptographicHash/RipeMD320.cs b/SabreTools.Hashing/CryptographicHash/RipeMD320.cs index e1597ee..8a9df44 100644 --- a/SabreTools.Hashing/CryptographicHash/RipeMD320.cs +++ b/SabreTools.Hashing/CryptographicHash/RipeMD320.cs @@ -138,7 +138,7 @@ namespace SabreTools.Hashing.CryptographicHash /// The official specification for RIPEMD-160 includes tables /// and instructions that represent a loop. Most standard implementations /// use the unrolled version of that loop to make it more efficient. - /// + /// /// The below code started with the looped version but has been converted /// to the more standard implementation instead. /// diff --git a/SabreTools.Hashing/Extensions.cs b/SabreTools.Hashing/Extensions.cs index 162d1f6..3932d72 100644 --- a/SabreTools.Hashing/Extensions.cs +++ b/SabreTools.Hashing/Extensions.cs @@ -442,4 +442,4 @@ namespace SabreTools.Hashing }; } } -} \ No newline at end of file +} diff --git a/SabreTools.Hashing/HashType.cs b/SabreTools.Hashing/HashType.cs index 224e5bd..5449e21 100644 --- a/SabreTools.Hashing/HashType.cs +++ b/SabreTools.Hashing/HashType.cs @@ -133,7 +133,7 @@ namespace SabreTools.Hashing /// /// CRC 8-bit checksum /// - /// Identical to + /// Identical to CRC8, /// @@ -337,7 +337,7 @@ namespace SabreTools.Hashing /// /// CRC 16-bit checksum /// - /// Identical to + /// Identical to CRC16, /// @@ -582,7 +582,7 @@ namespace SabreTools.Hashing /// /// CRC 32-bit checksum /// - /// Identical to + /// Identical to CRC32, /// @@ -661,7 +661,7 @@ namespace SabreTools.Hashing /// /// CRC 64-bit checksum /// - /// Identical to + /// Identical to CRC64, /// @@ -840,7 +840,7 @@ namespace SabreTools.Hashing /// /// SHA3-512 hash /// - SHA3_512, + SHA3_512, /// /// SHAKE128 SHA-3 family hash diff --git a/SabreTools.Hashing/NonCryptographicHash/XxHash32State.cs b/SabreTools.Hashing/NonCryptographicHash/XxHash32State.cs index f1da5ee..8790770 100644 --- a/SabreTools.Hashing/NonCryptographicHash/XxHash32State.cs +++ b/SabreTools.Hashing/NonCryptographicHash/XxHash32State.cs @@ -7,7 +7,7 @@ namespace SabreTools.Hashing.NonCryptographicHash /// /// Structure for xxHash-32 streaming API. /// - /// + /// internal class XxHash32State { /// @@ -137,7 +137,7 @@ namespace SabreTools.Hashing.NonCryptographicHash /// /// Normal stripe processing routine. - /// + /// /// This shuffles the bits so that any bit from impacts /// several bits in . /// @@ -154,7 +154,7 @@ namespace SabreTools.Hashing.NonCryptographicHash /// /// Mixes all bits to finalize the hash. - /// + /// /// The final mix ensures that all input bits have a chance to impact any bit in /// the output digest, resulting in an unbiased distribution. /// @@ -170,7 +170,7 @@ namespace SabreTools.Hashing.NonCryptographicHash /// /// Processes the last 0-15 bytes of @p ptr. - /// + /// /// There may be up to 15 bytes remaining to consume from the input. /// This final stage will digest them to ensure that all input bytes are present /// in the final mix. diff --git a/SabreTools.Hashing/NonCryptographicHash/XxHash64State.cs b/SabreTools.Hashing/NonCryptographicHash/XxHash64State.cs index 358da64..ace5576 100644 --- a/SabreTools.Hashing/NonCryptographicHash/XxHash64State.cs +++ b/SabreTools.Hashing/NonCryptographicHash/XxHash64State.cs @@ -7,7 +7,7 @@ namespace SabreTools.Hashing.NonCryptographicHash /// /// Structure for xxHash-64 streaming API. /// - /// + /// internal class XxHash64State { /// @@ -134,7 +134,7 @@ namespace SabreTools.Hashing.NonCryptographicHash /// /// Normal stripe processing routine. - /// + /// /// This shuffles the bits so that any bit from @p input impacts /// several bits in @p acc. /// @@ -159,7 +159,7 @@ namespace SabreTools.Hashing.NonCryptographicHash /// /// Processes the last 0-31 bytes of @p ptr. - /// + /// /// There may be up to 31 bytes remaining to consume from the input. /// This final stage will digest them to ensure that all input bytes are present /// in the final mix. @@ -202,7 +202,7 @@ namespace SabreTools.Hashing.NonCryptographicHash /// /// Mixes all bits to finalize the hash. - /// + /// /// The final mix ensures that all input bits have a chance to impact any bit in /// the output digest, resulting in an unbiased distribution. /// diff --git a/SabreTools.Hashing/SabreTools.Hashing.csproj b/SabreTools.Hashing/SabreTools.Hashing.csproj index 6688107..0b15ca3 100644 --- a/SabreTools.Hashing/SabreTools.Hashing.csproj +++ b/SabreTools.Hashing/SabreTools.Hashing.csproj @@ -2,7 +2,7 @@ - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;netstandard2.0;netstandard2.1 + net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0;net9.0;net10.0;netstandard2.0;netstandard2.1 false false true @@ -30,8 +30,8 @@ - - + + \ No newline at end of file diff --git a/SabreTools.Hashing/SpamSum/BlockhashContext.cs b/SabreTools.Hashing/SpamSum/BlockhashContext.cs index 4e8a4ba..69d8cf3 100644 --- a/SabreTools.Hashing/SpamSum/BlockhashContext.cs +++ b/SabreTools.Hashing/SpamSum/BlockhashContext.cs @@ -6,7 +6,7 @@ namespace SabreTools.Hashing.SpamSum /// A blockhash contains a signature state for a specific (implicit) blocksize. /// The blocksize is given by /// - /// + /// internal class BlockhashContext { /// @@ -20,7 +20,7 @@ namespace SabreTools.Hashing.SpamSum public byte[] Digest { get; set; } /// - /// Digest value at + /// Digest value at /// public byte HalfDigest { get; set; } diff --git a/SabreTools.Hashing/SpamSum/Comparisons.cs b/SabreTools.Hashing/SpamSum/Comparisons.cs index 8f12674..403f0e1 100644 --- a/SabreTools.Hashing/SpamSum/Comparisons.cs +++ b/SabreTools.Hashing/SpamSum/Comparisons.cs @@ -8,7 +8,7 @@ internal static class Comparisons /// /// Regex to reduce any sequences longer than 3 /// - private static Regex _reduceRegex = new("(.)(?<=\\1\\1\\1\\1)", RegexOptions.Compiled); + private static readonly Regex _reduceRegex = new("(.)(?<=\\1\\1\\1\\1)", RegexOptions.Compiled); /// /// Compares how similar two SpamSums are to each other @@ -17,7 +17,7 @@ internal static class Comparisons /// Second hash to compare /// -1 on validity failure, 0 if they're not comparable, score from 0 (least similar) to 100 (most similar) otherwise. /// Implements ssdeep's fuzzy_compare - /// + /// public static int FuzzyCompare(string? first, string? second) { // If either input is invalid @@ -163,9 +163,13 @@ internal static class Comparisons secondTraverse[secondIndex + 1] = Math.Min(Math.Min(costA, costD), costR); } +#if NETCOREAPP || NETSTANDARD2_0_OR_GREATER + (secondTraverse, firstTraverse) = (firstTraverse, secondTraverse); +#else var tempArray = firstTraverse; firstTraverse = secondTraverse; secondTraverse = tempArray; +#endif } long score = firstTraverse[second.Length]; diff --git a/SabreTools.Hashing/SpamSum/Constants.cs b/SabreTools.Hashing/SpamSum/Constants.cs index 28cd703..fe26bbc 100644 --- a/SabreTools.Hashing/SpamSum/Constants.cs +++ b/SabreTools.Hashing/SpamSum/Constants.cs @@ -2,8 +2,8 @@ using System.Text; namespace SabreTools.Hashing.SpamSum { - /// - /// + /// + /// internal static class Constants { /// diff --git a/SabreTools.Hashing/SpamSum/FuzzyState.cs b/SabreTools.Hashing/SpamSum/FuzzyState.cs index 7c81132..61acc19 100644 --- a/SabreTools.Hashing/SpamSum/FuzzyState.cs +++ b/SabreTools.Hashing/SpamSum/FuzzyState.cs @@ -3,7 +3,7 @@ using static SabreTools.Hashing.SpamSum.Constants; namespace SabreTools.Hashing.SpamSum { - /// + /// internal class FuzzyState { public ulong TotalSize { get; set; } diff --git a/SabreTools.Hashing/SpamSum/RollState.cs b/SabreTools.Hashing/SpamSum/RollState.cs index d95cfa1..f1c4b47 100644 --- a/SabreTools.Hashing/SpamSum/RollState.cs +++ b/SabreTools.Hashing/SpamSum/RollState.cs @@ -2,7 +2,7 @@ using static SabreTools.Hashing.SpamSum.Constants; namespace SabreTools.Hashing.SpamSum { - /// + /// internal class RollState { public byte[] Window { get; set; } @@ -23,10 +23,10 @@ namespace SabreTools.Hashing.SpamSum /// /// A rolling hash, based on the Adler checksum. By using a rolling hash /// we can perform auto resynchronisation after inserts/deletes. - /// + /// /// Internally, H1 is the sum of the bytes in the window and H2 /// is the sum of the bytes times the index. - /// + /// /// H3 is a shift/xor based rolling hash, and is mostly needed to ensure that /// we can cope with large blocksize values. /// diff --git a/SabreTools.Hashing/SpamSum/SpamSum.cs b/SabreTools.Hashing/SpamSum/SpamSum.cs index 1ab3d43..857c116 100644 --- a/SabreTools.Hashing/SpamSum/SpamSum.cs +++ b/SabreTools.Hashing/SpamSum/SpamSum.cs @@ -4,7 +4,7 @@ using static SabreTools.Hashing.SpamSum.Constants; namespace SabreTools.Hashing.SpamSum { - /// + /// public class SpamSum : System.Security.Cryptography.HashAlgorithm { private FuzzyState _state; diff --git a/SabreTools.Hashing/XxHash/Utility.cs b/SabreTools.Hashing/XxHash/Utility.cs index fdac4b0..9e795d7 100644 --- a/SabreTools.Hashing/XxHash/Utility.cs +++ b/SabreTools.Hashing/XxHash/Utility.cs @@ -63,7 +63,7 @@ namespace SabreTools.Hashing.XxHash /// /// Mixes all bits to finalize the hash. - /// + /// /// The final mix ensures that all input bits have a chance to impact any bit in /// the output digest, resulting in an unbiased distribution. /// diff --git a/SabreTools.Hashing/XxHash/XXH3_128State.cs b/SabreTools.Hashing/XxHash/XXH3_128State.cs index 2a7479a..3b992e3 100644 --- a/SabreTools.Hashing/XxHash/XXH3_128State.cs +++ b/SabreTools.Hashing/XxHash/XXH3_128State.cs @@ -8,7 +8,7 @@ namespace SabreTools.Hashing.XxHash /// /// Structure for XXH3 streaming API. /// - /// + /// internal class XXH3_128State { /// @@ -27,7 +27,7 @@ namespace SabreTools.Hashing.XxHash private readonly byte[] _buffer = new byte[Constants.XXH3_INTERNALBUFFER_SIZE]; /// - /// The amount of memory in , + /// The amount of memory in , /// private uint _bufferedSize; diff --git a/SabreTools.Hashing/XxHash/XXH3_64State.cs b/SabreTools.Hashing/XxHash/XXH3_64State.cs index 156b7fa..fef9a6d 100644 --- a/SabreTools.Hashing/XxHash/XXH3_64State.cs +++ b/SabreTools.Hashing/XxHash/XXH3_64State.cs @@ -8,7 +8,7 @@ namespace SabreTools.Hashing.XxHash /// /// Structure for XXH3 streaming API. /// - /// + /// internal class XXH3_64State { /// @@ -27,7 +27,7 @@ namespace SabreTools.Hashing.XxHash private readonly byte[] _buffer = new byte[Constants.XXH3_INTERNALBUFFER_SIZE]; /// - /// The amount of memory in , + /// The amount of memory in , /// private uint _bufferedSize; diff --git a/publish-nix.sh b/publish-nix.sh index 0c83c53..c8c3db9 100755 --- a/publish-nix.sh +++ b/publish-nix.sh @@ -1,7 +1,7 @@ #!/bin/bash # This batch file assumes the following: -# - .NET 9.0 (or newer) SDK is installed and in PATH +# - .NET 10.0 (or newer) SDK is installed and in PATH # - zip is installed and in PATH # - Git is installed and in PATH # @@ -49,18 +49,18 @@ echo " No archive (-a) $NO_ARCHIVE" echo " " # Create the build matrix arrays -FRAMEWORKS=("net9.0") +FRAMEWORKS=("net10.0") RUNTIMES=("win-x86" "win-x64" "win-arm64" "linux-x64" "linux-arm64" "osx-x64" "osx-arm64") # Use expanded lists, if requested if [ $USE_ALL = true ]; then - FRAMEWORKS=("net20" "net35" "net40" "net452" "net462" "net472" "net48" "netcoreapp3.1" "net5.0" "net6.0" "net7.0" "net8.0" "net9.0") + FRAMEWORKS=("net20" "net35" "net40" "net452" "net462" "net472" "net48" "netcoreapp3.1" "net5.0" "net6.0" "net7.0" "net8.0" "net9.0" "net10.0") fi # Create the filter arrays -SINGLE_FILE_CAPABLE=("net5.0" "net6.0" "net7.0" "net8.0" "net9.0") -VALID_APPLE_FRAMEWORKS=("net6.0" "net7.0" "net8.0" "net9.0") -VALID_CROSS_PLATFORM_FRAMEWORKS=("netcoreapp3.1" "net5.0" "net6.0" "net7.0" "net8.0" "net9.0") +SINGLE_FILE_CAPABLE=("net5.0" "net6.0" "net7.0" "net8.0" "net9.0" "net10.0") +VALID_APPLE_FRAMEWORKS=("net6.0" "net7.0" "net8.0" "net9.0" "net10.0") +VALID_CROSS_PLATFORM_FRAMEWORKS=("netcoreapp3.1" "net5.0" "net6.0" "net7.0" "net8.0" "net9.0" "net10.0") VALID_CROSS_PLATFORM_RUNTIMES=("win-arm64" "linux-x64" "linux-arm64" "osx-x64" "osx-arm64") # Only build if requested diff --git a/publish-win.ps1 b/publish-win.ps1 index 7ac94a2..4cdef42 100644 --- a/publish-win.ps1 +++ b/publish-win.ps1 @@ -1,5 +1,5 @@ # This batch file assumes the following: -# - .NET 9.0 (or newer) SDK is installed and in PATH +# - .NET 10.0 (or newer) SDK is installed and in PATH # # If any of these are not satisfied, the operation may fail # in an unpredictable way and result in an incomplete output. @@ -38,18 +38,18 @@ Write-Host " No archive (-NoArchive) $NO_ARCHIVE" Write-Host " " # Create the build matrix arrays -$FRAMEWORKS = @('net9.0') +$FRAMEWORKS = @('net10.0') $RUNTIMES = @('win-x86', 'win-x64', 'win-arm64', 'linux-x64', 'linux-arm64', 'osx-x64', 'osx-arm64') # Use expanded lists, if requested if ($USE_ALL.IsPresent) { - $FRAMEWORKS = @('net20', 'net35', 'net40', 'net452', 'net462', 'net472', 'net48', 'netcoreapp3.1', 'net5.0', 'net6.0', 'net7.0', 'net8.0', 'net9.0') + $FRAMEWORKS = @('net20', 'net35', 'net40', 'net452', 'net462', 'net472', 'net48', 'netcoreapp3.1', 'net5.0', 'net6.0', 'net7.0', 'net8.0', 'net9.0', 'net10.0') } # Create the filter arrays -$SINGLE_FILE_CAPABLE = @('net5.0', 'net6.0', 'net7.0', 'net8.0', 'net9.0') -$VALID_APPLE_FRAMEWORKS = @('net6.0', 'net7.0', 'net8.0', 'net9.0') -$VALID_CROSS_PLATFORM_FRAMEWORKS = @('netcoreapp3.1', 'net5.0', 'net6.0', 'net7.0', 'net8.0', 'net9.0') +$SINGLE_FILE_CAPABLE = @('net5.0', 'net6.0', 'net7.0', 'net8.0', 'net9.0', 'net10.0') +$VALID_APPLE_FRAMEWORKS = @('net6.0', 'net7.0', 'net8.0', 'net9.0', 'net10.0') +$VALID_CROSS_PLATFORM_FRAMEWORKS = @('netcoreapp3.1', 'net5.0', 'net6.0', 'net7.0', 'net8.0', 'net9.0', 'net10.0') $VALID_CROSS_PLATFORM_RUNTIMES = @('win-arm64', 'linux-x64', 'linux-arm64', 'osx-x64', 'osx-arm64') # Only build if requested