You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2022/11/21 08:53:20 UTC

[lucenenet] branch master updated (1a05007ed -> 73aa0fbda)

This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git


    from 1a05007ed SWEEP: Reviewed to ensure we are consistently using Arrays.Fill() instead of the (slower) Array.Clear() method or a for loop (ouch).
     new e4f6f8d73 Added net7.0 tests and retargeted lucene-cli to net6.0 and net7.0.
     new 7bdc262b4 Fixed a couple of minor issues for net7.0 that were causing test failures. These were basically bug fixes that weren't accounted for by our tests.
     new b1b0e03b4 azure-pipelines.yml: Added tests for net7.0
     new 34c79d72b .github/workflows/Generate-TestWorkflows.ps1: Replaced net6.0 tests with net7.0 tests
     new a0adfae5a runbuild.ps1: Updated .NET SDK version
     new b423f2b1f Lucene.Net.Tests.Store.TestRAMDirectory: Fixed teardown to retry file deletion if they are locked by another process.
     new b6cd6c0d0 .build/runbuild.ps1: Print the SYSTEM_DEFAULTWORKINGDIRECTORY environment variable for debugging purposes
     new 73aa0fbda README.md, lucene-cli/docs/index.md: Updated prerequisites for lucene-cli and for building, which now requires Visual Studio 2022 and .NET 7 SDK.

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../publish-test-results-for-test-projects.yml     | 18 ++----
 .build/azure-templates/run-tests-on-os.yml         |  8 +++
 .build/runbuild.ps1                                |  5 +-
 .github/workflows/Generate-TestWorkflows.ps1       | 23 ++++++--
 .github/workflows/Lucene-Net-Tests-AllProjects.yml | 10 +++-
 .../workflows/Lucene-Net-Tests-Analysis-Common.yml | 10 +++-
 .../Lucene-Net-Tests-Analysis-Kuromoji.yml         | 10 +++-
 .../Lucene-Net-Tests-Analysis-Morfologik.yml       | 10 +++-
 .../Lucene-Net-Tests-Analysis-OpenNLP.yml          |  8 ++-
 .../Lucene-Net-Tests-Analysis-Phonetic.yml         | 10 +++-
 .../Lucene-Net-Tests-Analysis-SmartCn.yml          | 10 +++-
 .../Lucene-Net-Tests-Analysis-Stempel.yml          | 10 +++-
 .github/workflows/Lucene-Net-Tests-Benchmark.yml   | 10 +++-
 .../workflows/Lucene-Net-Tests-Classification.yml  | 10 +++-
 .github/workflows/Lucene-Net-Tests-Cli.yml         | 10 +++-
 .../workflows/Lucene-Net-Tests-CodeAnalysis.yml    |  8 ++-
 .github/workflows/Lucene-Net-Tests-Codecs.yml      | 10 +++-
 .github/workflows/Lucene-Net-Tests-Demo.yml        | 10 +++-
 .github/workflows/Lucene-Net-Tests-Expressions.yml | 10 +++-
 .github/workflows/Lucene-Net-Tests-Facet.yml       | 10 +++-
 .github/workflows/Lucene-Net-Tests-Grouping.yml    | 10 +++-
 .github/workflows/Lucene-Net-Tests-Highlighter.yml | 10 +++-
 .github/workflows/Lucene-Net-Tests-ICU.yml         | 10 +++-
 .github/workflows/Lucene-Net-Tests-Join.yml        | 10 +++-
 .github/workflows/Lucene-Net-Tests-Memory.yml      | 10 +++-
 .github/workflows/Lucene-Net-Tests-Misc.yml        | 10 +++-
 .github/workflows/Lucene-Net-Tests-Queries.yml     | 10 +++-
 .github/workflows/Lucene-Net-Tests-QueryParser.yml | 10 +++-
 .github/workflows/Lucene-Net-Tests-Replicator.yml  | 10 +++-
 .github/workflows/Lucene-Net-Tests-Sandbox.yml     | 10 +++-
 .github/workflows/Lucene-Net-Tests-Spatial.yml     | 10 +++-
 .github/workflows/Lucene-Net-Tests-Suggest.yml     | 10 +++-
 ...Net-Tests-TestFramework-DependencyInjection.yml | 10 +++-
 .../workflows/Lucene-Net-Tests-TestFramework.yml   | 10 +++-
 .github/workflows/Lucene-Net-Tests-_A-D.yml        | 10 +++-
 .github/workflows/Lucene-Net-Tests-_E-I.yml        | 10 +++-
 .github/workflows/Lucene-Net-Tests-_I-J.yml        | 10 +++-
 .github/workflows/Lucene-Net-Tests-_J-S.yml        | 10 +++-
 .github/workflows/Lucene-Net-Tests-_T-Z.yml        | 10 +++-
 Directory.Build.targets                            | 26 ++++----
 README.md                                          | 12 ++--
 TestTargetFramework.props                          |  5 +-
 azure-pipelines.yml                                | 69 +++++++++++++++++++++-
 .../Lucene.Net.Benchmark.csproj                    | 17 +-----
 .../ExceptionHandling/ExceptionScanningTestCase.cs |  1 +
 .../JS/TestCustomFunctions.cs                      |  7 ++-
 .../Flexible/Standard/TestNumericQueryParser.cs    |  2 +-
 src/Lucene.Net.Tests/Store/TestRAMDirectory.cs     | 32 +++++++++-
 src/Lucene.Net/Lucene.Net.csproj                   |  9 ---
 .../Lucene.Net.Tests.CodeAnalysis.csproj           |  3 +
 .../Lucene.Net.Tests.Cli.csproj                    |  8 +--
 src/dotnet/tools/lucene-cli/docs/index.md          |  2 +-
 src/dotnet/tools/lucene-cli/lucene-cli.csproj      |  5 +-
 53 files changed, 452 insertions(+), 146 deletions(-)


[lucenenet] 03/08: azure-pipelines.yml: Added tests for net7.0

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit b1b0e03b48aee5b95737c8dcf77fe72b01a3b247
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Nov 19 15:11:16 2022 +0700

    azure-pipelines.yml: Added tests for net7.0
---
 .../publish-test-results-for-test-projects.yml     | 18 ++----
 .build/azure-templates/run-tests-on-os.yml         |  8 +++
 azure-pipelines.yml                                | 69 +++++++++++++++++++++-
 3 files changed, 80 insertions(+), 15 deletions(-)

diff --git a/.build/azure-templates/publish-test-results-for-test-projects.yml b/.build/azure-templates/publish-test-results-for-test-projects.yml
index 2f54790df..7ee98b752 100644
--- a/.build/azure-templates/publish-test-results-for-test-projects.yml
+++ b/.build/azure-templates/publish-test-results-for-test-projects.yml
@@ -70,7 +70,7 @@ steps:
 #  displayName: 'Validate Template Parameters'
 
 
-# Special case: Only supports .NET Standard 2.0
+# Special case: Only supports .NET Standard 1.3
 - template: publish-test-results.yml
   parameters:
     testProjectName: 'Lucene.Net.Tests.CodeAnalysis'
@@ -81,21 +81,11 @@ steps:
     testResultsArtifactName: '${{ parameters.testResultsArtifactName }}'
     testResultsFileName: '${{ parameters.testResultsFileName }}'
 
-# Special case: Only supports net6.0, net5.0, and netcoreapp3.1
+# Special case: Only supports net7.0 and net6.0
 - template: publish-test-results.yml
   parameters:
     testProjectName: 'Lucene.Net.Tests.Cli'
