mirror of
https://github.com/yacy/yacy_search_server.git
synced 2026-10-25 05:54:15 +00:00
Migrated to Solr 9.10.1 and Lucene 9.12.3
This commit is contained in:
1 parent
d0db6b69c1
commit
302b6af4df
8 files changed
+117
-86
No files matched your search
+14
-12
@@ -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>
|
||||
@@ -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}"
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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."
|
||||
@@ -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() {
|
||||
|
||||
@@ -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."
|
||||
Reference in new issue
Block a user