Migrated to Solr 9.10.1 and Lucene 9.12.3

This commit is contained in:
Michael Peter Christen committed 2026-07-12 13:13:07 +02:00
1 parent d0db6b69c1
commit 302b6af4df
8 files changed
+117 -86

No files matched your search

+14 -12
View File
@@ -12,17 +12,19 @@
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-core-9.0.0.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-solrj-9.0.0.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-scripting-9.0.0.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-client-9.4.58.v20250814.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-http-9.4.58.v20250814.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-io-9.4.58.v20250814.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-util-9.4.58.v20250814.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-http2-client-9.4.58.v20250814.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-http2-common-9.4.58.v20250814.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-http2-http-client-transport-9.4.58.v20250814.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-slf4j-api-1.7.36.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-slf4j-jdk14-1.7.36.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-api-9.10.1.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-core-9.10.1.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-scripting-9.10.1.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-solrj-9.10.1.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-solrj-streaming-9.10.1.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-solr-solrj-zookeeper-9.10.1.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-alpn-java-client-10.0.26.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-client-10.0.26.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-http-10.0.26.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-io-10.0.26.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-jetty-util-10.0.26.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-http2-client-10.0.26.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-http2-common-10.0.26.jar"/>
<classpathentry kind="lib" path="lib/solr9-bridge-http2-http-client-transport-10.0.26.jar"/>
<classpathentry kind="output" path="gen"/>
</classpath>
+3 -3
View File
@@ -107,7 +107,7 @@
<mkdir dir="${ivy.compile.stage}" />
<ivy:retrieve conf="compile" type="jar,bundle" pathid="compile.path" pattern="${ivy.compile.stage}/[artifact]-[revision].[ext]" />
<delete failonerror="false">
<fileset dir="${lib}" includes="javax.servlet-api-*.jar,jetty-*.jar" />
<fileset dir="${lib}" includes="javax.servlet-api-*.jar,jetty-*.jar,lucene-*.jar" />
</delete>
<copy todir="${ivy.lib.dir}" overwrite="true">
<fileset dir="${ivy.compile.stage}" includes="**/*" />
@@ -198,10 +198,10 @@
<fileset dir="${lib}" includes="solr9-bridge-*.jar" />
</path>
<target name="build-solr9-bridge" depends="init,resolve" description="build the private Solr 9.0 Jetty and SLF4J 1.7 island">
<target name="build-solr9-bridge" depends="init,resolve" description="build the private Solr 9.10 Jetty 10 island">
<delete dir="${solr9.bridge.tool}" failonerror="false"/>
<delete failonerror="false">
<fileset dir="${lib}" includes="solr9-bridge-*.jar,solr-core-9.0.0.jar,solr-solrj-9.0.0.jar,solr-scripting-9.0.0.jar,http2-*.jar,slf4j-*-1.7.36.jar" />
<fileset dir="${lib}" includes="solr9-bridge-*.jar,solr-*.jar,http2-*.jar,jetty-*-10.0.26.jar,slf4j-*-1.7.36.jar" />
</delete>
<mkdir dir="${solr9.bridge.tool}"/>
<javac srcdir="test/jetty" destdir="${solr9.bridge.tool}"
+43 -35
View File
@@ -16,7 +16,9 @@
<dependency org="com.cybozu.labs" name="langdetect" rev="1.1-20120112" conf="compile->master"/>
<dependency org="com.drewnoakes" name="metadata-extractor" rev="2.20.0" />
<dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.22.1"/>
<dependency org="com.fasterxml.jackson.dataformat" name="jackson-dataformat-cbor" rev="2.22.1"/>
<dependency org="com.github.ben-manes.caffeine" name="caffeine" rev="3.2.4"/>
<dependency org="com.carrotsearch" name="hppc" rev="0.10.0"/>
<dependency org="com.google.guava" name="guava" rev="33.6.0-jre" conf="compile->master"/>
<dependency org="com.google.guava" name="failureaccess" rev="1.0.3" />
<dependency org="com.ibm.icu" name="icu4j" rev="78.3"/>
@@ -53,19 +55,26 @@
<dependency org="org.apache.httpcomponents" name="httpmime" rev="4.5.14"/>
<dependency org="org.apache.james" name="apache-mime4j-core" rev="0.8.14" conf="compile->master"/>
<dependency org="org.apache.james" name="apache-mime4j-dom" rev="0.8.14" conf="compile->master"/>
<dependency org="org.apache.lucene" name="lucene-analysis-common" rev="9.0.0"/>
<dependency org="org.apache.lucene" name="lucene-backward-codecs" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-classification" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-codecs" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-grouping" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-highlighter" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-join" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-memory" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-misc" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-queries" rev="9.0.0" />
<dependency org="org.apache.lucene" name="lucene-queryparser" rev="9.0.0" conf="compile->master"/>
<dependency org="org.apache.lucene" name="lucene-spatial-extras" rev="9.0.0" conf="compile->master"/>
<dependency org="org.apache.lucene" name="lucene-suggest" rev="9.0.0"/>
<dependency org="jakarta.ws.rs" name="jakarta.ws.rs-api" rev="3.1.0" conf="compile->master"/>
<!-- Solr 9.10 initializes its Jersey API resources even in embedded mode. -->
<dependency org="org.glassfish.jersey.core" name="jersey-common" rev="3.1.11"/>
<dependency org="org.glassfish.jersey.core" name="jersey-server" rev="3.1.11"/>
<dependency org="org.glassfish.jersey.inject" name="jersey-hk2" rev="3.1.11"/>
<dependency org="org.glassfish.jersey.media" name="jersey-media-json-jackson" rev="3.1.11"/>
<dependency org="org.apache.lucene" name="lucene-analysis-common" rev="9.12.3"/>
<dependency org="org.apache.lucene" name="lucene-backward-codecs" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-classification" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-codecs" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-expressions" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-grouping" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-highlighter" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-join" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-memory" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-misc" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-queries" rev="9.12.3" />
<dependency org="org.apache.lucene" name="lucene-queryparser" rev="9.12.3" conf="compile->master"/>
<dependency org="org.apache.lucene" name="lucene-spatial-extras" rev="9.12.3" conf="compile->master"/>
<dependency org="org.apache.lucene" name="lucene-suggest" rev="9.12.3"/>
<dependency org="org.apache.pdfbox" name="pdfbox" rev="3.0.7" />
<dependency org="org.apache.poi" name="poi" rev="5.5.1" />
@@ -73,22 +82,25 @@
<!--
Solr is embedded and its Jetty-backed runner and HTTP/2 clients are not used directly by YaCy.
Keep Solr's Jetty 9 runtime family out of the embedded-server classpath so Jetty can
Keep Solr's Jetty 10 runtime family out of the embedded-server classpath so Jetty can
be migrated independently. The master configuration already omits transitives; the
explicit excludes preserve that boundary if the configuration mapping changes later.
-->
<dependency org="org.apache.solr" name="solr-core" rev="9.0.0" conf="solr9-bridge->master">
<dependency org="org.apache.solr" name="solr-core" rev="9.10.1" conf="solr9-bridge->master">
<exclude org="org.eclipse.jetty" module="*"/>
<exclude org="org.eclipse.jetty.http2" module="*"/>
</dependency>
<dependency org="org.apache.solr" name="solr-scripting" rev="9.0.0" conf="solr9-bridge->master">
<dependency org="org.apache.solr" name="solr-api" rev="9.10.1" conf="solr9-bridge->master"/>
<dependency org="org.apache.solr" name="solr-scripting" rev="9.10.1" conf="solr9-bridge->master">
<exclude org="org.eclipse.jetty" module="*"/>
<exclude org="org.eclipse.jetty.http2" module="*"/>
</dependency>
<dependency org="org.apache.solr" name="solr-solrj" rev="9.0.0" conf="solr9-bridge->master">
<dependency org="org.apache.solr" name="solr-solrj" rev="9.10.1" conf="solr9-bridge->master">
<exclude org="org.eclipse.jetty" module="*"/>
<exclude org="org.eclipse.jetty.http2" module="*"/>
</dependency>
<dependency org="org.apache.solr" name="solr-solrj-streaming" rev="9.10.1" conf="solr9-bridge->master"/>
<dependency org="org.apache.solr" name="solr-solrj-zookeeper" rev="9.10.1" conf="solr9-bridge->master"/>
<dependency org="org.apache.zookeeper" name="zookeeper" rev="3.9.5" conf="compile->master" />
<dependency org="org.bitlet" name="weupnp" rev="0.1.4" />
<dependency org="org.bouncycastle" name="bcmail-jdk18on" rev="1.84" />
@@ -96,7 +108,7 @@
<!-- Jetty 12 Core and EE8 form the public embedded-server runtime. -->
<dependency org="org.eclipse.jetty" name="jetty-http" rev="12.0.37" conf="compile->default"/>
<dependency org="org.eclipse.jetty" name="jetty-io" rev="12.0.37" conf="compile->default"/>
<dependency org="org.eclipse.jetty" name="jetty-client" rev="9.4.58.v20250814" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty" name="jetty-client" rev="10.0.26" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty" name="jetty-proxy" rev="12.0.37" conf="compile->default"/>
<dependency org="org.eclipse.jetty" name="jetty-security" rev="12.0.37" conf="compile->default"/>
<dependency org="org.eclipse.jetty" name="jetty-server" rev="12.0.37" conf="compile->default"/>
@@ -116,19 +128,20 @@
<dependency org="org.eclipse.jetty.ee8" name="jetty-ee8-webapp" rev="12.0.37" conf="compile->default">
<exclude org="org.eclipse.jetty.toolchain" module="jetty-servlet-api"/>
</dependency>
<!-- Private Solr bridge inputs remain on Jetty 9. -->
<dependency org="org.eclipse.jetty" name="jetty-http" rev="9.4.58.v20250814" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty" name="jetty-io" rev="9.4.58.v20250814" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty" name="jetty-util" rev="9.4.58.v20250814" conf="solr9-bridge->master" />
<!-- Private Solr bridge inputs remain on Jetty 10. -->
<dependency org="org.eclipse.jetty" name="jetty-alpn-java-client" rev="10.0.26" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty" name="jetty-http" rev="10.0.26" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty" name="jetty-io" rev="10.0.26" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty" name="jetty-util" rev="10.0.26" conf="solr9-bridge->master" />
<!--
Temporary Solr 9.0 runtime bridge: CoreContainer eagerly constructs an
Temporary Solr 9.10 runtime bridge: CoreContainer eagerly constructs an
Http2SolrClient for its shard/update handlers even in standalone mode.
YaCy source must not use these clients. Remove this Jetty 9 island only
after the relocated Solr 9.0 bridge replaces these unrelocated jars.
YaCy source must not use these clients. Remove this Jetty 10 island only
after the relocated Solr 9.10 bridge replaces these unrelocated jars.
-->
<dependency org="org.eclipse.jetty.http2" name="http2-client" rev="9.4.58.v20250814" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty.http2" name="http2-common" rev="9.4.58.v20250814" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty.http2" name="http2-http-client-transport" rev="9.4.58.v20250814" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty.http2" name="http2-client" rev="10.0.26" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty.http2" name="http2-common" rev="10.0.26" conf="solr9-bridge->master"/>
<dependency org="org.eclipse.jetty.http2" name="http2-http-client-transport" rev="10.0.26" conf="solr9-bridge->master"/>
<dependency org="org.jsoup" name="jsoup" rev="1.22.2" />
<dependency org="org.jwat" name="jwat-warc" rev="1.2.1">
<exclude module="bcprov-jdk15to18" />
@@ -136,24 +149,19 @@
<dependency org="org.locationtech.spatial4j" name="spatial4j" rev="0.8"/>
<dependency org="org.rrd4j" name="rrd4j" rev="3.10"/>
<!--
YaCy and the public Jetty runtime use SLF4J 2 with JUL as their single
provider. Solr 9.0.0 directly references the removed SLF4J 1.7
StaticLoggerBinder API, so its API and JUL binding are relocated into
the private Solr bridge instead of being exposed on this classpath.
YaCy, Jetty and Solr 9.10 use SLF4J 2 with JUL as their single provider.
-->
<dependency org="org.slf4j" name="slf4j-api" rev="2.0.17" conf="compile->master" force="true"/>
<dependency org="org.slf4j" name="jcl-over-slf4j" rev="2.0.17" conf="compile->master"/>
<dependency org="org.slf4j" name="log4j-over-slf4j" rev="2.0.17" conf="compile->master"/>
<dependency org="org.slf4j" name="slf4j-jdk14" rev="2.0.17" conf="compile->master"/>
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.36" conf="solr9-bridge->master"/>
<dependency org="org.slf4j" name="slf4j-jdk14" rev="1.7.36" conf="solr9-bridge->master"/>
<!-- This does not match langdetect.jar from pre-ivy -->
<dependency org="org.tukaani" name="xz" rev="1.12"/>
<dependency org="oro" name="oro" rev="2.0.8"/>
<dependency org="junit" name="junit" rev="4.13.2" conf="test->default"/>
<dependency org="org.hamcrest" name="hamcrest-core" rev="3.0" conf="test->default"/>
<!-- Build-time bytecode relocation for the private Solr 9.0 Jetty client island. -->
<!-- Build-time bytecode relocation for the private Solr 9.10 Jetty client island. -->
<dependency org="org.ow2.asm" name="asm" rev="9.9" conf="solr9-bridge-tool->master"/>
<dependency org="org.ow2.asm" name="asm-commons" rev="9.9" conf="solr9-bridge-tool->master"/>
<dependency org="com.github.luben" name="zstd-jni" rev="1.5.7-11"></dependency>
@@ -244,8 +244,7 @@ public class GrepHTMLResponseWriter implements QueryResponseWriter, SolrjRespons
private void writeApiLink(final Writer writer, final SolrParams solrParams) throws IOException {
final NamedList<Object> paramsList = solrParams.toNamedList();
paramsList.remove("wt");
@SuppressWarnings("deprecation")
String xmlquery = dqp.matcher("select?" + SolrParams.toSolrParams(paramsList).toString()).replaceAll("%22");
String xmlquery = dqp.matcher("select?" + paramsList.toSolrParams().toString()).replaceAll("%22");
writer.write("<div id=\"api\"><a href=\"" + xmlquery + "\"><img src=\"../env/grafics/api.png\" width=\"60\" height=\"40\" alt=\"API\" /></a>\n");
writer.write("<span>This search result can also be retrieved as XML. Click the API icon to see an example call to the search rss API.</span></div>\n");
@@ -125,8 +125,7 @@ public class HTMLResponseWriter implements QueryResponseWriter, SolrjResponseWri
final NamedList<Object> paramsList = solrParams.toNamedList();
paramsList.remove("wt");
@SuppressWarnings("deprecation")
final String xmlquery = dqp.matcher("select?" + SolrParams.toSolrParams(paramsList).toString() + "&core=" + coreName).replaceAll("%22");
final String xmlquery = dqp.matcher("select?" + paramsList.toSolrParams().toString() + "&core=" + coreName).replaceAll("%22");
writer.write("<div id=\"api\"><a href=\"" + xmlquery + "\"><img src=\"../env/grafics/api.png\" width=\"60\" height=\"40\" alt=\"API\" /></a>\n");
writer.write("<span>This search result can also be retrieved as XML. Click the API icon to see this page as XML.</span></div>\n");
+50 -24
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env sh
# Guard the production Jetty 12 classpath while Solr 9's Jetty 9 client remains
# Guard the production Jetty 12 classpath while Solr 9's Jetty 10 client remains
# relocated into a private package and out of YaCy source code.
set -eu
@@ -42,6 +42,19 @@ grep -E 'name="jetty-client".*conf="solr9-bridge->master"' ivy.xml >/dev/null 2>
fail "jetty-client must only be a direct input of the Solr 9 bridge"
server_jetty_version=12.0.37
bridge_jetty_version=10.0.26
solr_version=9.10.1
lucene_version=9.12.3
for artifact in core api scripting solrj solrj-streaming solrj-zookeeper; do
grep -E "org=\"org.apache.solr\" name=\"solr-$artifact\" rev=\"$solr_version\" conf=\"solr9-bridge->master\"" ivy.xml >/dev/null 2>&1 || \
fail "solr-$artifact $solr_version must be an explicit Solr bridge input"
done
for artifact in analysis-common backward-codecs classification codecs expressions grouping highlighter join memory misc queries queryparser spatial-extras suggest; do
grep -E "org=\"org.apache.lucene\" name=\"lucene-$artifact\" rev=\"$lucene_version\"" ivy.xml >/dev/null 2>&1 || \
fail "lucene-$artifact must be on version $lucene_version"
done
for artifact in jetty-http jetty-io jetty-proxy jetty-security jetty-server jetty-util; do
grep -E "org=\"org.eclipse.jetty\" name=\"$artifact\" rev=\"$server_jetty_version\" conf=\"compile->default\"" ivy.xml >/dev/null 2>&1 || \
@@ -57,13 +70,13 @@ if grep -E 'org="org.eclipse.jetty.compression"|name="jetty-compression-' ivy.xm
fi
if grep -E 'conf="jetty12-migration|rev="9\.4\.58\.v20250814" conf="compile' ivy.xml >/dev/null 2>&1; then
fail "ivy.xml still contains an isolated migration configuration or public Jetty 9 dependency"
fail "ivy.xml still contains an isolated migration configuration or obsolete public Jetty dependency"
fi
if grep -R -n -E --include='*.java' \
'(Jetty9HttpServerImpl|AbstractRemoteHandler|YaCyLoginService|YaCySecurityHandler|YaCyDigestCredential|YacyDomainHandler|InetPathAccessHandler)' \
source >/dev/null 2>&1; then
fail "obsolete Jetty 9 adapter references remain in production source"
fail "obsolete pre-Jetty-12 adapter references remain in production source"
fi
for artifact in http2-client http2-common http2-http-client-transport; do
@@ -71,10 +84,9 @@ for artifact in http2-client http2-common http2-http-client-transport; do
fail "$artifact must only be an input of the Solr 9 bridge"
done
for artifact in slf4j-api slf4j-jdk14; do
grep -E "name=\"$artifact\" rev=\"1.7.36\" conf=\"solr9-bridge->master\"" ivy.xml >/dev/null 2>&1 || \
fail "$artifact 1.7.36 must only be an input of the Solr 9 bridge"
done
if grep -E 'name="slf4j-(api|jdk14)" rev="1\.7\.36"' ivy.xml >/dev/null 2>&1; then
fail "Solr 9.10 must use YaCy's shared SLF4J 2 runtime"
fi
grep -E 'org="org.eclipse.jetty.toolchain" name="jetty-servlet-api" rev="4.0.9"' ivy.xml >/dev/null 2>&1 || \
fail "Jetty's EE8 Servlet 4 API must be an explicit dependency"
@@ -100,6 +112,18 @@ if [ -d lib ]; then
[ "$public_jetty_count" -gt 0 ] || \
fail "no production Jetty $server_jetty_version artifacts found"
public_lucene_count=0
for artifact in lib/lucene-*.jar; do
[ -e "$artifact" ] || continue
public_lucene_count=$((public_lucene_count + 1))
case $(basename "$artifact") in
*-"$lucene_version".jar) ;;
*) fail "Lucene artifact is not on version $lucene_version: $artifact" ;;
esac
done
[ "$public_lucene_count" -gt 0 ] || \
fail "no Lucene $lucene_version artifacts found"
servlet_api_count=0
for artifact in lib/*servlet-api-*.jar; do
[ -e "$artifact" ] || continue
@@ -121,6 +145,7 @@ if [ -d lib ]; then
'jetty-ee9-*.jar' \
'jetty-ee10-*.jar' \
'jetty-ee11-*.jar' \
'solr-api-*.jar' \
'solr-core-*.jar' \
'solr-solrj-*.jar' \
'solr-scripting-*.jar' \
@@ -133,20 +158,24 @@ if [ -d lib ]; then
done
for artifact in \
solr-core-9.0.0 \
solr-solrj-9.0.0 \
solr-scripting-9.0.0 \
jetty-client-9.4.58.v20250814 \
jetty-http-9.4.58.v20250814 \
jetty-io-9.4.58.v20250814 \
jetty-util-9.4.58.v20250814 \
http2-client-9.4.58.v20250814 \
http2-common-9.4.58.v20250814 \
http2-http-client-transport-9.4.58.v20250814 \
slf4j-api-1.7.36 \
slf4j-jdk14-1.7.36; do
solr-api-$solr_version \
solr-core-$solr_version \
solr-scripting-$solr_version \
solr-solrj-$solr_version \
solr-solrj-streaming-$solr_version \
solr-solrj-zookeeper-$solr_version \
jetty-alpn-java-client-$bridge_jetty_version \
jetty-client-$bridge_jetty_version \
jetty-http-$bridge_jetty_version \
jetty-io-$bridge_jetty_version \
jetty-util-$bridge_jetty_version \
http2-client-$bridge_jetty_version \
http2-common-$bridge_jetty_version \
http2-http-client-transport-$bridge_jetty_version; do
jar="lib/solr9-bridge-$artifact.jar"
[ -f "$jar" ] || fail "missing generated bridge artifact: $jar"
grep -F "<classpathentry kind=\"lib\" path=\"$jar\"/>" .classpath >/dev/null 2>&1 || \
fail "Eclipse classpath is missing generated bridge artifact: $jar"
if jar tf "$jar" | grep '^org/eclipse/jetty/' >/dev/null 2>&1; then
fail "unrelocated Jetty class in $jar"
fi
@@ -154,12 +183,9 @@ if [ -d lib ]; then
fail "unrelocated Jetty reference in $jar"
fi
if jar tf "$jar" | grep '^org/slf4j/' >/dev/null 2>&1; then
fail "unrelocated SLF4J class in $jar"
fi
if zipgrep -a -E 'org(/|\.)slf4j' "$jar" >/dev/null 2>&1; then
fail "unrelocated SLF4J reference in $jar"
fail "bridge artifact must not bundle SLF4J classes: $jar"
fi
done
fi
echo "PASS: production Jetty 12 and the relocated Solr 9 Jetty 9 dependencies are separated."
echo "PASS: production Jetty 12 and the relocated Solr 9 Jetty 10 dependencies are separated."
+3 -6
View File
@@ -2,9 +2,8 @@
* Build-time bytecode relocator for the Jetty 12 migration.
*
* This is deliberately a small build tool, not YaCy runtime code. It keeps
* Solr's public packages unchanged while moving its private Jetty 9 linkage
* below net.yacy.solr9.jetty and its SLF4J 1.7 linkage below
* net.yacy.solr9.slf4j.
* Solr's public packages unchanged while moving its private Jetty 10 linkage
* below net.yacy.solr9.jetty.
*/
package net.yacy.test.jetty;
@@ -29,9 +28,7 @@ public final class RelocateJettyPackages {
private static final Relocation[] RELOCATIONS = {
new Relocation("org/eclipse/jetty", "net/yacy/solr9/jetty",
"org.eclipse.jetty", "net.yacy.solr9.jetty"),
new Relocation("org/slf4j", "net/yacy/solr9/slf4j",
"org.slf4j", "net.yacy.solr9.slf4j")
"org.eclipse.jetty", "net.yacy.solr9.jetty")
};
private RelocateJettyPackages() {
+2 -2
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env sh
# Exercise the generated Solr 9.0 bridge. Run `ant compile` first. An optional
# Exercise the generated Solr 9.10 bridge. Run `ant compile` first. An optional
# JETTY12_CLASSPATH verifies coexistence with already resolved Jetty 12 jars.
set -eu
@@ -36,4 +36,4 @@ javac --release 17 -cp "$classpath" -d "$work" \
java -cp "$work:$classpath" org.junit.runner.JUnitCore \
net.yacy.cora.federate.solr.connector.EmbeddedSolrConnectorTest
echo "PASS: integrated Solr 9.0 bridge starts, updates, queries and closes."
echo "PASS: integrated Solr 9.10 bridge starts, updates, queries and closes."