-    framework: 'net6.0' # Since condtions are not supported for templates, we check for the file existence within publish-test-results.yml
-    vsTestPlatform: '${{ parameters.vsTestPlatform }}'
-    osName: '${{ parameters.osName }}'
-    testResultsFormat: '${{ parameters.testResultsFormat }}'
-    testResultsArtifactName: '${{ parameters.testResultsArtifactName }}'
-    testResultsFileName: '${{ parameters.testResultsFileName }}'
-
-- template: publish-test-results.yml
-  parameters:
-    testProjectName: 'Lucene.Net.Tests.Cli'
-    framework: 'net5.0' # Since condtions are not supported for templates, we check for the file existence within publish-test-results.yml
+    framework: 'net7.0' # Since condtions are not supported for templates, we check for the file existence within publish-test-results.yml
     vsTestPlatform: '${{ parameters.vsTestPlatform }}'
     osName: '${{ parameters.osName }}'
     testResultsFormat: '${{ parameters.testResultsFormat }}'
@@ -105,7 +95,7 @@ steps:
 - template: publish-test-results.yml
   parameters:
     testProjectName: 'Lucene.Net.Tests.Cli'
-    framework: 'netcoreapp3.1' # Since condtions are not supported for templates, we check for the file existence within publish-test-results.yml
+    framework: 'net6.0' # Since condtions are not supported for templates, we check for the file existence within publish-test-results.yml
     vsTestPlatform: '${{ parameters.vsTestPlatform }}'
     osName: '${{ parameters.osName }}'
     testResultsFormat: '${{ parameters.testResultsFormat }}'
diff --git a/.build/azure-templates/run-tests-on-os.yml b/.build/azure-templates/run-tests-on-os.yml
index 9250f0bee..146a79835 100644
--- a/.build/azure-templates/run-tests-on-os.yml
+++ b/.build/azure-templates/run-tests-on-os.yml
@@ -104,6 +104,14 @@ steps:
     performMultiLevelLookup: '${{ variables.PerformMultiLevelLookup }}'
   condition: and(succeeded(), contains('${{ parameters.framework }}', 'net5.'))
 
+- task: UseDotNet@2
+  displayName: 'Use .NET sdk 6.0.403'
+  inputs:
+    packageType: 'sdk'
+    version: '5.0.403'
+    performMultiLevelLookup: '${{ variables.PerformMultiLevelLookup }}'
+  condition: and(succeeded(), contains('${{ parameters.framework }}', 'net6.'))
+
 #- template: 'show-all-files.yml' # Uncomment for debugging
 - pwsh: |
     $framework = '${{ parameters.framework }}'
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 3f3341dbf..513b30aca 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -55,7 +55,7 @@ variables:
 - name: BuildCounter
   value: $[counter(variables['VersionSuffix'],coalesce(variables['BuildCounterSeed'], 1250))]
 - name: DotNetSDKVersion
-  value: '6.0.100'
+  value: '7.0.100'
 - name: DocumentationArtifactName
   value: 'docs'
 - name: DocumentationArtifactZipFileName
@@ -229,6 +229,13 @@ stages:
         publishLocation: 'pipeline'
       condition: and(succeeded(), ne(variables['ArtifactFeedID'], ''))
 
+    - template: '.build/azure-templates/publish-test-binaries.yml'
+      parameters:
+        publishDirectory: $(PublishTempDirectory)
+        framework: 'net7.0'
+        binaryArtifactName: '$(BinaryArtifactName)'
+        testSettingsFilePath: '$(Build.ArtifactStagingDirectory)/$(TestSettingsFileName)'
+
     - template: '.build/azure-templates/publish-test-binaries.yml'
       parameters:
         publishDirectory: $(PublishTempDirectory)
@@ -318,6 +325,66 @@ stages:
   displayName: 'Test Stage:'
   jobs:
 
+  - job: Test_net7_0_x64
+    condition: and(succeeded(), ne(variables['RunTests'], 'false'))
+    strategy:
+      matrix:
+        Windows:
+          osName: 'Windows'
+          imageName: 'windows-latest'
+          maximumParallelJobs: 8
+          maximumAllowedFailures: 0 # Maximum allowed failures for a successful build
+        Linux:
+          osName: 'Linux'
+          imageName: 'ubuntu-latest'
+          maximumParallelJobs: 7
+          maximumAllowedFailures: 0 # Maximum allowed failures for a successful build
+        macOS:
+          osName: 'macOS'
+          imageName: 'macOS-latest'
+          maximumParallelJobs: 7
+          maximumAllowedFailures: 0 # Maximum allowed failures for a successful build
+    displayName: 'Test net7.0,x64 on'
+    pool:
+      vmImage: $(imageName)
+    steps:
+    - template: '.build/azure-templates/run-tests-on-os.yml'
+      parameters:
+        osName: $(osName)
+        framework: 'net7.0'
+        vsTestPlatform: 'x64'
+        testBinariesArtifactName: '$(TestBinariesArtifactName)'
+        nugetArtifactName: '$(NuGetArtifactName)'
+        testResultsArtifactName: '$(TestResultsArtifactName)'
+        maximumParallelJobs: $(maximumParallelJobs)
+        maximumAllowedFailures: $(maximumAllowedFailures)
+        dotNetSdkVersion: '$(DotNetSDKVersion)'
+
+  - job: Test_net7_0_x86 # Only run Nightly or if explicitly enabled with RunX86Tests
+    condition: and(succeeded(), ne(variables['RunTests'], 'false'), or(eq(variables['IsNightly'], 'true'), eq(variables['RunX86Tests'], 'true')))
+    strategy:
+      matrix:
+        Windows:
+          osName: 'Windows'
+          imageName: 'windows-latest'
+          maximumParallelJobs: 8
+          maximumAllowedFailures: 0 # Maximum allowed failures for a successful build
+    displayName: 'Test net7.0,x86 on'
+    pool:
+      vmImage: $(imageName)
+    steps:
+    - template: '.build/azure-templates/run-tests-on-os.yml'
+      parameters:
+        osName: $(osName)
+        framework: 'net7.0'
+        vsTestPlatform: 'x86'
+        testBinariesArtifactName: '$(TestBinariesArtifactName)'
+        nugetArtifactName: '$(NuGetArtifactName)'
+        testResultsArtifactName: '$(TestResultsArtifactName)'
+        maximumParallelJobs: $(maximumParallelJobs)
+        maximumAllowedFailures: $(maximumAllowedFailures)
+        dotNetSdkVersion: '$(DotNetSDKVersion)'
+
   - job: Test_net6_0_x64
     condition: and(succeeded(), ne(variables['RunTests'], 'false'))
     strategy:


[lucenenet] 08/08: README.md, lucene-cli/docs/index.md: Updated prerequisites for lucene-cli and for building, which now requires Visual Studio 2022 and .NET 7 SDK.

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit 73aa0fbda9ccf42dcce2055e7aa54e7655555fb5
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Nov 21 12:40:16 2022 +0700

    README.md, lucene-cli/docs/index.md: Updated prerequisites for lucene-cli and for building, which now requires Visual Studio 2022 and .NET 7 SDK.
---
 README.md                                 | 12 +++++-------
 src/dotnet/tools/lucene-cli/docs/index.md |  2 +-
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md
index cc9bc5db2..4ebe83f61 100644
--- a/README.md
+++ b/README.md
@@ -125,7 +125,7 @@ There are several demos implemented as simple console applications that can be c
 
 There is also a dotnet command line tool available on NuGet. It contains all of the demos as well as tools maintaining your Lucene.NET index, featuring operations such as splitting, merging, listing segment info, fixing, deleting segments, upgrading, etc. Always be sure to back up your index before running any commands against it!
 
