From 6680cd5cbd59a5640118e4cf4b5d5ab4de1776a2 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Wed, 2 Sep 2026 07:30:13 +0200 Subject: [PATCH] code indexing: update libs.lucene from 9.12.3 to 10.5.1 - added backward-codecs for backwards compatibility during migration windows - some deprecation warning fixes - bumped modules to release 21 for lucene 10.x - cleaned up module dependencies --- ide/csl.api/nbproject/project.xml | 13 +++----- ide/libs.lucene/external/binaries-list | 5 ++-- ...nse.txt => lucene-core-10.5.1-license.txt} | 6 ++-- ...tice.txt => lucene-core-10.5.1-notice.txt} | 0 ide/libs.lucene/manifest.mf | 4 +-- ide/libs.lucene/nbproject/project.properties | 7 +++-- ide/libs.lucene/nbproject/project.xml | 12 +++++--- .../nbproject/project.properties | 2 +- ide/parsing.indexing/nbproject/project.xml | 4 +-- .../nbproject/project.properties | 2 +- ide/parsing.lucene/nbproject/project.xml | 4 +-- .../modules/parsing/lucene/LuceneIndex.java | 30 +++++++++---------- .../modules/parsing/lucene/MemoryIndex.java | 22 +++++++------- .../lucene/RecordOwnerLockFactory.java | 6 ++-- .../parsing/lucene/support/Queries.java | 2 +- java/java.hints/nbproject/project.xml | 9 ------ java/java.source.base/nbproject/project.xml | 4 +-- java/java.source/nbproject/project.xml | 9 ------ java/java.sourceui/nbproject/project.xml | 4 +-- java/spi.java.hints/nbproject/project.xml | 12 ++------ 20 files changed, 67 insertions(+), 90 deletions(-) rename ide/libs.lucene/external/{lucene-core-9.12.3-license.txt => lucene-core-10.5.1-license.txt} (99%) rename ide/libs.lucene/external/{lucene-core-9.12.3-notice.txt => lucene-core-10.5.1-notice.txt} (100%) diff --git a/ide/csl.api/nbproject/project.xml b/ide/csl.api/nbproject/project.xml index 34387b3d3c41..77f450bf50c1 100644 --- a/ide/csl.api/nbproject/project.xml +++ b/ide/csl.api/nbproject/project.xml @@ -70,15 +70,6 @@ 1.24 - - org.netbeans.libs.lucene - - - - 9 - 9.0 - - org.netbeans.modules.csl.types @@ -472,6 +463,10 @@ org.netbeans.libs.junit4 + + org.netbeans.libs.lucene + + org.netbeans.modules.editor.bracesmatching diff --git a/ide/libs.lucene/external/binaries-list b/ide/libs.lucene/external/binaries-list index 0e3567310173..654c669c0081 100644 --- a/ide/libs.lucene/external/binaries-list +++ b/ide/libs.lucene/external/binaries-list @@ -14,5 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -B4B3FBE8608B438D0A810D15187498E6DE974D0E org.apache.lucene:lucene-core:9.12.3 -1C25766443C63D4B75C4ACB5D2AE162A67D6F937 org.apache.lucene:lucene-analysis-common:9.12.3 +9CF36FB7AAA63A1C994B653F317499AE7D87EFBE org.apache.lucene:lucene-core:10.5.1 +461FBD2772DF41469B8A158A6EBE0ED6819D49A1 org.apache.lucene:lucene-analysis-common:10.5.1 +C11B462B4AD72CF85FD6F8D3777CC52995D83638 org.apache.lucene:lucene-backward-codecs:10.5.1 diff --git a/ide/libs.lucene/external/lucene-core-9.12.3-license.txt b/ide/libs.lucene/external/lucene-core-10.5.1-license.txt similarity index 99% rename from ide/libs.lucene/external/lucene-core-9.12.3-license.txt rename to ide/libs.lucene/external/lucene-core-10.5.1-license.txt index 1beaacb45836..40115d331209 100644 --- a/ide/libs.lucene/external/lucene-core-9.12.3-license.txt +++ b/ide/libs.lucene/external/lucene-core-10.5.1-license.txt @@ -1,11 +1,11 @@ Name: Apache Lucene Description: Java-based indexing and search technology -Version: 9.12.3 +Version: 10.5.1 Origin: Apache Software Foundation License: Apache-2.0-lucene URL: https://lucene.apache.org/core/ -Source: https://archive.apache.org/dist/lucene/java/9.12.3/ -Files: lucene-core-9.12.3.jar lucene-analysis-common-9.12.3.jar +Source: https://archive.apache.org/dist/lucene/java/10.5.1/ +Files: lucene-core-10.5.1.jar lucene-analysis-common-10.5.1.jar lucene-backward-codecs-10.5.1.jar Apache License diff --git a/ide/libs.lucene/external/lucene-core-9.12.3-notice.txt b/ide/libs.lucene/external/lucene-core-10.5.1-notice.txt similarity index 100% rename from ide/libs.lucene/external/lucene-core-9.12.3-notice.txt rename to ide/libs.lucene/external/lucene-core-10.5.1-notice.txt diff --git a/ide/libs.lucene/manifest.mf b/ide/libs.lucene/manifest.mf index c4bdc70d2d74..6c8b6c20cdeb 100644 --- a/ide/libs.lucene/manifest.mf +++ b/ide/libs.lucene/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -OpenIDE-Module: org.netbeans.libs.lucene/9 +OpenIDE-Module: org.netbeans.libs.lucene/10 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/lucene/Bundle.properties -OpenIDE-Module-Specification-Version: 9.2 +OpenIDE-Module-Specification-Version: 10.0 diff --git a/ide/libs.lucene/nbproject/project.properties b/ide/libs.lucene/nbproject/project.properties index 8c50d77d7439..87646b2429b9 100644 --- a/ide/libs.lucene/nbproject/project.properties +++ b/ide/libs.lucene/nbproject/project.properties @@ -16,10 +16,11 @@ # under the License. is.autoload=true -javac.release=11 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial -release.external/lucene-core-9.12.3.jar=modules/ext/lucene-core-9.12.3.jar -release.external/lucene-analysis-common-9.12.3.jar=modules/ext/lucene-analysis-common-9.12.3.jar +release.external/lucene-core-10.5.1.jar=modules/ext/lucene-core-10.5.1.jar +release.external/lucene-analysis-common-10.5.1.jar=modules/ext/lucene-analysis-common-10.5.1.jar +release.external/lucene-backward-codecs-10.5.1.jar=modules/ext/lucene-backward-codecs-10.5.1.jar # This is an very old library, the complete dependencies were never explored. # Since subpackage-s are working in new sigtest version, generation of the diff --git a/ide/libs.lucene/nbproject/project.xml b/ide/libs.lucene/nbproject/project.xml index 1a48dec5d2dd..768f8674a59b 100644 --- a/ide/libs.lucene/nbproject/project.xml +++ b/ide/libs.lucene/nbproject/project.xml @@ -29,12 +29,16 @@ org.apache.lucene - ext/lucene-core-9.12.3.jar - external/lucene-core-9.12.3.jar + ext/lucene-core-10.5.1.jar + external/lucene-core-10.5.1.jar - ext/lucene-analysis-common-9.12.3.jar - external/lucene-analysis-common-9.12.3.jar + ext/lucene-analysis-common-10.5.1.jar + external/lucene-analysis-common-10.5.1.jar + + + ext/lucene-backward-codecs-10.5.1.jar + external/lucene-backward-codecs-10.5.1.jar diff --git a/ide/parsing.indexing/nbproject/project.properties b/ide/parsing.indexing/nbproject/project.properties index 5738e51d4004..e5df1247fb8b 100644 --- a/ide/parsing.indexing/nbproject/project.properties +++ b/ide/parsing.indexing/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -javac.release=17 +javac.release=21 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=9.46.0 is.autoload=true diff --git a/ide/parsing.indexing/nbproject/project.xml b/ide/parsing.indexing/nbproject/project.xml index f0e7ea0dab19..9473a9b85db1 100644 --- a/ide/parsing.indexing/nbproject/project.xml +++ b/ide/parsing.indexing/nbproject/project.xml @@ -57,8 +57,8 @@ - 9 - 9.0 + 10 + 10.0 diff --git a/ide/parsing.lucene/nbproject/project.properties b/ide/parsing.lucene/nbproject/project.properties index b57392a308a7..07e019d39e6d 100644 --- a/ide/parsing.lucene/nbproject/project.properties +++ b/ide/parsing.lucene/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.release=17 +javac.release=21 javadoc.apichanges=${basedir}/apichanges.xml javac.compilerargs=-Xlint -Xlint:-serial diff --git a/ide/parsing.lucene/nbproject/project.xml b/ide/parsing.lucene/nbproject/project.xml index fa14a7c3e0e5..b42174a9988d 100644 --- a/ide/parsing.lucene/nbproject/project.xml +++ b/ide/parsing.lucene/nbproject/project.xml @@ -39,8 +39,8 @@ - 9 - 9.0 + 10 + 10.0 diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/LuceneIndex.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/LuceneIndex.java index 211d23d87409..6fb7be785b26 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/LuceneIndex.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/LuceneIndex.java @@ -280,22 +280,22 @@ public void queryDocTerms( if (cancel != null && cancel.get()) { throw new InterruptedException(); } - if (q instanceof TermQuery) { - Terms terms = lr.terms(((TermQuery) q).getTerm().field()); + if (q instanceof TermQuery termQuery) { + Terms terms = lr.terms(termQuery.getTerm().field()); if (terms != null) { TermsEnum te = terms.iterator(); - if (te.seekExact(((TermQuery) q).getTerm().bytes())) { + if (te.seekExact(termQuery.getTerm().bytes())) { PostingsEnum pe = te.postings(null); for (int doc = pe.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = pe.nextDoc()) { docTermMap.computeIfAbsent(doc, s -> new HashSet<>()) - .add(((TermQuery) q).getTerm().bytes()); + .add(termQuery.getTerm().bytes()); } } } - } else if (q instanceof PrefixQuery) { - Terms terms = lr.terms(((PrefixQuery) q).getField()); + } else if (q instanceof PrefixQuery prefixQuery) { + Terms terms = lr.terms(prefixQuery.getField()); if (terms != null) { - TermsEnum te = new CompiledAutomaton(((PrefixQuery) q).getAutomaton()).getTermsEnum(terms); + TermsEnum te = new CompiledAutomaton(prefixQuery.getAutomaton()).getTermsEnum(terms); for (BytesRef termValue = te.next(); termValue != null; termValue = te.next()) { PostingsEnum pe = te.postings(null); BytesRef localRef = null; @@ -309,10 +309,10 @@ public void queryDocTerms( } } } - } else if (q instanceof RegexpFilter) { - Terms terms = lr.terms(((RegexpFilter) q).getField()); + } else if (q instanceof RegexpFilter regexpFilter) { + Terms terms = lr.terms(regexpFilter.getField()); if (terms != null) { - TermsEnum te = ((RegexpFilter) q).getTermsEnum(terms); + TermsEnum te = regexpFilter.getTermsEnum(terms); for (BytesRef termValue = te.next(); termValue != null; termValue = te.next()) { PostingsEnum pe = te.postings(null); BytesRef localRef = null; @@ -374,7 +374,7 @@ public void queryDocTerms( } private static Set convertTerms(final Convertor convertor, final Set terms) { - final Set result = new HashSet(terms.size()); + final Set result = HashSet.newHashSet(terms.size()); for (BytesRef term : terms) { result.add(convertor.convert(term)); } @@ -1167,9 +1167,9 @@ private void assertSingleThreadWriter() { "old owner Thread %s(%d), " + //NOI18N "new owner Thread %s(%d).", //NOI18N openThread.first(), - openThread.first().getId(), + openThread.first().threadId(), Thread.currentThread(), - Thread.currentThread().getId()), + Thread.currentThread().threadId()), openThread.second() != null ? openThread.second().second() : null); @@ -1186,10 +1186,10 @@ private void assertNoModifiedWriter() { "old owner Thread %s(%d) enter time: %d, " + //NOI18N "new owner Thread %s(%d) enter time: %d.", //NOI18N txThread.first(), - txThread.first().getId(), + txThread.first().threadId(), txThread.second().first(), Thread.currentThread(), - Thread.currentThread().getId(), + Thread.currentThread().threadId(), System.currentTimeMillis()), txThread.second().second()); LOGGER.log( diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/MemoryIndex.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/MemoryIndex.java index 649689c9dd89..8dc70d04a6fb 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/MemoryIndex.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/MemoryIndex.java @@ -150,22 +150,22 @@ public void queryDocTerms( if (cancel != null && cancel.get()) { throw new InterruptedException(); } - if (q instanceof TermQuery) { - Terms terms = lr.terms(((TermQuery) q).getTerm().field()); + if (q instanceof TermQuery termQuery) { + Terms terms = lr.terms(termQuery.getTerm().field()); if (terms != null) { TermsEnum te = terms.iterator(); - if (te.seekExact(((TermQuery) q).getTerm().bytes())) { + if (te.seekExact(termQuery.getTerm().bytes())) { PostingsEnum pe = te.postings(null); for (int doc = pe.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = pe.nextDoc()) { docTermMap.computeIfAbsent(doc, s -> new HashSet<>()) - .add(((TermQuery) q).getTerm().bytes()); + .add(termQuery.getTerm().bytes()); } } } - } else if (q instanceof PrefixQuery) { - Terms terms = lr.terms(((PrefixQuery) q).getField()); + } else if (q instanceof PrefixQuery prefixQuery) { + Terms terms = lr.terms(prefixQuery.getField()); if (terms != null) { - TermsEnum te = new CompiledAutomaton(((PrefixQuery) q).getAutomaton()).getTermsEnum(terms); + TermsEnum te = new CompiledAutomaton(prefixQuery.getAutomaton()).getTermsEnum(terms); for (BytesRef termValue = te.next(); termValue != null; termValue = te.next()) { PostingsEnum pe = te.postings(null); BytesRef localRef = null; @@ -179,10 +179,10 @@ public void queryDocTerms( } } } - } else if (q instanceof RegexpFilter) { - Terms terms = lr.terms(((RegexpFilter) q).getField()); + } else if (q instanceof RegexpFilter regexpFilter) { + Terms terms = lr.terms(regexpFilter.getField()); if (terms != null) { - TermsEnum te = ((RegexpFilter) q).getTermsEnum(terms); + TermsEnum te = regexpFilter.getTermsEnum(terms); for (BytesRef termValue = te.next(); termValue != null; termValue = te.next()) { PostingsEnum pe = te.postings(null); BytesRef localRef = null; @@ -352,7 +352,7 @@ private synchronized Directory getDirectory() { } private static Set convertTerms(final Convertor convertor, final Set terms) { - Set result = new HashSet<>(terms.size()); + Set result = HashSet.newHashSet(terms.size()); for (BytesRef term : terms) { result.add(convertor.convert(term)); } diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactory.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactory.java index 2b7dc3b4ed78..90cf26098a96 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactory.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/RecordOwnerLockFactory.java @@ -107,7 +107,7 @@ public String toString() { sb.append(this.getClass().getSimpleName()); sb.append("owned by: "); //NOI18N sb.append(owner); - sb.append('(').append(owner == null ? -1 : owner.getId()).append("); "); //NOI18N + sb.append('(').append(owner == null ? -1 : owner.threadId()).append("); "); //NOI18N sb.append("created from:\n"); stackTrace(caller == null ? new StackTraceElement[0] : caller.getStackTrace(), sb); return sb.toString(); @@ -157,7 +157,7 @@ private static T annotateException( } if (threads != null) { final Thread ct = Thread.currentThread(); - message.append("current thread: ").append(ct).append('(').append(ct.getId()).append(')'); //NOI18N + message.append("current thread: ").append(ct).append('(').append(ct.threadId()).append(')'); //NOI18N message.append("threads: \n"); //NOI18N //NOI18N stackTraces(threads, message); } @@ -172,7 +172,7 @@ private static void stackTraces( @NonNull final StringBuilder sb) { for (Map.Entry entry : traces.entrySet()) { final Thread t = entry.getKey(); - sb.append(t).append('(').append(t.getId()).append(")\n"); //NOI18N + sb.append(t).append('(').append(t.threadId()).append(")\n"); //NOI18N stackTrace(entry.getValue(), sb); } } diff --git a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java index bbe0622fd1e8..ed8db5fc1903 100644 --- a/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java +++ b/ide/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java @@ -399,7 +399,7 @@ public Query createRegExpQuery(final @NonNull String name, final @NonNull String @Override public Query createAllDocsQuery(final @NonNull String name) { if (name.isEmpty()) { - return new MatchAllDocsQuery(); + return MatchAllDocsQuery.INSTANCE; } else { return new FieldExistsQuery(name); } diff --git a/java/java.hints/nbproject/project.xml b/java/java.hints/nbproject/project.xml index 519b84f3bd0a..7fc138907621 100644 --- a/java/java.hints/nbproject/project.xml +++ b/java/java.hints/nbproject/project.xml @@ -86,15 +86,6 @@ - - org.netbeans.libs.lucene - - - - 9 - 9.0 - - org.netbeans.modules.editor diff --git a/java/java.source.base/nbproject/project.xml b/java/java.source.base/nbproject/project.xml index f2b82a27320c..99308917c1bf 100644 --- a/java/java.source.base/nbproject/project.xml +++ b/java/java.source.base/nbproject/project.xml @@ -90,8 +90,8 @@ - 9 - 9.0 + 10 + 10.0 diff --git a/java/java.source/nbproject/project.xml b/java/java.source/nbproject/project.xml index 6b91b8b00efb..61acf9088015 100644 --- a/java/java.source/nbproject/project.xml +++ b/java/java.source/nbproject/project.xml @@ -94,15 +94,6 @@ - - org.netbeans.libs.lucene - - - - 9 - 9.0 - - org.netbeans.modules.autoupdate.services diff --git a/java/java.sourceui/nbproject/project.xml b/java/java.sourceui/nbproject/project.xml index 097fa9501b5b..fbec295fcb1f 100644 --- a/java/java.sourceui/nbproject/project.xml +++ b/java/java.sourceui/nbproject/project.xml @@ -99,8 +99,8 @@ - 9 - 9.0 + 10 + 10.0 diff --git a/java/spi.java.hints/nbproject/project.xml b/java/spi.java.hints/nbproject/project.xml index 5242a6d952d9..9c3992279347 100644 --- a/java/spi.java.hints/nbproject/project.xml +++ b/java/spi.java.hints/nbproject/project.xml @@ -77,15 +77,6 @@ - - org.netbeans.libs.lucene - - - - 9 - 9.0 - - org.netbeans.modules.code.analysis @@ -405,6 +396,9 @@ org.netbeans.libs.junit4 + + org.netbeans.libs.lucene + org.netbeans.modules.classfile