-- [Prerequisite: .NET Core 3.1 Runtime or Higher](https://dotnet.microsoft.com/en-us/download/dotnet)
+- [Prerequisite: .NET 6.0 Runtime or Higher](https://dotnet.microsoft.com/en-us/download/dotnet)
 
 ```
 dotnet tool install lucene-cli -g --version 4.8.0-beta00015
@@ -177,8 +177,8 @@ Before you start working on a pull request, please read our [Contributing](https
 
 ##### Prerequisites
 
-1. [PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) 3.0 or higher (see [this question](http://stackoverflow.com/questions/1825585/determine-installed-powershell-version) to check your PowerShell version)
-2. [.NET 6.0 SDK or higher](https://dotnet.microsoft.com/download/visual-studio-sdks)
+1. [PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) 5.0 or higher (see [this question](http://stackoverflow.com/questions/1825585/determine-installed-powershell-version) to check your PowerShell version)
+2. [.NET 7.0 SDK or higher](https://dotnet.microsoft.com/download/visual-studio-sdks)
 
 ##### Execution
 
@@ -276,10 +276,8 @@ Then all you need to do is choose the `Lucene.Net Local Packages` feed from the
 
 #### Prerequisites
 
-1. Visual Studio 2019 or higher
-2. [.NET 6.0 SDK or higher](https://dotnet.microsoft.com/download/visual-studio-sdks)
-
-> **NOTE:** Preview versions of .NET SDK require the "Use previews of the .NET SDK (requires restart)" option to be enabled in Visual Studio under Tools > Options > Environment > Preview Features. .NET 6.0 is not supported on Visual Studio 2019, so the only option available for building on VS 2019 is to use a pre-release .NET 6.0 SDK.
+1. Visual Studio 2022 or higher
+2. [.NET 7.0 SDK or higher](https://dotnet.microsoft.com/download/visual-studio-sdks)
 
 #### Execution
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index.md b/src/dotnet/tools/lucene-cli/docs/index.md
index 1c83bc76f..7f9703a38 100644
--- a/src/dotnet/tools/lucene-cli/docs/index.md
+++ b/src/dotnet/tools/lucene-cli/docs/index.md
@@ -4,7 +4,7 @@ The Lucene.NET command line interface (CLI) is a new cross-platform toolchain wi
 
 ## Prerequisites
 
-- [.NET 5.0 Runtime or Higher](https://dotnet.microsoft.com/en-us/download/dotnet)
+- [.NET 6.0 Runtime or Higher](https://dotnet.microsoft.com/en-us/download/dotnet)
 
 ## Installation
 


[lucenenet] 07/08: .build/runbuild.ps1: Print the SYSTEM_DEFAULTWORKINGDIRECTORY environment variable for debugging purposes

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit b6cd6c0d0bba1e33b11d49ba24619bd4c960c0b5
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Nov 21 11:31:35 2022 +0700

    .build/runbuild.ps1: Print the SYSTEM_DEFAULTWORKINGDIRECTORY environment variable for debugging purposes
---
 .build/runbuild.ps1 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.build/runbuild.ps1 b/.build/runbuild.ps1
index 61a41c18d..d8d1c0a10 100644
--- a/.build/runbuild.ps1
+++ b/.build/runbuild.ps1
@@ -174,6 +174,9 @@ task Pack -depends Compile -description "This task creates the NuGet packages" {
             $env:SYSTEM_DEFAULTWORKINGDIRECTORY = "$baseDirectory"
         }
 
+        Write-Host ""
+        Write-Host "\nSYSTEM_DEFAULTWORKINGDIRECTORY is $env:SYSTEM_DEFAULTWORKINGDIRECTORY (for lucene-cli installation tests)" -ForegroundColor Yellow
+
         $success = $true
     } finally {
         #if ($success -ne $true) {


[lucenenet] 06/08: Lucene.Net.Tests.Store.TestRAMDirectory: Fixed teardown to retry file deletion if they are locked by another process.

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit b423f2b1f20599db415b5a4dc02ab43a71bd61eb
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Nov 21 11:17:15 2022 +0700

    Lucene.Net.Tests.Store.TestRAMDirectory: Fixed teardown to retry file deletion if they are locked by another process.
---
 src/Lucene.Net.Tests/Store/TestRAMDirectory.cs | 32 +++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/src/Lucene.Net.Tests/Store/TestRAMDirectory.cs b/src/Lucene.Net.Tests/Store/TestRAMDirectory.cs
index 2ec2ce34e..58d11a2e9 100644
--- a/src/Lucene.Net.Tests/Store/TestRAMDirectory.cs
+++ b/src/Lucene.Net.Tests/Store/TestRAMDirectory.cs
@@ -1,8 +1,10 @@
 using J2N.Threading;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
+using Lucene.Net.Support.IO;
 using NUnit.Framework;
 using System;
+using System.Collections.Generic;
 using System.IO;
 using Assert = Lucene.Net.TestFramework.Assert;
 
@@ -202,9 +204,37 @@ namespace Lucene.Net.Store
         private void RmDir(DirectoryInfo dir)
         {
             FileInfo[] files = dir.GetFiles();
+            List<FileInfo> retryFiles = null;
             for (int i = 0; i < files.Length; i++)
             {
-                files[i].Delete();
+                try
+                {
+                    files[i].Delete();
+                }
+                catch (IOException)
+                {
+                    // LUCENENET specific - we can get here if Windows stil has a lock on the file. We will put it into a list to retry.
+                    if (retryFiles is null) retryFiles = new List<FileInfo>();
+                    retryFiles.Add(files[i]);
+                }
+            }
+            // LUCENENET specific - retry the deletion if it failed on the first pass
+            if (retryFiles is not null)
+            {
+                // Second pass - if this attempt doesn't work, just give up.
+                foreach (var file in retryFiles)
+                {
+                    try
+                    {
+                        file.Delete();
+                    }
+                    catch { /* ignore */ }
+                }
+                if (retryFiles.Count == 0)
+                {
+                    dir.Delete();
+                }
+                return;
             }
             dir.Delete();
         }


[lucenenet] 02/08: Fixed a couple of minor issues for net7.0 that were causing test failures. These were basically bug fixes that weren't accounted for by our tests.

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit 7bdc262b47cd05692846068af8177702697ae343
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Nov 19 14:59:42 2022 +0700

    Fixed a couple of minor issues for net7.0 that were causing test failures. These were basically bug fixes that weren't accounted for by our tests.
---
 .../Support/ExceptionHandling/ExceptionScanningTestCase.cs         | 1 +
 src/Lucene.Net.Tests.Expressions/JS/TestCustomFunctions.cs         | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/Lucene.Net.Tests.AllProjects/Support/ExceptionHandling/ExceptionScanningTestCase.cs b/src/Lucene.Net.Tests.AllProjects/Support/ExceptionHandling/ExceptionScanningTestCase.cs
index 9c51aaeb0..408edca1c 100644
--- a/src/Lucene.Net.Tests.AllProjects/Support/ExceptionHandling/ExceptionScanningTestCase.cs
+++ b/src/Lucene.Net.Tests.AllProjects/Support/ExceptionHandling/ExceptionScanningTestCase.cs
@@ -352,6 +352,7 @@ namespace Lucene.Net.Support.ExceptionHandling
                 typeof(OverflowException), // Subclasses ArithmeticException, so probably okay
                 typeof(PlatformNotSupportedException),
                 typeof(RankException),
+                typeof(System.ComponentModel.Win32Exception), // Added for .NET 7 (not sure why, this is an old exception)
                 typeof(System.Reflection.CustomAttributeFormatException), // Maybe like AnnotationTypeMismatchException in Java...?
                 typeof(System.Resources.MissingSatelliteAssemblyException),
                 //typeof(System.Runtime.CompilerServices.SwitchExpressionException), // .NET Standard 2.1+ only (conditionally added below)
diff --git a/src/Lucene.Net.Tests.Expressions/JS/TestCustomFunctions.cs b/src/Lucene.Net.Tests.Expressions/JS/TestCustomFunctions.cs
index 9ca94881c..00b84947a 100644
--- a/src/Lucene.Net.Tests.Expressions/JS/TestCustomFunctions.cs
+++ b/src/Lucene.Net.Tests.Expressions/JS/TestCustomFunctions.cs
@@ -237,7 +237,12 @@ namespace Lucene.Net.Expressions.JS
                 StringWriter sw = new StringWriter();
                 e.printStackTrace();
                 //.NET Port
-                Assert.IsTrue(e.StackTrace.Contains("Lucene.Net.Expressions.CompiledExpression.Evaluate(Int32 , FunctionValues[] )"));
+                Assert.IsTrue(
+                    // LUCENENET: Apparently in .NET 7, they finally fixed this weird display issue with spaces before the comma
+                    // and closing parenthesis. It is a pass.
+                    e.StackTrace.Contains("Lucene.Net.Expressions.CompiledExpression.Evaluate(Int32, FunctionValues[])") ||
+                    e.StackTrace.Contains("Lucene.Net.Expressions.CompiledExpression.Evaluate(Int32 , FunctionValues[] )")
+                    );
             }
         }
 


[lucenenet] 04/08: .github/workflows/Generate-TestWorkflows.ps1: Replaced net6.0 tests with net7.0 tests

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit 34c79d72b7dc7f4e4a26e13c7bc145f60f5977aa
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Nov 19 15:30:20 2022 +0700

    .github/workflows/Generate-TestWorkflows.ps1: Replaced net6.0 tests with net7.0 tests
---
 .github/workflows/Generate-TestWorkflows.ps1       | 23 +++++++++++++++++-----
 .github/workflows/Lucene-Net-Tests-AllProjects.yml | 10 ++++++++--
 .../workflows/Lucene-Net-Tests-Analysis-Common.yml | 10 ++++++++--
 .../Lucene-Net-Tests-Analysis-Kuromoji.yml         | 10 ++++++++--
 .../Lucene-Net-Tests-Analysis-Morfologik.yml       | 10 ++++++++--
 .../Lucene-Net-Tests-Analysis-OpenNLP.yml          |  8 +++++++-
 .../Lucene-Net-Tests-Analysis-Phonetic.yml         | 10 ++++++++--
 .../Lucene-Net-Tests-Analysis-SmartCn.yml          | 10 ++++++++--
 .../Lucene-Net-Tests-Analysis-Stempel.yml          | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Benchmark.yml   | 10 ++++++++--
 .../workflows/Lucene-Net-Tests-Classification.yml  | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Cli.yml         | 10 ++++++++--
 .../workflows/Lucene-Net-Tests-CodeAnalysis.yml    |  8 +++++++-
 .github/workflows/Lucene-Net-Tests-Codecs.yml      | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Demo.yml        | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Expressions.yml | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Facet.yml       | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Grouping.yml    | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Highlighter.yml | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-ICU.yml         | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Join.yml        | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Memory.yml      | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Misc.yml        | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Queries.yml     | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-QueryParser.yml | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Replicator.yml  | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Sandbox.yml     | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Spatial.yml     | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-Suggest.yml     | 10 ++++++++--
 ...Net-Tests-TestFramework-DependencyInjection.yml | 10 ++++++++--
 .../workflows/Lucene-Net-Tests-TestFramework.yml   | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-_A-D.yml        | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-_E-I.yml        | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-_I-J.yml        | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-_J-S.yml        | 10 ++++++++--
 .github/workflows/Lucene-Net-Tests-_T-Z.yml        | 10 ++++++++--
 36 files changed, 296 insertions(+), 73 deletions(-)

diff --git a/.github/workflows/Generate-TestWorkflows.ps1 b/.github/workflows/Generate-TestWorkflows.ps1
index ab82874fe..a9d85dafc 100644
--- a/.github/workflows/Generate-TestWorkflows.ps1
+++ b/.github/workflows/Generate-TestWorkflows.ps1
@@ -51,9 +51,13 @@
  .PARAMETER Configurations
     A string array of build configurations to run the tests on. The default is @('Release').
 
+ .PARAMETER DotNet7SDKVersion
+    The SDK version of .NET 7.x to install on the build agent to be used for building and
+    testing. This SDK is always installed on the build agent. The default is 7.0.100.
+
  .PARAMETER DotNet6SDKVersion
     The SDK version of .NET 6.x to install on the build agent to be used for building and
-    testing. This SDK is always installed on the build agent. The default is 6.0.100.
+    testing. This SDK is always installed on the build agent. The default is 6.0.403.
 
  .PARAMETER DotNet5SDKVersion
     The SDK version of .NET 5.x to install on the build agent to be used for building and
@@ -64,7 +68,7 @@ param(
 
     [string]$RepoRoot = (Split-Path (Split-Path $PSScriptRoot)),
 
-    [string[]]$TestFrameworks = @('net6.0', 'net5.0','net461','net48'), # targets under test: net6.0, netstandard2.1, netstanard2.0, net462
+    [string[]]$TestFrameworks = @('net7.0', 'net5.0','net461','net48'), # targets under test: net6.0, netstandard2.1, netstanard2.0, net462
 
     [string[]]$OperatingSystems = @('windows-latest', 'ubuntu-latest'),
 
@@ -72,7 +76,9 @@ param(
 
     [string[]]$Configurations = @('Release'),
 
-    [string]$DotNet6SDKVersion = '6.0.100',
+    [string]$DotNet7SDKVersion = '7.0.100',
+
+    [string]$DotNet6SDKVersion = '6.0.403',
 
     [string]$DotNet5SDKVersion = '5.0.400'
 )
@@ -154,6 +160,7 @@ function Write-TestWorkflow(
     [string[]]$TestFrameworks = @('net5.0', 'net48'),
     [string[]]$TestPlatforms = @('x64'),
     [string[]]$OperatingSystems = @('windows-latest', 'ubuntu-latest', 'macos-latest'),
+    [string]$DotNet7SDKVersion = $DotNet7SDKVersion,
     [string]$DotNet6SDKVersion = $DotNet6SDKVersion,
     [string]$DotNet5SDKVersion = $DotNet5SDKVersion) {
 
@@ -285,6 +292,12 @@ jobs:
         uses: actions/setup-dotnet@v1
         with:
           dotnet-version: '$DotNet6SDKVersion'
+        if: `${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '$DotNet7SDKVersion'
 
       - name: Setup Environment Variables
         run: |
@@ -343,7 +356,7 @@ try {
     Pop-Location
 }
 
-#Write-TestWorkflow -OutputDirectory $OutputDirectory -ProjectPath $projectPath -RelativeRoot $repoRoot -TestFrameworks @('net5.0') -OperatingSystems $OperatingSystems -TestPlatforms $TestPlatforms -Configurations $Configurations -DotNet6SDKVersion $DotNet6SDKVersion -DotNet5SDKVersion $DotNet5SDKVersion
+#Write-TestWorkflow -OutputDirectory $OutputDirectory -ProjectPath $projectPath -RelativeRoot $repoRoot -TestFrameworks @('net5.0') -OperatingSystems $OperatingSystems -TestPlatforms $TestPlatforms -Configurations $Configurations -DotNet7SDKVersion $DotNet7SDKVersion -DotNet6SDKVersion $DotNet6SDKVersion -DotNet5SDKVersion $DotNet5SDKVersion
 
 #Write-Host $TestProjects
 
@@ -370,5 +383,5 @@ foreach ($testProject in $TestProjects) {
     Write-Host "Frameworks To Test for ${projectName}: $($frameworks -join ';')" -ForegroundColor Cyan
 
     #Write-Host "Project: $projectName"
-    Write-TestWorkflow -OutputDirectory $OutputDirectory -ProjectPath $testProject -RelativeRoot $RepoRoot -TestFrameworks $frameworks -OperatingSystems $OperatingSystems -TestPlatforms $TestPlatforms -Configurations $Configurations -DotNet6SDKVersion $DotNet6SDKVersion -DotNet5SDKVersion $DotNet5SDKVersion
+    Write-TestWorkflow -OutputDirectory $OutputDirectory -ProjectPath $testProject -RelativeRoot $RepoRoot -TestFrameworks $frameworks -OperatingSystems $OperatingSystems -TestPlatforms $TestPlatforms -Configurations $Configurations -DotNet7SDKVersion $DotNet7SDKVersion -DotNet6SDKVersion $DotNet6SDKVersion -DotNet5SDKVersion $DotNet5SDKVersion
 }
\ No newline at end of file
diff --git a/.github/workflows/Lucene-Net-Tests-AllProjects.yml b/.github/workflows/Lucene-Net-Tests-AllProjects.yml
index 158455174..23930d7b0 100644
--- a/.github/workflows/Lucene-Net-Tests-AllProjects.yml
+++ b/.github/workflows/Lucene-Net-Tests-AllProjects.yml
@@ -72,7 +72,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -109,7 +109,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Analysis-Common.yml b/.github/workflows/Lucene-Net-Tests-Analysis-Common.yml
index f0fcb1f1c..c7eeadb67 100644
--- a/.github/workflows/Lucene-Net-Tests-Analysis-Common.yml
+++ b/.github/workflows/Lucene-Net-Tests-Analysis-Common.yml
@@ -56,7 +56,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -93,7 +93,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Analysis-Kuromoji.yml b/.github/workflows/Lucene-Net-Tests-Analysis-Kuromoji.yml
index c84450e6b..a75a80b6a 100644
--- a/.github/workflows/Lucene-Net-Tests-Analysis-Kuromoji.yml
+++ b/.github/workflows/Lucene-Net-Tests-Analysis-Kuromoji.yml
@@ -53,7 +53,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -90,7 +90,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Analysis-Morfologik.yml b/.github/workflows/Lucene-Net-Tests-Analysis-Morfologik.yml
index 726048b05..208fec8c1 100644
--- a/.github/workflows/Lucene-Net-Tests-Analysis-Morfologik.yml
+++ b/.github/workflows/Lucene-Net-Tests-Analysis-Morfologik.yml
@@ -53,7 +53,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -90,7 +90,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Analysis-OpenNLP.yml b/.github/workflows/Lucene-Net-Tests-Analysis-OpenNLP.yml
index 6f4e8a77b..8fe22833e 100644
--- a/.github/workflows/Lucene-Net-Tests-Analysis-OpenNLP.yml
+++ b/.github/workflows/Lucene-Net-Tests-Analysis-OpenNLP.yml
@@ -93,7 +93,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Analysis-Phonetic.yml b/.github/workflows/Lucene-Net-Tests-Analysis-Phonetic.yml
index e3b02f0d5..ccf80b7df 100644
--- a/.github/workflows/Lucene-Net-Tests-Analysis-Phonetic.yml
+++ b/.github/workflows/Lucene-Net-Tests-Analysis-Phonetic.yml
@@ -50,7 +50,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -87,7 +87,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Analysis-SmartCn.yml b/.github/workflows/Lucene-Net-Tests-Analysis-SmartCn.yml
index a7750551d..658d4ca56 100644
--- a/.github/workflows/Lucene-Net-Tests-Analysis-SmartCn.yml
+++ b/.github/workflows/Lucene-Net-Tests-Analysis-SmartCn.yml
@@ -54,7 +54,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -91,7 +91,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Analysis-Stempel.yml b/.github/workflows/Lucene-Net-Tests-Analysis-Stempel.yml
index 4d96106fe..d73ad084a 100644
--- a/.github/workflows/Lucene-Net-Tests-Analysis-Stempel.yml
+++ b/.github/workflows/Lucene-Net-Tests-Analysis-Stempel.yml
@@ -51,7 +51,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -88,7 +88,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Benchmark.yml b/.github/workflows/Lucene-Net-Tests-Benchmark.yml
index 8cf8447f4..1b2e1f2e2 100644
--- a/.github/workflows/Lucene-Net-Tests-Benchmark.yml
+++ b/.github/workflows/Lucene-Net-Tests-Benchmark.yml
@@ -63,7 +63,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -100,7 +100,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Classification.yml b/.github/workflows/Lucene-Net-Tests-Classification.yml
index 10e171f69..52d4c7a01 100644
--- a/.github/workflows/Lucene-Net-Tests-Classification.yml
+++ b/.github/workflows/Lucene-Net-Tests-Classification.yml
@@ -51,7 +51,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -88,7 +88,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Cli.yml b/.github/workflows/Lucene-Net-Tests-Cli.yml
index 8c2af0c5b..7aa11d12e 100644
--- a/.github/workflows/Lucene-Net-Tests-Cli.yml
+++ b/.github/workflows/Lucene-Net-Tests-Cli.yml
@@ -70,7 +70,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0]
+        framework: [net7.0]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -108,7 +108,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-CodeAnalysis.yml b/.github/workflows/Lucene-Net-Tests-CodeAnalysis.yml
index 259464bed..6ba3df6b8 100644
--- a/.github/workflows/Lucene-Net-Tests-CodeAnalysis.yml
+++ b/.github/workflows/Lucene-Net-Tests-CodeAnalysis.yml
@@ -86,7 +86,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Codecs.yml b/.github/workflows/Lucene-Net-Tests-Codecs.yml
index 5ba1bc150..47d06faac 100644
--- a/.github/workflows/Lucene-Net-Tests-Codecs.yml
+++ b/.github/workflows/Lucene-Net-Tests-Codecs.yml
@@ -49,7 +49,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -86,7 +86,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Demo.yml b/.github/workflows/Lucene-Net-Tests-Demo.yml
index 72b7f409d..88af12d1c 100644
--- a/.github/workflows/Lucene-Net-Tests-Demo.yml
+++ b/.github/workflows/Lucene-Net-Tests-Demo.yml
@@ -58,7 +58,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -95,7 +95,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Expressions.yml b/.github/workflows/Lucene-Net-Tests-Expressions.yml
index 258222ad8..a24fbade0 100644
--- a/.github/workflows/Lucene-Net-Tests-Expressions.yml
+++ b/.github/workflows/Lucene-Net-Tests-Expressions.yml
@@ -51,7 +51,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -88,7 +88,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Facet.yml b/.github/workflows/Lucene-Net-Tests-Facet.yml
index 96aa2172e..b954a7d5f 100644
--- a/.github/workflows/Lucene-Net-Tests-Facet.yml
+++ b/.github/workflows/Lucene-Net-Tests-Facet.yml
@@ -53,7 +53,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -90,7 +90,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Grouping.yml b/.github/workflows/Lucene-Net-Tests-Grouping.yml
index e1d9fd647..c6af86770 100644
--- a/.github/workflows/Lucene-Net-Tests-Grouping.yml
+++ b/.github/workflows/Lucene-Net-Tests-Grouping.yml
@@ -51,7 +51,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -88,7 +88,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Highlighter.yml b/.github/workflows/Lucene-Net-Tests-Highlighter.yml
index 83c847fd9..5dae90a0b 100644
--- a/.github/workflows/Lucene-Net-Tests-Highlighter.yml
+++ b/.github/workflows/Lucene-Net-Tests-Highlighter.yml
@@ -53,7 +53,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -90,7 +90,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-ICU.yml b/.github/workflows/Lucene-Net-Tests-ICU.yml
index e8935c667..032170fcf 100644
--- a/.github/workflows/Lucene-Net-Tests-ICU.yml
+++ b/.github/workflows/Lucene-Net-Tests-ICU.yml
@@ -66,7 +66,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -103,7 +103,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Join.yml b/.github/workflows/Lucene-Net-Tests-Join.yml
index 99f549da2..a34f389e0 100644
--- a/.github/workflows/Lucene-Net-Tests-Join.yml
+++ b/.github/workflows/Lucene-Net-Tests-Join.yml
@@ -52,7 +52,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -89,7 +89,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Memory.yml b/.github/workflows/Lucene-Net-Tests-Memory.yml
index a0af7cd8a..935019bf0 100644
--- a/.github/workflows/Lucene-Net-Tests-Memory.yml
+++ b/.github/workflows/Lucene-Net-Tests-Memory.yml
@@ -54,7 +54,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -91,7 +91,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Misc.yml b/.github/workflows/Lucene-Net-Tests-Misc.yml
index d72c08d24..b6c6451c5 100644
--- a/.github/workflows/Lucene-Net-Tests-Misc.yml
+++ b/.github/workflows/Lucene-Net-Tests-Misc.yml
@@ -50,7 +50,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -87,7 +87,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Queries.yml b/.github/workflows/Lucene-Net-Tests-Queries.yml
index 81033d4fd..c3290e688 100644
--- a/.github/workflows/Lucene-Net-Tests-Queries.yml
+++ b/.github/workflows/Lucene-Net-Tests-Queries.yml
@@ -50,7 +50,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -87,7 +87,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-QueryParser.yml b/.github/workflows/Lucene-Net-Tests-QueryParser.yml
index 8f906e85e..a0e9ba2ca 100644
--- a/.github/workflows/Lucene-Net-Tests-QueryParser.yml
+++ b/.github/workflows/Lucene-Net-Tests-QueryParser.yml
@@ -56,7 +56,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -93,7 +93,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Replicator.yml b/.github/workflows/Lucene-Net-Tests-Replicator.yml
index e30d33c3f..cb3a23a31 100644
--- a/.github/workflows/Lucene-Net-Tests-Replicator.yml
+++ b/.github/workflows/Lucene-Net-Tests-Replicator.yml
@@ -55,7 +55,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -92,7 +92,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Sandbox.yml b/.github/workflows/Lucene-Net-Tests-Sandbox.yml
index bbb06552b..d5807e7f9 100644
--- a/.github/workflows/Lucene-Net-Tests-Sandbox.yml
+++ b/.github/workflows/Lucene-Net-Tests-Sandbox.yml
@@ -51,7 +51,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -88,7 +88,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Spatial.yml b/.github/workflows/Lucene-Net-Tests-Spatial.yml
index 8a23f3099..7fda930e6 100644
--- a/.github/workflows/Lucene-Net-Tests-Spatial.yml
+++ b/.github/workflows/Lucene-Net-Tests-Spatial.yml
@@ -52,7 +52,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -89,7 +89,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-Suggest.yml b/.github/workflows/Lucene-Net-Tests-Suggest.yml
index 19de69925..c9277f1b0 100644
--- a/.github/workflows/Lucene-Net-Tests-Suggest.yml
+++ b/.github/workflows/Lucene-Net-Tests-Suggest.yml
@@ -53,7 +53,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -90,7 +90,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-TestFramework-DependencyInjection.yml b/.github/workflows/Lucene-Net-Tests-TestFramework-DependencyInjection.yml
index b8578d4e9..8665f7d8d 100644
--- a/.github/workflows/Lucene-Net-Tests-TestFramework-DependencyInjection.yml
+++ b/.github/workflows/Lucene-Net-Tests-TestFramework-DependencyInjection.yml
@@ -49,7 +49,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -86,7 +86,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-TestFramework.yml b/.github/workflows/Lucene-Net-Tests-TestFramework.yml
index 2ca385f43..7bfe1f5a4 100644
--- a/.github/workflows/Lucene-Net-Tests-TestFramework.yml
+++ b/.github/workflows/Lucene-Net-Tests-TestFramework.yml
@@ -51,7 +51,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -88,7 +88,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-_A-D.yml b/.github/workflows/Lucene-Net-Tests-_A-D.yml
index bc14cd5c1..cf7d47edc 100644
--- a/.github/workflows/Lucene-Net-Tests-_A-D.yml
+++ b/.github/workflows/Lucene-Net-Tests-_A-D.yml
@@ -60,7 +60,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -97,7 +97,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-_E-I.yml b/.github/workflows/Lucene-Net-Tests-_E-I.yml
index f58e238d8..54107b12b 100644
--- a/.github/workflows/Lucene-Net-Tests-_E-I.yml
+++ b/.github/workflows/Lucene-Net-Tests-_E-I.yml
@@ -70,7 +70,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -107,7 +107,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-_I-J.yml b/.github/workflows/Lucene-Net-Tests-_I-J.yml
index 01110698e..ce8eadaa8 100644
--- a/.github/workflows/Lucene-Net-Tests-_I-J.yml
+++ b/.github/workflows/Lucene-Net-Tests-_I-J.yml
@@ -75,7 +75,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -112,7 +112,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-_J-S.yml b/.github/workflows/Lucene-Net-Tests-_J-S.yml
index 2ea4904c3..2ffaa89eb 100644
--- a/.github/workflows/Lucene-Net-Tests-_J-S.yml
+++ b/.github/workflows/Lucene-Net-Tests-_J-S.yml
@@ -62,7 +62,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -99,7 +99,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |
diff --git a/.github/workflows/Lucene-Net-Tests-_T-Z.yml b/.github/workflows/Lucene-Net-Tests-_T-Z.yml
index b33b0058e..12051f52d 100644
--- a/.github/workflows/Lucene-Net-Tests-_T-Z.yml
+++ b/.github/workflows/Lucene-Net-Tests-_T-Z.yml
@@ -57,7 +57,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [windows-latest, ubuntu-latest]
-        framework: [net6.0, net5.0, net48, net461]
+        framework: [net7.0, net5.0, net48, net461]
         platform: [x64]
         configuration: [Release]
         exclude:
@@ -94,7 +94,13 @@ jobs:
       - name: Setup .NET 6 SDK
         uses: actions/setup-dotnet@v1
         with:
-          dotnet-version: '6.0.100'
+          dotnet-version: '6.0.403'
+        if: ${{ startswith(matrix.framework, 'net6.') }}
+
+      - name: Setup .NET 7 SDK
+        uses: actions/setup-dotnet@v1
+        with:
+          dotnet-version: '7.0.100'
 
       - name: Setup Environment Variables
         run: |


[lucenenet] 01/08: Added net7.0 tests and retargeted lucene-cli to net6.0 and net7.0.

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit e4f6f8d7335cc262a3540a21b39195bb255d2473
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Nov 19 14:58:16 2022 +0700

    Added net7.0 tests and retargeted lucene-cli to net6.0 and net7.0.
---
 Directory.Build.targets                            | 26 +++++++++++-----------
 TestTargetFramework.props                          |  5 +++--
 .../Lucene.Net.Benchmark.csproj                    | 17 +-------------
 .../Flexible/Standard/TestNumericQueryParser.cs    |  2 +-
 src/Lucene.Net/Lucene.Net.csproj                   |  9 --------
 .../Lucene.Net.Tests.CodeAnalysis.csproj           |  3 +++
 .../Lucene.Net.Tests.Cli.csproj                    |  8 +++----
 src/dotnet/tools/lucene-cli/lucene-cli.csproj      |  5 +++--
 8 files changed, 28 insertions(+), 47 deletions(-)

diff --git a/Directory.Build.targets b/Directory.Build.targets
index 0caed447e..9ba3a39f5 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -22,23 +22,23 @@
 
   <Import Project=".build/dependencies.props" Condition="Exists('.build/dependencies.props')" />
 
-  <!-- Features in .NET 6.x only -->
-  <PropertyGroup Condition=" $(TargetFramework.StartsWith('net6.')) ">
+  <!-- Features in .NET 6.x and .NET 7.x only -->
+  <PropertyGroup Condition=" $(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('net7.')) ">
 
     <DefineConstants>$(DefineConstants);FEATURE_SPANFORMATTABLE</DefineConstants>
 
   </PropertyGroup>
 
-  <!-- Features in .NET 5.x and .NET 6.x only -->
-  <PropertyGroup Condition=" $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) ">
+  <!-- Features in .NET 5.x, .NET 6.x, and .NET 7.x only -->
+  <PropertyGroup Condition=" $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('net7.')) ">
 
     <DefineConstants>$(DefineConstants);FEATURE_ASPNETCORE_ENDPOINT_CONFIG</DefineConstants>
     <DefineConstants>$(DefineConstants);FEATURE_READONLYSET</DefineConstants>
 
   </PropertyGroup>
   
-  <!-- Features in .NET Core 3.x, .NET 5.x, and .NET 6.x only -->
-  <PropertyGroup Condition=" $(TargetFramework.StartsWith('netcoreapp3.')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) ">
+  <!-- Features in .NET Core 3.x, .NET 5.x, .NET 6.x, and .NET 7.x only -->
+  <PropertyGroup Condition=" $(TargetFramework.StartsWith('netcoreapp3.')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('net7.')) ">
 
     <DefineConstants>$(DefineConstants);FEATURE_ARGITERATOR</DefineConstants>
     <DefineConstants>$(DefineConstants);FEATURE_DICTIONARY_REMOVE_CONTINUEENUMERATION</DefineConstants>
@@ -47,7 +47,7 @@
   </PropertyGroup>
   
   <!-- Features in .NET Standard, .NET Core, .NET 5.x, and .NET 6.x only (no .NET Framework support) -->
-  <PropertyGroup Condition=" $(TargetFramework.StartsWith('netstandard')) Or $(TargetFramework.StartsWith('netcoreapp')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) ">
+  <PropertyGroup Condition=" $(TargetFramework.StartsWith('netstandard')) Or $(TargetFramework.StartsWith('netcoreapp')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('net7.')) ">
     
     <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
     <DefineConstants>$(DefineConstants);FEATURE_ARRAYEMPTY</DefineConstants>
@@ -57,8 +57,8 @@
     <DebugType>portable</DebugType>
   </PropertyGroup>
 
-  <!-- Features in .NET Standard 2.1, .NET 5.x, and .NET 6.x only -->
-  <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' Or $(TargetFramework.StartsWith('netcoreapp3.')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) ">
+  <!-- Features in .NET Standard 2.1, .NET 5.x, .NET 6.x, and .NET 7.x only -->
+  <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' Or $(TargetFramework.StartsWith('netcoreapp3.')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('net7.')) ">
 
     <DefineConstants>$(DefineConstants);FEATURE_ARRAY_FILL</DefineConstants>
     <DefineConstants>$(DefineConstants);FEATURE_CONDITIONALWEAKTABLE_ENUMERATOR</DefineConstants>
@@ -69,15 +69,15 @@
 
   </PropertyGroup>
 
-  <!-- Features in .NET Standard 2.x, .NET Core 2.x, .NET Core 3.x, .NET 5.x, and .NET 6.x -->
-  <PropertyGroup Condition=" $(TargetFramework.StartsWith('netstandard2.')) Or $(TargetFramework.StartsWith('netcoreapp2.')) Or $(TargetFramework.StartsWith('netcoreapp3.')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) ">
+  <!-- Features in .NET Standard 2.x, .NET Core 2.x, .NET Core 3.x, .NET 5.x, .NET 6.x, and .NET 7.x -->
+  <PropertyGroup Condition=" $(TargetFramework.StartsWith('netstandard2.')) Or $(TargetFramework.StartsWith('netcoreapp2.')) Or $(TargetFramework.StartsWith('netcoreapp3.')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('net7.')) ">
 
     <DefineConstants>$(DefineConstants);FEATURE_ICONFIGURATIONROOT_PROVIDERS</DefineConstants>
 
   </PropertyGroup>
 
-  <!-- Features in .NET Framework 4.5+, .NET Standard 2.x, .NET Core 2.x, .NET Core 3.x, .NET 5.x, and .NET 6.x  -->
-  <PropertyGroup Condition=" $(TargetFramework.StartsWith('net4')) Or $(TargetFramework.StartsWith('netstandard2.')) Or $(TargetFramework.StartsWith('netcoreapp2.')) Or $(TargetFramework.StartsWith('netcoreapp3.')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) ">
+  <!-- Features in .NET Framework 4.5+, .NET Standard 2.x, .NET Core 2.x, .NET Core 3.x, .NET 5.x, .NET 6.x, and .NET 7.x  -->
+  <PropertyGroup Condition=" $(TargetFramework.StartsWith('net4')) Or $(TargetFramework.StartsWith('netstandard2.')) Or $(TargetFramework.StartsWith('netcoreapp2.')) Or $(TargetFramework.StartsWith('netcoreapp3.')) Or $(TargetFramework.StartsWith('net5.')) Or $(TargetFramework.StartsWith('net6.')) Or $(TargetFramework.StartsWith('net7.')) ">
 
     <DefineConstants>$(DefineConstants);FEATURE_ASSEMBLY_GETCALLINGASSEMBLY</DefineConstants>
     <DefineConstants>$(DefineConstants);FEATURE_FILESTREAM_LOCK</DefineConstants>
diff --git a/TestTargetFramework.props b/TestTargetFramework.props
index f6f485196..fbd97b11f 100644
--- a/TestTargetFramework.props
+++ b/TestTargetFramework.props
@@ -28,13 +28,14 @@
     this setting only affects the test projects. -->
     <!--<TargetFramework>net461</TargetFramework>-->
     <!--<TargetFramework>net48</TargetFramework>-->
-    <TargetFramework>net5.0</TargetFramework>
+    <!--<TargetFramework>net5.0</TargetFramework>-->
     <!--<TargetFramework>net6.0</TargetFramework>-->
+    <TargetFramework>net7.0</TargetFramework>
 
     <!-- Allow the build script to pass in the test frameworks to build for.
       This overrides the above TargetFramework setting. 
       LUCENENET TODO: Due to a parsing bug, we cannot pass a string with a ; to dotnet msbuild, so passing true as a workaround -->
-    <TargetFrameworks Condition=" '$(TestFrameworks)' == 'true' ">net6.0;net5.0</TargetFrameworks>
+    <TargetFrameworks Condition=" '$(TestFrameworks)' == 'true' ">net7.0;net6.0;net5.0</TargetFrameworks>
     <TargetFrameworks Condition=" '$(TestFrameworks)' == 'true' AND $([MSBuild]::IsOsPlatform('Windows')) ">$(TargetFrameworks);net48;net461</TargetFrameworks>
     <TargetFramework Condition=" '$(TargetFrameworks)' != '' "></TargetFramework>
   </PropertyGroup>
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index dceb2afd8..762ae8571 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -54,23 +54,8 @@
   <ItemGroup>
     <PackageReference Include="J2N" Version="$(J2NPackageVersion)" />
     <PackageReference Include="ICU4N.Collation" Version="$(ICU4NCollationPackageVersion)" />
-    <PackageReference Include="Spatial4n" Version="$(Spatial4nPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
-    <PackageReference Include="SharpZipLib" Version="$(SharpZipLibPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' ">
-    <PackageReference Include="SharpZipLib" Version="$(SharpZipLibPackageVersion)" />
-  </ItemGroup>
-  
-  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
-    <PackageReference Include="SharpZipLib" Version="$(SharpZipLibPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup Condition=" '$(TargetFramework)' == 'net462' ">
     <PackageReference Include="SharpZipLib" Version="$(SharpZipLibPackageVersion)" />
+    <PackageReference Include="Spatial4n" Version="$(Spatial4nPackageVersion)" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs b/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs
index 7f111eba8..bfb740b7c 100644
--- a/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs
+++ b/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs
@@ -240,7 +240,7 @@ namespace Lucene.Net.QueryParsers.Flexible.Standard
             randomNumberMap[NumericType.DOUBLE.ToString()] = (J2N.Numerics.Double)randomDouble;
             randomNumberMap[DATE_FIELD_NAME] = (J2N.Numerics.Int64)randomDate;
 
-            RANDOM_NUMBER_MAP = randomNumberMap.AsReadOnly();
+            RANDOM_NUMBER_MAP = JCG.Extensions.DictionaryExtensions.AsReadOnly(randomNumberMap);
 
             directory = NewDirectory();
             RandomIndexWriter writer = new RandomIndexWriter(Random, directory,
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index 2b00ffc25..317590439 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -55,24 +55,15 @@
 
   <ItemGroup>
     <PackageReference Include="J2N" Version="$(J2NPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
-    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' ">
     <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
   </ItemGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
-    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
     <PackageReference Include="Prism.Core" Version="$(PrismCorePackageVersion)" />
     <PackageReference Include="System.Memory" Version="$(SystemMemoryPackageVersion)" />
   </ItemGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'net462' ">
-    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
     <PackageReference Include="Prism.Core" Version="$(PrismCorePackageVersion)" />
     <PackageReference Include="System.Memory" Version="$(SystemMemoryPackageVersion)" />
   </ItemGroup>
diff --git a/src/dotnet/Lucene.Net.Tests.CodeAnalysis/Lucene.Net.Tests.CodeAnalysis.csproj b/src/dotnet/Lucene.Net.Tests.CodeAnalysis/Lucene.Net.Tests.CodeAnalysis.csproj
index fc66c9037..768f84ad1 100644
--- a/src/dotnet/Lucene.Net.Tests.CodeAnalysis/Lucene.Net.Tests.CodeAnalysis.csproj
+++ b/src/dotnet/Lucene.Net.Tests.CodeAnalysis/Lucene.Net.Tests.CodeAnalysis.csproj
@@ -28,6 +28,9 @@
     <IsPublishable>false</IsPublishable>
     <IsPublishable Condition=" '$(TargetFramework)' == 'net5.0' ">true</IsPublishable>
     <IsTestProject>true</IsTestProject>
+
+    <!-- We purposely test on EoL frameworks for testing netstandard2.1, but we want to keep this warning in production code. -->
+    <CheckEolTargetFramework>false</CheckEolTargetFramework>
   </PropertyGroup>
 
   
diff --git a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
index 00f269642..d0cf2a720 100644
--- a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
+++ b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
@@ -25,13 +25,13 @@
 
   <PropertyGroup>
     <!-- Allow specific target framework to flow in from TestTargetFrameworks.props -->
-    <TargetFrameworks Condition=" '$(TargetFramework)' == '' ">net6.0;net5.0</TargetFrameworks>
+    <TargetFrameworks Condition=" '$(TargetFramework)' == '' ">net7.0;net6.0</TargetFrameworks>
     <!-- If .NET Frameowrk is specified, just target the latest version -->
-    <TargetFramework Condition=" $(TargetFramework.StartsWith('net4')) ">net6.0</TargetFramework>
+    <TargetFramework Condition=" $(TargetFramework.StartsWith('net4')) ">net7.0</TargetFramework>
     <AssemblyTitle>Lucene.Net.Tests.Cli</AssemblyTitle>
 
-    <IsPublishable Condition="$(TargetFramework.StartsWith('net4'))">false</IsPublishable>
-    <IsTestProject Condition="$(TargetFramework.StartsWith('net4'))">false</IsTestProject>
+    <IsPublishable Condition="$(TargetFramework.StartsWith('net4')) Or $(TargetFramework.StartsWith('net5.'))">false</IsPublishable>
+    <IsTestProject Condition="$(TargetFramework.StartsWith('net4')) Or $(TargetFramework.StartsWith('net5.'))">false</IsTestProject>
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/dotnet/tools/lucene-cli/lucene-cli.csproj b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
index 6caebf627..a64845071 100644
--- a/src/dotnet/tools/lucene-cli/lucene-cli.csproj
+++ b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
@@ -24,7 +24,8 @@
   <Import Project="$(SolutionDir).build/nuget.props" />
 
   <PropertyGroup>
-    <TargetFrameworks>net6.0;net5.0</TargetFrameworks>
+    <TargetFrameworks>net7.0;net6.0</TargetFrameworks>
+    <RollForward Condition=" $(TargetFramework.StartsWith('net7.')) ">Major</RollForward>
 
     <IsPublishable>true</IsPublishable>
     <IsPublishable Condition="$(TargetFramework.StartsWith('net4'))">false</IsPublishable>
@@ -39,12 +40,12 @@
     <PackageReadmeFile>readme.md</PackageReadmeFile>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     
-    
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
     <NoWarn Label="Nested types should not be visible">$(NoWarn);CA1034</NoWarn>
     <NoWarn Label="Remove unused parameter">$(NoWarn);IDE0060</NoWarn>
   </PropertyGroup>
 
+
   <ItemGroup>
     <None Include="docs\index.md" Pack="true" PackagePath="\readme.md" />
     <None Update="appsettings.json">


[lucenenet] 05/08: runbuild.ps1: Updated .NET SDK version

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit a0adfae5a2c85033ae76c8b2477a60b0cd4ad70e
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sun Nov 20 00:41:32 2022 +0700

    runbuild.ps1: Updated .NET SDK version
---
 .build/runbuild.ps1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.build/runbuild.ps1 b/.build/runbuild.ps1
index b8c865c97..61a41c18d 100644
--- a/.build/runbuild.ps1
+++ b/.build/runbuild.ps1
@@ -27,7 +27,7 @@ properties {
     [string]$testResultsDirectory = "$artifactsDirectory/TestResults"
     [string]$publishDirectory = "$artifactsDirectory/Publish"
     [string]$solutionFile = "$baseDirectory/Lucene.Net.sln"
-    [string]$minimumSdkVersion = "6.0.100"
+    [string]$minimumSdkVersion = "7.0.100"
     [string]$globalJsonFile = "$baseDirectory/global.json"
     [string]$versionPropsFile = "$baseDirectory/version.props"
     [string]$luceneReadmeFile = "$baseDirectory/src/Lucene.Net/readme-nuget.md"