From d1c5e558dd49d5b61f540a03a501e56b3b2f92aa Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 07:36:28 -0400 Subject: [PATCH 01/36] Remove the hadoop-auth module from source --- solr/modules/hadoop-auth/README.md | 46 -- solr/modules/hadoop-auth/build.gradle | 135 ----- .../hadoop/AttributeOnlyServletContext.java | 318 ------------ ...ConfigurableInternodeAuthHadoopPlugin.java | 138 ----- .../hadoop/DelegationTokenKerberosFilter.java | 173 ------- .../security/hadoop/HadoopAuthFilter.java | 157 ------ .../security/hadoop/HadoopAuthPlugin.java | 300 ----------- .../solr/security/hadoop/KerberosFilter.java | 120 ----- .../solr/security/hadoop/KerberosPlugin.java | 347 ------------- ...ontinuesRecorderAuthenticationHandler.java | 74 --- .../solr/security/hadoop/package-info.java | 19 - .../hadoop/HadoopSSLCredentialProvider.java | 70 --- .../providers/hadoop/package-info.java | 19 - .../hadoop-auth/src/test-files/core-site.xml | 23 - .../src/test-files/krb5-template.conf | 12 - .../hadoop-auth/src/test-files/log4j2.xml | 44 -- .../hadoop_kerberos_authz_config.json | 44 -- .../solr/security/hadoop_kerberos_config.json | 16 - .../hadoop_simple_auth_with_delegation.json | 29 -- .../solrj/impl/Krb5HttpClientUtils.java | 72 --- .../hadoop/HadoopAuthFakeGroupMapping.java | 35 -- .../solr/security/hadoop/HadoopTestUtil.java | 57 -- .../HttpParamDelegationTokenPlugin.java | 297 ----------- .../security/hadoop/ImpersonationUtil.java | 72 --- .../ImpersonatorCollectionsHandler.java | 56 -- .../security/hadoop/KerberosTestServices.java | 299 ----------- .../solr/security/hadoop/KerberosUtils.java | 117 ----- .../hadoop/SaslZkACLProviderTest.java | 264 ---------- .../hadoop/TestDelegationWithHadoopAuth.java | 403 --------------- .../TestImpersonationWithHadoopAuth.java | 222 -------- ...estRuleBasedAuthorizationWithKerberos.java | 125 ----- .../TestSolrCloudWithDelegationTokens.java | 487 ------------------ .../TestSolrCloudWithHadoopAuthPlugin.java | 95 ---- .../hadoop/TestSolrCloudWithKerberosAlt.java | 105 ---- .../TestSolrCloudWithSecureImpersonation.java | 353 ------------- .../hadoop/TestZkAclsWithHadoopAuth.java | 155 ------ .../HadoopSSLConfigurationsTest.java | 149 ------ .../HadoopSSLCredentialProviderTest.java | 73 --- 38 files changed, 5520 deletions(-) delete mode 100644 solr/modules/hadoop-auth/README.md delete mode 100644 solr/modules/hadoop-auth/build.gradle delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/AttributeOnlyServletContext.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/ConfigurableInternodeAuthHadoopPlugin.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/DelegationTokenKerberosFilter.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/HadoopAuthFilter.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/HadoopAuthPlugin.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/KerberosFilter.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/KerberosPlugin.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/RequestContinuesRecorderAuthenticationHandler.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/package-info.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/util/configuration/providers/hadoop/HadoopSSLCredentialProvider.java delete mode 100644 solr/modules/hadoop-auth/src/java/org/apache/solr/util/configuration/providers/hadoop/package-info.java delete mode 100644 solr/modules/hadoop-auth/src/test-files/core-site.xml delete mode 100644 solr/modules/hadoop-auth/src/test-files/krb5-template.conf delete mode 100644 solr/modules/hadoop-auth/src/test-files/log4j2.xml delete mode 100644 solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_kerberos_authz_config.json delete mode 100644 solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_kerberos_config.json delete mode 100644 solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_simple_auth_with_delegation.json delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/client/solrj/impl/Krb5HttpClientUtils.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HadoopAuthFakeGroupMapping.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HadoopTestUtil.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HttpParamDelegationTokenPlugin.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/ImpersonationUtil.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/ImpersonatorCollectionsHandler.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/KerberosTestServices.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/KerberosUtils.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/SaslZkACLProviderTest.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestDelegationWithHadoopAuth.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestImpersonationWithHadoopAuth.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestRuleBasedAuthorizationWithKerberos.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithDelegationTokens.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithHadoopAuthPlugin.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithKerberosAlt.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithSecureImpersonation.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestZkAclsWithHadoopAuth.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/util/configuration/HadoopSSLConfigurationsTest.java delete mode 100644 solr/modules/hadoop-auth/src/test/org/apache/solr/util/configuration/providers/hadoop/HadoopSSLCredentialProviderTest.java diff --git a/solr/modules/hadoop-auth/README.md b/solr/modules/hadoop-auth/README.md deleted file mode 100644 index 4771efbe9fd..00000000000 --- a/solr/modules/hadoop-auth/README.md +++ /dev/null @@ -1,46 +0,0 @@ - - -Apache Solr Hadoop Authentication Module -=============================== - -Introduction ------------- -This module implements the support for Hadoop Authentication in Apache Solr. - -Building --------- -The Hadoop Authentication module uses the same Gradle build as the core Solr components. - -To build the module, you can use - -``` -./gradlew :solr:modules:hadoop-auth:assemble -``` - -The resulting module will be placed to the libs directory, for example: -`solr/modules/hdfs/build/libs/solr-hadoop-auth-9.0.0-SNAPSHOT.jar` - -To execute the module tests: - -``` -./gradlew :solr:modules:hadoop-auth:test -``` - -Usage ------ -Please refer to the 'Hadoop Authentication Plugin' and 'Kerberos Authentication Plugin' sections of the reference guide: https://solr.apache.org/guide/solr/latest/deployment-guide/hadoop-authentication-plugin.html and https://solr.apache.org/guide/solr/latest/deployment-guide/kerberos-authentication-plugin.html diff --git a/solr/modules/hadoop-auth/build.gradle b/solr/modules/hadoop-auth/build.gradle deleted file mode 100644 index a038264f1f7..00000000000 --- a/solr/modules/hadoop-auth/build.gradle +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -apply plugin: 'java-library' - -description = 'Hadoop Authentication Module' - -dependencies { - // Spotbugs Annotations are only needed for old findbugs - // annotation usage like in Zookeeper during compilation time. - // It is not included in the release so exclude from checks. - testCompileOnly 'com.github.spotbugs:spotbugs-annotations' - permitUnusedDeclared 'com.github.spotbugs:spotbugs-annotations' - // Exclude these from jar validation and license checks. - configurations.jarValidation { - exclude group: "com.github.spotbugs", module: "spotbugs-annotations" - } - - implementation project(':solr:core') - implementation project(':solr:solrj') - implementation project(':solr:solrj-zookeeper') - - implementation 'org.slf4j:slf4j-api' - - api 'org.eclipse.jetty.toolchain:jetty-servlet-api' - - implementation 'com.fasterxml.jackson.core:jackson-core' - implementation 'com.google.guava:guava' - implementation 'io.dropwizard.metrics:metrics-core' - implementation 'org.apache.httpcomponents:httpclient' - implementation 'org.apache.httpcomponents:httpcore' - - implementation 'org.eclipse.jetty:jetty-client' - - // ZooKeeper & Curator - implementation('org.apache.zookeeper:zookeeper', { - exclude group: "org.apache.yetus", module: "audience-annotations" - }) - // required for instantiating a Zookeeper server (for embedding ZK or running tests) - runtimeOnly 'org.xerial.snappy:snappy-java' - - implementation('org.apache.curator:curator-framework', { - exclude group: 'org.apache.zookeeper', module: 'zookeeper' - }) - runtimeOnly('org.apache.curator:curator-recipes', { - exclude group: 'org.apache.zookeeper', module: 'zookeeper' - }) - - // Hadoop auth framework - implementation 'org.apache.hadoop:hadoop-annotations' - permitUnusedDeclared 'org.apache.hadoop:hadoop-annotations' - implementation ('org.apache.hadoop:hadoop-auth') { transitive = false } - implementation ('org.apache.hadoop:hadoop-common') { transitive = false } - // transitive of hadoop-common; used by Kerberos auth - runtimeOnly 'org.apache.hadoop.thirdparty:hadoop-shaded-guava' - runtimeOnly 'commons-collections:commons-collections' - runtimeOnly 'com.google.re2j:re2j' - runtimeOnly 'org.apache.commons:commons-configuration2' - runtimeOnly 'org.apache.kerby:kerb-core' - runtimeOnly 'org.apache.kerby:kerb-util' - - testImplementation project(':solr:test-framework') - testImplementation 'org.apache.lucene:lucene-test-framework' - testImplementation 'com.carrotsearch.randomizedtesting:randomizedtesting-runner' - testImplementation 'junit:junit' - testImplementation 'org.hamcrest:hamcrest' - - testImplementation('org.mockito:mockito-core', { - exclude group: "net.bytebuddy", module: "byte-buddy-agent" - }) - testRuntimeOnly('org.mockito:mockito-subclass', { - exclude group: "net.bytebuddy", module: "byte-buddy-agent" - }) - - testImplementation 'commons-io:commons-io' - - testImplementation 'org.apache.lucene:lucene-core' - - testImplementation project(':solr:solrj') - - // classes like solr.ICUCollationField, used by TestSolrCloudWithSecureImpersonation for example. - testRuntimeOnly project(':solr:modules:analysis-extras') - - // Hadoop MiniKdc Dependencies (for Kerberos auth tests) - testImplementation ('org.apache.hadoop:hadoop-minikdc', { - exclude group:'org.apache.kerby', module:'kerby-xdr' - exclude group:'org.apache.kerby', module:'token-provider' - exclude group:'org.slf4j', module:'slf4j-reload4j' - exclude group:'org.jline', module:'jline' - exclude group:'com.jcraft', module:'jsch' - }) - - // Zookeeper dependency - some tests like HdfsCloudBackupRestore need this - testImplementation('org.apache.curator:curator-client', { - exclude group: 'org.apache.zookeeper', module: 'zookeeper' - }) - testImplementation('org.apache.zookeeper:zookeeper', { - exclude group: "org.apache.yetus", module: "audience-annotations" - }) - testImplementation ('org.apache.zookeeper:zookeeper-jute') { - exclude group: 'org.apache.yetus', module: 'audience-annotations' - } - // required for instantiating a Zookeeper server in tests or embedded - testRuntimeOnly ('org.xerial.snappy:snappy-java') -} - - -// Copy all the test resource files from core to the build/resources/test directory -// of the Hadoop Authentication module so we can avoid duplication of the test -// resource files like schemas and SolrConfigs. This can be improved later by making -// the test classes load the resources from core directories directly. -tasks.register('copySolrCoreTestResources', Copy) { - from(project(':solr:core').sourceSets.test.resources.srcDirs) { - exclude '**/*.java' - } - into sourceSets.test.output.resourcesDir -} - -tasks.named('processTestResources').configure { - dependsOn copySolrCoreTestResources -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/AttributeOnlyServletContext.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/AttributeOnlyServletContext.java deleted file mode 100644 index e6ca2b57073..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/AttributeOnlyServletContext.java +++ /dev/null @@ -1,318 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.Collections; -import java.util.Enumeration; -import java.util.EventListener; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import javax.servlet.Filter; -import javax.servlet.FilterRegistration; -import javax.servlet.FilterRegistration.Dynamic; -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRegistration; -import javax.servlet.SessionCookieConfig; -import javax.servlet.SessionTrackingMode; -import javax.servlet.descriptor.JspConfigDescriptor; - -/** A concrete implementation of {@linkplain ServletContext} which support only attributes. */ -class AttributeOnlyServletContext implements ServletContext { - private Map attributes = new HashMap<>(); - - @Override - public void setSessionTrackingModes(Set sessionTrackingModes) {} - - @Override - public boolean setInitParameter(String name, String value) { - return false; - } - - @Override - public void setAttribute(String name, Object object) { - attributes.put(name, object); - } - - @Override - public void removeAttribute(String name) { - attributes.remove(name); - } - - @Override - public void log(String message, Throwable throwable) {} - - @Override - public void log(Exception exception, String msg) {} - - @Override - public void log(String msg) {} - - @Override - public String getVirtualServerName() { - return null; - } - - @Override - public int getSessionTimeout() { - return 0; - } - - @Override - public void setSessionTimeout(int sessionTimeout) {} - - @Override - public String getRequestCharacterEncoding() { - return null; - } - - @Override - public void setRequestCharacterEncoding(String encoding) {} - - @Override - public String getResponseCharacterEncoding() { - return null; - } - - @Override - public void setResponseCharacterEncoding(String encoding) {} - - @Override - public SessionCookieConfig getSessionCookieConfig() { - return null; - } - - @Override - public Enumeration getServlets() { - return null; - } - - @Override - public Map getServletRegistrations() { - return null; - } - - @Override - public ServletRegistration getServletRegistration(String servletName) { - return null; - } - - @Override - public Enumeration getServletNames() { - return null; - } - - @Override - public String getServletContextName() { - return null; - } - - @Override - public Servlet getServlet(String name) throws ServletException { - return null; - } - - @Override - public String getServerInfo() { - return null; - } - - @Override - public Set getResourcePaths(String path) { - return null; - } - - @Override - public InputStream getResourceAsStream(String path) { - return null; - } - - @Override - public URL getResource(String path) throws MalformedURLException { - return null; - } - - @Override - public RequestDispatcher getRequestDispatcher(String path) { - return null; - } - - @Override - public String getRealPath(String path) { - return null; - } - - @Override - public RequestDispatcher getNamedDispatcher(String name) { - return null; - } - - @Override - public int getMinorVersion() { - return 0; - } - - @Override - public String getMimeType(String file) { - return null; - } - - @Override - public int getMajorVersion() { - return 0; - } - - @Override - public JspConfigDescriptor getJspConfigDescriptor() { - return null; - } - - @Override - public Enumeration getInitParameterNames() { - return null; - } - - @Override - public String getInitParameter(String name) { - return null; - } - - @Override - public Map getFilterRegistrations() { - return null; - } - - @Override - public FilterRegistration getFilterRegistration(String filterName) { - return null; - } - - @Override - public Set getEffectiveSessionTrackingModes() { - return null; - } - - @Override - public int getEffectiveMinorVersion() { - return 0; - } - - @Override - public int getEffectiveMajorVersion() { - return 0; - } - - @Override - public Set getDefaultSessionTrackingModes() { - return null; - } - - @Override - public String getContextPath() { - return null; - } - - @Override - public ServletContext getContext(String uripath) { - return null; - } - - @Override - public ClassLoader getClassLoader() { - return null; - } - - @Override - public Enumeration getAttributeNames() { - return Collections.enumeration(attributes.keySet()); - } - - @Override - public Object getAttribute(String name) { - return attributes.get(name); - } - - @Override - public void declareRoles(String... roleNames) {} - - @Override - public T createServlet(Class clazz) throws ServletException { - return null; - } - - @Override - public T createListener(Class clazz) throws ServletException { - return null; - } - - @Override - public T createFilter(Class clazz) throws ServletException { - return null; - } - - @Override - public javax.servlet.ServletRegistration.Dynamic addServlet( - String servletName, Class servletClass) { - return null; - } - - @Override - public ServletRegistration.Dynamic addJspFile(String servletName, String jspFile) { - return null; - } - - @Override - public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet) { - return null; - } - - @Override - public javax.servlet.ServletRegistration.Dynamic addServlet( - String servletName, String className) { - return null; - } - - @Override - public void addListener(Class listenerClass) {} - - @Override - public void addListener(T t) {} - - @Override - public void addListener(String className) {} - - @Override - public Dynamic addFilter(String filterName, Class filterClass) { - return null; - } - - @Override - public Dynamic addFilter(String filterName, Filter filter) { - return null; - } - - @Override - public Dynamic addFilter(String filterName, String className) { - return null; - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/ConfigurableInternodeAuthHadoopPlugin.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/ConfigurableInternodeAuthHadoopPlugin.java deleted file mode 100644 index 35f59105012..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/ConfigurableInternodeAuthHadoopPlugin.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.io.IOException; -import java.lang.invoke.MethodHandles; -import java.net.URISyntaxException; -import java.util.Map; -import java.util.Objects; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.BiConsumer; -import org.apache.http.HttpRequest; -import org.apache.http.client.methods.HttpRequestWrapper; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.protocol.HttpContext; -import org.apache.solr.client.solrj.impl.Http2SolrClient; -import org.apache.solr.client.solrj.impl.HttpClientBuilderFactory; -import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder; -import org.apache.solr.core.CoreContainer; -import org.apache.solr.request.SolrRequestInfo; -import org.apache.solr.security.HttpClientBuilderPlugin; -import org.apache.solr.servlet.SolrDispatchFilter; -import org.eclipse.jetty.client.api.Request; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * This class extends {@linkplain HadoopAuthPlugin} by enabling configuration of authentication - * mechanism for Solr internal communication. - */ -public class ConfigurableInternodeAuthHadoopPlugin extends HadoopAuthPlugin - implements HttpClientBuilderPlugin { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - /** - * A property specifying the {@linkplain HttpClientBuilderFactory} used for the Solr internal - * communication. - */ - private static final String HTTPCLIENT_BUILDER_FACTORY = "clientBuilderFactory"; - - private static final String DO_AS = "doAs"; - - private HttpClientBuilderFactory factory = null; - - public ConfigurableInternodeAuthHadoopPlugin(CoreContainer coreContainer) { - super(coreContainer); - } - - @Override - public void init(Map pluginConfig) { - super.init(pluginConfig); - - String httpClientBuilderFactory = - (String) - Objects.requireNonNull( - pluginConfig.get(HTTPCLIENT_BUILDER_FACTORY), - "Please specify clientBuilderFactory to be used for Solr internal communication."); - factory = - this.coreContainer - .getResourceLoader() - .newInstance(httpClientBuilderFactory, HttpClientBuilderFactory.class); - } - - @Override - public void setup(Http2SolrClient client) { - factory.setup(client); - } - - @Override - public SolrHttpClientBuilder getHttpClientBuilder(SolrHttpClientBuilder builder) { - return factory.getHttpClientBuilder(builder); - } - - @Override - public void close() throws IOException { - super.close(); - - if (factory != null) { - factory.close(); - } - } - - @Override - public boolean interceptInternodeRequest(HttpRequest httpRequest, HttpContext httpContext) { - if (!(httpRequest instanceof HttpRequestWrapper)) { - log.warn("Unable to add doAs to forwarded/distributed request - unknown request type"); - return false; - } - AtomicBoolean success = new AtomicBoolean(false); - return intercept( - (key, value) -> { - HttpRequestWrapper request = (HttpRequestWrapper) httpRequest; - URIBuilder uriBuilder = new URIBuilder(request.getURI()); - uriBuilder.setParameter(key, value); - try { - request.setURI(uriBuilder.build()); - success.set(true); - } catch (URISyntaxException e) { - log.warn("Unable to add doAs to forwarded/distributed request - bad URI"); - } - }) - && success.get(); - } - - @Override - protected boolean interceptInternodeRequest(Request request) { - return intercept(request::param); - } - - private boolean intercept(BiConsumer setParam) { - SolrRequestInfo info = SolrRequestInfo.getRequestInfo(); - if (info != null - && (info.getAction() == SolrDispatchFilter.Action.FORWARD - || info.getAction() == SolrDispatchFilter.Action.REMOTEQUERY)) { - if (info.getUserPrincipal() != null) { - String name = info.getUserPrincipal().getName(); - log.debug("Setting doAs={} to forwarded/remote request", name); - setParam.accept(DO_AS, name); - return true; - } - } - return false; - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/DelegationTokenKerberosFilter.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/DelegationTokenKerberosFilter.java deleted file mode 100644 index 318ad72e7e7..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/DelegationTokenKerberosFilter.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import static org.apache.hadoop.security.token.delegation.ZKDelegationTokenSecretManager.ZK_DTSM_ZNODE_WORKING_PATH; -import static org.apache.hadoop.security.token.delegation.ZKDelegationTokenSecretManager.ZK_DTSM_ZNODE_WORKING_PATH_DEAFULT; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Objects; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import org.apache.curator.framework.CuratorFramework; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.security.UserGroupInformation; -import org.apache.hadoop.security.authentication.server.AuthenticationHandler; -import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter; -import org.apache.hadoop.security.token.delegation.web.HttpUserGroupInformation; -import org.apache.solr.common.cloud.SecurityAwareZkACLProvider; -import org.apache.solr.common.cloud.SolrZkClient; -import org.apache.zookeeper.CreateMode; -import org.apache.zookeeper.KeeperException; - -/** - * This is an authentication filter based on Hadoop's {@link DelegationTokenAuthenticationFilter}. - * The Kerberos plugin can be configured to use delegation tokens, which allow an application to - * reuse the authentication of an end-user or another application. - */ -public class DelegationTokenKerberosFilter extends DelegationTokenAuthenticationFilter { - @Override - public void init(FilterConfig conf) throws ServletException { - if (conf != null && "zookeeper".equals(conf.getInitParameter("signer.secret.provider"))) { - SolrZkClient zkClient = - (SolrZkClient) - conf.getServletContext().getAttribute(KerberosPlugin.DELEGATION_TOKEN_ZK_CLIENT); - try { - conf.getServletContext() - .setAttribute( - "signer.secret.provider.zookeeper.curator.client", - getCuratorClientInternal(conf, zkClient)); - } catch (InterruptedException | KeeperException e) { - throw new ServletException(e); - } - } - super.init(conf); - } - - /** - * Return the ProxyUser Configuration. FilterConfig properties beginning with - * "solr.impersonator.user.name" will be added to the configuration. - */ - @Override - protected Configuration getProxyuserConfiguration(FilterConfig filterConf) { - Configuration conf = new Configuration(false); - - Enumeration names = filterConf.getInitParameterNames(); - while (names.hasMoreElements()) { - String name = names.nextElement(); - if (name.startsWith(KerberosPlugin.IMPERSONATOR_PREFIX)) { - String value = filterConf.getInitParameter(name); - conf.set( - PROXYUSER_PREFIX + "." + name.substring(KerberosPlugin.IMPERSONATOR_PREFIX.length()), - value); - conf.set(name, value); - } - } - return conf; - } - - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) - throws IOException, ServletException { - // include Impersonator User Name in case someone (e.g. logger) wants it - FilterChain filterChainWrapper = - new FilterChain() { - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) - throws IOException, ServletException { - HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; - - UserGroupInformation ugi = HttpUserGroupInformation.get(); - if (ugi != null - && ugi.getAuthenticationMethod() - == UserGroupInformation.AuthenticationMethod.PROXY) { - UserGroupInformation realUserUgi = ugi.getRealUser(); - if (realUserUgi != null) { - httpRequest.setAttribute( - KerberosPlugin.IMPERSONATOR_USER_NAME, realUserUgi.getShortUserName()); - } - } - filterChain.doFilter(servletRequest, servletResponse); - } - }; - - super.doFilter(request, response, filterChainWrapper); - } - - @Override - protected void initializeAuthHandler(String authHandlerClassName, FilterConfig filterConfig) - throws ServletException { - // set the internal authentication handler in order to record whether the request should - // continue - super.initializeAuthHandler(authHandlerClassName, filterConfig); - AuthenticationHandler authHandler = getAuthenticationHandler(); - super.initializeAuthHandler( - RequestContinuesRecorderAuthenticationHandler.class.getName(), filterConfig); - RequestContinuesRecorderAuthenticationHandler newAuthHandler = - (RequestContinuesRecorderAuthenticationHandler) getAuthenticationHandler(); - newAuthHandler.setAuthHandler(authHandler); - } - - private CuratorFramework getCuratorClientInternal(FilterConfig conf, SolrZkClient zkClient) - throws KeeperException, InterruptedException { - // There is a race condition where the znodeWorking path used by ZKDelegationTokenSecretManager - // can be created by multiple nodes, but Hadoop doesn't handle this well. This explicitly - // creates it up front and handles if the znode already exists. This relates to HADOOP-18452 - // but didn't solve the underlying issue of the race condition. - - // If namespace parents are implicitly created, they won't have ACLs. - // So, let's explicitly create them. - CuratorFramework curatorFramework = getCuratorClient(zkClient); - CuratorFramework nullNsFw = curatorFramework.usingNamespace(null); - try { - String znodeWorkingPath = - '/' - + Objects.requireNonNullElse( - conf.getInitParameter(ZK_DTSM_ZNODE_WORKING_PATH), - ZK_DTSM_ZNODE_WORKING_PATH_DEAFULT) - + "/ZKDTSMRoot"; - nullNsFw.create().creatingParentContainersIfNeeded().forPath(znodeWorkingPath); - } catch (Exception ignore) { - } - - return curatorFramework; - } - - protected CuratorFramework getCuratorClient(SolrZkClient zkClient) - throws InterruptedException, KeeperException { - // Create /security znode upfront. Without this, the curator framework creates this directory - // path - // without the appropriate ACL configuration. This issue is possibly related to HADOOP-11973 - try { - zkClient.makePath( - SecurityAwareZkACLProvider.SECURITY_ZNODE_PATH, CreateMode.PERSISTENT, true); - } catch (KeeperException.NodeExistsException ex) { - // ignore? - } - - // Note - Curator complains if the namespace starts with / - String namespace = zkClient.getAbsolutePath(SecurityAwareZkACLProvider.SECURITY_ZNODE_PATH); - namespace = namespace.startsWith("/") ? namespace.substring(1) : namespace; - - return zkClient.getCuratorFramework().usingNamespace(namespace); - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/HadoopAuthFilter.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/HadoopAuthFilter.java deleted file mode 100644 index 25bd363d3ad..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/HadoopAuthFilter.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import static org.apache.hadoop.security.token.delegation.ZKDelegationTokenSecretManager.ZK_DTSM_ZNODE_WORKING_PATH; -import static org.apache.hadoop.security.token.delegation.ZKDelegationTokenSecretManager.ZK_DTSM_ZNODE_WORKING_PATH_DEAFULT; - -import java.io.IOException; -import java.util.Objects; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import org.apache.curator.framework.CuratorFramework; -import org.apache.hadoop.security.UserGroupInformation; -import org.apache.hadoop.security.authentication.server.AuthenticationHandler; -import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter; -import org.apache.hadoop.security.token.delegation.web.HttpUserGroupInformation; -import org.apache.solr.common.cloud.SecurityAwareZkACLProvider; -import org.apache.solr.common.cloud.SolrZkClient; -import org.apache.zookeeper.CreateMode; -import org.apache.zookeeper.KeeperException; - -/** - * This is an authentication filter based on Hadoop's {@link DelegationTokenAuthenticationFilter}. - */ -public class HadoopAuthFilter extends DelegationTokenAuthenticationFilter { - /** - * This property defines the configuration parameter storing the Solr zookeeper client ref in the - * servlet filter config. - */ - static final String DELEGATION_TOKEN_ZK_CLIENT = "solr.kerberos.delegation.token.zk.client"; - - @Override - public void init(FilterConfig conf) throws ServletException { - if (conf != null && "zookeeper".equals(conf.getInitParameter("signer.secret.provider"))) { - SolrZkClient zkClient = - (SolrZkClient) conf.getServletContext().getAttribute(DELEGATION_TOKEN_ZK_CLIENT); - try { - conf.getServletContext() - .setAttribute( - "signer.secret.provider.zookeeper.curator.client", - getCuratorClientInternal(conf, zkClient)); - } catch (KeeperException | InterruptedException e) { - throw new ServletException(e); - } - } - super.init(conf); - } - - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) - throws IOException, ServletException { - // include Impersonator User Name in case someone (e.g. logger) wants it - FilterChain filterChainWrapper = - new FilterChain() { - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) - throws IOException, ServletException { - HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; - - UserGroupInformation ugi = HttpUserGroupInformation.get(); - if (ugi != null - && ugi.getAuthenticationMethod() - == UserGroupInformation.AuthenticationMethod.PROXY) { - UserGroupInformation realUserUgi = ugi.getRealUser(); - if (realUserUgi != null) { - httpRequest.setAttribute( - KerberosPlugin.IMPERSONATOR_USER_NAME, realUserUgi.getShortUserName()); - } - } - filterChain.doFilter(servletRequest, servletResponse); - } - }; - - super.doFilter(request, response, filterChainWrapper); - } - - @Override - public void destroy() { - super.destroy(); - } - - @Override - protected void initializeAuthHandler(String authHandlerClassName, FilterConfig filterConfig) - throws ServletException { - // set the internal authentication handler in order to record whether the request should - // continue - super.initializeAuthHandler(authHandlerClassName, filterConfig); - AuthenticationHandler authHandler = getAuthenticationHandler(); - super.initializeAuthHandler( - RequestContinuesRecorderAuthenticationHandler.class.getName(), filterConfig); - RequestContinuesRecorderAuthenticationHandler newAuthHandler = - (RequestContinuesRecorderAuthenticationHandler) getAuthenticationHandler(); - newAuthHandler.setAuthHandler(authHandler); - } - - private CuratorFramework getCuratorClientInternal(FilterConfig conf, SolrZkClient zkClient) - throws KeeperException, InterruptedException { - // There is a race condition where the znodeWorking path used by ZKDelegationTokenSecretManager - // can be created by multiple nodes, but Hadoop doesn't handle this well. This explicitly - // creates it up front and handles if the znode already exists. This relates to HADOOP-18452 - // but didn't solve the underlying issue of the race condition. - - // If namespace parents are implicitly created, they won't have ACLs. - // So, let's explicitly create them. - CuratorFramework curatorFramework = getCuratorClient(zkClient); - CuratorFramework nullNsFw = curatorFramework.usingNamespace(null); - try { - String znodeWorkingPath = - '/' - + Objects.requireNonNullElse( - conf.getInitParameter(ZK_DTSM_ZNODE_WORKING_PATH), - ZK_DTSM_ZNODE_WORKING_PATH_DEAFULT) - + "/ZKDTSMRoot"; - nullNsFw.create().creatingParentContainersIfNeeded().forPath(znodeWorkingPath); - } catch (Exception ignore) { - } - - return curatorFramework; - } - - protected CuratorFramework getCuratorClient(SolrZkClient zkClient) - throws InterruptedException, KeeperException { - // Create /security znode upfront. Without this, the curator framework creates this directory - // path - // without the appropriate ACL configuration. This issue is possibly related to HADOOP-11973 - try { - zkClient.makePath( - SecurityAwareZkACLProvider.SECURITY_ZNODE_PATH, CreateMode.PERSISTENT, true); - } catch (KeeperException.NodeExistsException ex) { - // ignore? - } - - // Note - Curator complains if the namespace starts with / - String namespace = zkClient.getAbsolutePath(SecurityAwareZkACLProvider.SECURITY_ZNODE_PATH); - namespace = namespace.startsWith("/") ? namespace.substring(1) : namespace; - - return zkClient.getCuratorFramework().usingNamespace(namespace); - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/HadoopAuthPlugin.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/HadoopAuthPlugin.java deleted file mode 100644 index b103ee6919e..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/HadoopAuthPlugin.java +++ /dev/null @@ -1,300 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import static org.apache.solr.security.hadoop.HadoopAuthFilter.DELEGATION_TOKEN_ZK_CLIENT; -import static org.apache.solr.security.hadoop.RequestContinuesRecorderAuthenticationHandler.REQUEST_CONTINUES_ATTR; - -import com.fasterxml.jackson.core.JsonGenerator; -import java.io.IOException; -import java.lang.invoke.MethodHandles; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.hadoop.security.authentication.server.AuthenticationFilter; -import org.apache.hadoop.security.authentication.util.ZKSignerSecretProvider; -import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationHandler; -import org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder; -import org.apache.solr.cloud.ZkController; -import org.apache.solr.common.SolrException; -import org.apache.solr.common.SolrException.ErrorCode; -import org.apache.solr.common.util.EnvUtils; -import org.apache.solr.core.CoreContainer; -import org.apache.solr.security.AuthenticationPlugin; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * This class implements a generic plugin which can use authentication schemes exposed by the Hadoop - * framework. This plugin supports following features - integration with authentication mechanisms - * (e.g. kerberos) - Delegation token support - Proxy users (or secure impersonation) support - * - *

This plugin enables defining configuration parameters required by the underlying Hadoop - * authentication mechanism. These configuration parameters can either be specified as a Java system - * property or the default value can be specified as part of the plugin configuration. - * - *

The proxy users are configured by specifying relevant Hadoop configuration parameters. Please - * note that the delegation token support must be enabled for using the proxy users support. - * - *

Note - this class does not support configuring authentication mechanism for Solr internal - * communication. For this purpose {@linkplain ConfigurableInternodeAuthHadoopPlugin} should be - * used. If this plugin is used in the SolrCloud mode, it will use PKI based authentication - * mechanism for Solr internal communication. - */ -public class HadoopAuthPlugin extends AuthenticationPlugin { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - /** A property specifying the type of authentication scheme to be configured. */ - private static final String HADOOP_AUTH_TYPE = "type"; - - /** - * A property specifies the value of the prefix to be used to define Java system property for - * configuring the authentication mechanism. The name of the Java system property is defined by - * appending the configuration parmeter namne to this prefix value e.g. if prefix is 'solr' then - * the Java system property 'solr.kerberos.principal' defines the value of configuration parameter - * 'kerberos.principal'. - */ - private static final String SYSPROP_PREFIX_PROPERTY = "sysPropPrefix"; - - /** - * A property specifying the configuration parameters required by the authentication scheme - * defined by {@linkplain #HADOOP_AUTH_TYPE} property. - */ - private static final String AUTH_CONFIG_NAMES_PROPERTY = "authConfigs"; - - /** - * A property specifying the default values for the configuration parameters specified by the - * {@linkplain #AUTH_CONFIG_NAMES_PROPERTY} property. The default values are specified as a - * collection of key-value pairs (i.e. property-name : default_value). - */ - private static final String DEFAULT_AUTH_CONFIGS_PROPERTY = "defaultConfigs"; - - /** A property which enable (or disable) the delegation tokens functionality. */ - private static final String DELEGATION_TOKEN_ENABLED_PROPERTY = "enableDelegationToken"; - - /** A property which enables initialization of kerberos before connecting to Zookeeper. */ - private static final String INIT_KERBEROS_ZK = "initKerberosZk"; - - /** - * A property which configures proxy users for the underlying Hadoop authentication mechanism. - * This configuration is expressed as a collection of key-value pairs (i.e. property-name : - * value). - */ - public static final String PROXY_USER_CONFIGS = "proxyUserConfigs"; - - /** - * This parameter is used to debug the authentication related issues during development. This - * should not be used in production. - */ - private static final boolean TRACE_HTTP = Boolean.getBoolean("hadoopauth.tracehttp"); - - private AuthenticationFilter authFilter; - protected final CoreContainer coreContainer; - private boolean delegationTokenEnabled; - - public HadoopAuthPlugin(CoreContainer coreContainer) { - this.coreContainer = coreContainer; - } - - @Override - public void init(Map pluginConfig) { - try { - delegationTokenEnabled = - Boolean.parseBoolean((String) pluginConfig.get(DELEGATION_TOKEN_ENABLED_PROPERTY)); - authFilter = delegationTokenEnabled ? new HadoopAuthFilter() : new AuthenticationFilter(); - - // Initialize kerberos before initializing curator instance. - boolean initKerberosZk = - Boolean.parseBoolean((String) pluginConfig.getOrDefault(INIT_KERBEROS_ZK, "false")); - if (initKerberosZk) { - (new Krb5HttpClientBuilder()).getBuilder(); - } - - FilterConfig conf = getInitFilterConfig(pluginConfig); - authFilter.init(conf); - - } catch (ServletException e) { - log.error("Error initializing {}", getClass().getSimpleName(), e); - throw new SolrException( - ErrorCode.SERVER_ERROR, "Error initializing " + getClass().getName() + ": " + e); - } - } - - @SuppressWarnings("unchecked") - protected FilterConfig getInitFilterConfig(Map pluginConfig) { - Map params = new HashMap<>(); - - String type = (String) Objects.requireNonNull(pluginConfig.get(HADOOP_AUTH_TYPE)); - params.put(HADOOP_AUTH_TYPE, type); - - String sysPropPrefix = (String) pluginConfig.getOrDefault(SYSPROP_PREFIX_PROPERTY, "solr."); - Collection authConfigNames = - (Collection) - pluginConfig.getOrDefault(AUTH_CONFIG_NAMES_PROPERTY, Collections.emptyList()); - Map authConfigDefaults = - (Map) - pluginConfig.getOrDefault(DEFAULT_AUTH_CONFIGS_PROPERTY, Collections.emptyMap()); - Map proxyUserConfigs = - (Map) pluginConfig.getOrDefault(PROXY_USER_CONFIGS, Collections.emptyMap()); - - for (String configName : authConfigNames) { - String systemProperty = sysPropPrefix + configName; - String defaultConfigVal = authConfigDefaults.get(configName); - String configVal = EnvUtils.getProperty(systemProperty, defaultConfigVal); - if (configVal != null) { - params.put(configName, configVal); - } - } - if (delegationTokenEnabled) { - // This is the only kind we support right now anyway - params.putIfAbsent( - "delegation-token.token-kind", KerberosPlugin.DELEGATION_TOKEN_TYPE_DEFAULT); - } - - // Configure proxy user settings. - params.putAll(proxyUserConfigs); - - // Needed to work around HADOOP-13346 - params.put( - DelegationTokenAuthenticationHandler.JSON_MAPPER_PREFIX - + JsonGenerator.Feature.AUTO_CLOSE_TARGET, - "false"); - - final ServletContext servletContext = new AttributeOnlyServletContext(); - if (log.isInfoEnabled()) { - log.info("Params: {}", params); - } - - ZkController controller = coreContainer.getZkController(); - if (controller != null) { - servletContext.setAttribute(DELEGATION_TOKEN_ZK_CLIENT, controller.getZkClient()); - params.put(ZKSignerSecretProvider.DISCONNECT_FROM_ZOOKEEPER_ON_SHUTDOWN, "false"); - } - - FilterConfig conf = - new FilterConfig() { - @Override - public ServletContext getServletContext() { - return servletContext; - } - - @Override - public Enumeration getInitParameterNames() { - return Collections.enumeration(params.keySet()); - } - - @Override - public String getInitParameter(String param) { - return params.get(param); - } - - @Override - public String getFilterName() { - return "HadoopAuthFilter"; - } - }; - - return conf; - } - - @Override - public boolean doAuthenticate( - HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) - throws Exception { - if (TRACE_HTTP) { - log.info("----------HTTP Request---------"); - if (log.isInfoEnabled()) { - log.info("{} : {}", request.getMethod(), request.getRequestURI()); - log.info("Query : {}", request.getQueryString()); // nowarn - } - log.info("Headers :"); - Enumeration headers = request.getHeaderNames(); - while (headers.hasMoreElements()) { - String name = headers.nextElement(); - Enumeration hvals = request.getHeaders(name); - while (hvals.hasMoreElements()) { - if (log.isInfoEnabled()) { - log.info("{} : {}", name, hvals.nextElement()); - } - } - } - log.info("-------------------------------"); - } - - authFilter.doFilter(request, response, filterChain); - - switch (response.getStatus()) { - case HttpServletResponse.SC_UNAUTHORIZED: - // Cannot tell whether the 401 is due to wrong or missing credentials - numWrongCredentials.inc(); - break; - - case HttpServletResponse.SC_FORBIDDEN: - // Are there other status codes which should also translate to error? - numErrors.mark(); - break; - default: - if (response.getStatus() >= 200 && response.getStatus() <= 299) { - numAuthenticated.inc(); - } else { - numErrors.mark(); - } - } - - if (TRACE_HTTP) { - log.info("----------HTTP Response---------"); - if (log.isInfoEnabled()) { - log.info("Status : {}", response.getStatus()); - } - log.info("Headers :"); - for (String name : response.getHeaderNames()) { - for (String value : response.getHeaders(name)) { - log.info("{} : {}", name, value); - } - } - log.info("-------------------------------"); - } - - if (authFilter instanceof HadoopAuthFilter) { // delegation token mgmt. - String requestContinuesAttr = (String) request.getAttribute(REQUEST_CONTINUES_ATTR); - if (requestContinuesAttr == null) { - log.warn("Could not find {}", REQUEST_CONTINUES_ATTR); - return false; - } else { - return Boolean.parseBoolean(requestContinuesAttr); - } - } - - return true; - } - - @Override - public void close() throws IOException { - if (authFilter != null) { - authFilter.destroy(); - } - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/KerberosFilter.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/KerberosFilter.java deleted file mode 100644 index 436342bd484..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/KerberosFilter.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.io.IOException; -import java.lang.invoke.MethodHandles; -import java.security.Principal; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; -import javax.servlet.http.HttpServletResponse; -import org.apache.hadoop.security.authentication.server.AuthenticationFilter; -import org.apache.hadoop.security.authentication.server.AuthenticationHandler; -import org.apache.solr.core.CoreContainer; -import org.apache.solr.security.AuthorizationPlugin; -import org.apache.solr.security.PermissionNameProvider; -import org.apache.solr.security.RuleBasedAuthorizationPlugin; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class KerberosFilter extends AuthenticationFilter { - private final CoreContainer coreContainer; - - public KerberosFilter(CoreContainer coreContainer) { - this.coreContainer = coreContainer; - } - - @Override - public void init(FilterConfig conf) throws ServletException { - super.init(conf); - } - - @Override - protected void initializeAuthHandler(String authHandlerClassName, FilterConfig filterConfig) - throws ServletException { - // set the internal authentication handler in order to record whether the request should - // continue - super.initializeAuthHandler(authHandlerClassName, filterConfig); - AuthenticationHandler authHandler = getAuthenticationHandler(); - super.initializeAuthHandler( - RequestContinuesRecorderAuthenticationHandler.class.getName(), filterConfig); - RequestContinuesRecorderAuthenticationHandler newAuthHandler = - (RequestContinuesRecorderAuthenticationHandler) getAuthenticationHandler(); - newAuthHandler.setAuthHandler(authHandler); - } - - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - @Override - protected void doFilter( - FilterChain filterChain, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { - request = substituteOriginalUserRequest(request); - - super.doFilter(filterChain, request, response); - } - - /** - * If principal is an admin user, i.e. has ALL permissions (e.g. request coming from Solr node), - * and "originalUserPrincipal" is specified, then set originalUserPrincipal as the principal. This - * is the case in forwarded/remote requests through KerberosPlugin. This is needed because the - * original node that received this request did not perform any authorization, and hence we are - * the first ones to authorize the request (and we need the original user principal to do so). - * - * @return Substituted request, if applicable, or the original request - */ - private HttpServletRequest substituteOriginalUserRequest(HttpServletRequest request) { - final HttpServletRequest originalRequest = request; - AuthorizationPlugin authzPlugin = coreContainer.getAuthorizationPlugin(); - if (authzPlugin instanceof RuleBasedAuthorizationPlugin) { - RuleBasedAuthorizationPlugin ruleBased = (RuleBasedAuthorizationPlugin) authzPlugin; - if (request.getHeader(KerberosPlugin.ORIGINAL_USER_PRINCIPAL_HEADER) != null - && ruleBased.doesUserHavePermission( - request.getUserPrincipal(), PermissionNameProvider.Name.ALL)) { - request = - new HttpServletRequestWrapper(request) { - @Override - public Principal getUserPrincipal() { - String originalUserPrincipal = - originalRequest.getHeader(KerberosPlugin.ORIGINAL_USER_PRINCIPAL_HEADER); - if (log.isInfoEnabled()) { - log.info( - "Substituting user principal from {} to {}.", - originalRequest.getUserPrincipal(), - originalUserPrincipal); - } - return new Principal() { - @Override - public String getName() { - return originalUserPrincipal; - } - - @Override - public String toString() { - return originalUserPrincipal; - } - }; - } - }; - } - } - return request; - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/KerberosPlugin.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/KerberosPlugin.java deleted file mode 100644 index 66b9b90dee2..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/KerberosPlugin.java +++ /dev/null @@ -1,347 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.google.common.annotations.VisibleForTesting; -import java.lang.invoke.MethodHandles; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import java.util.function.BiConsumer; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.hadoop.security.authentication.util.KerberosName; -import org.apache.hadoop.security.authentication.util.ZKSignerSecretProvider; -import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationHandler; -import org.apache.http.HttpRequest; -import org.apache.http.protocol.HttpContext; -import org.apache.solr.client.solrj.impl.Http2SolrClient; -import org.apache.solr.client.solrj.impl.HttpListenerFactory; -import org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder; -import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder; -import org.apache.solr.cloud.ZkController; -import org.apache.solr.common.SolrException; -import org.apache.solr.common.SolrException.ErrorCode; -import org.apache.solr.common.cloud.SecurityAwareZkACLProvider; -import org.apache.solr.common.util.EnvUtils; -import org.apache.solr.core.CoreContainer; -import org.apache.solr.request.SolrRequestInfo; -import org.apache.solr.security.AuthenticationPlugin; -import org.apache.solr.security.HttpClientBuilderPlugin; -import org.apache.solr.servlet.SolrDispatchFilter; -import org.eclipse.jetty.client.api.Request; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class KerberosPlugin extends AuthenticationPlugin implements HttpClientBuilderPlugin { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - Krb5HttpClientBuilder kerberosBuilder = new Krb5HttpClientBuilder(); - private Filter kerberosFilter; - - public static final String NAME_RULES_PARAM = "solr.kerberos.name.rules"; - public static final String NAME_RULES_MECHANISM_PARAM = "solr.kerberos.name.rules.mechanism"; - public static final String COOKIE_DOMAIN_PARAM = "solr.kerberos.cookie.domain"; - public static final String COOKIE_PATH_PARAM = "solr.kerberos.cookie.path"; - public static final String PRINCIPAL_PARAM = "solr.kerberos.principal"; - public static final String KEYTAB_PARAM = "solr.kerberos.keytab"; - public static final String TOKEN_VALID_PARAM = "solr.kerberos.token.valid"; - public static final String COOKIE_PORT_AWARE_PARAM = "solr.kerberos.cookie.portaware"; - public static final String IMPERSONATOR_PREFIX = "solr.kerberos.impersonator.user."; - public static final String DELEGATION_TOKEN_ENABLED = "solr.kerberos.delegation.token.enabled"; - public static final String DELEGATION_TOKEN_KIND = "solr.kerberos.delegation.token.kind"; - public static final String DELEGATION_TOKEN_VALIDITY = "solr.kerberos.delegation.token.validity"; - public static final String DELEGATION_TOKEN_SECRET_PROVIDER = - "solr.kerberos.delegation.token.signer.secret.provider"; - public static final String DELEGATION_TOKEN_SECRET_PROVIDER_ZK_PATH = - "solr.kerberos.delegation.token.signer.secret.provider.zookeper.path"; - public static final String DELEGATION_TOKEN_SECRET_MANAGER_ZNODE_WORKING_PATH = - "solr.kerberos.delegation.token.secret.manager.znode.working.path"; - - public static final String DELEGATION_TOKEN_TYPE_DEFAULT = "solr-dt"; - public static final String IMPERSONATOR_DO_AS_HTTP_PARAM = "doAs"; - public static final String IMPERSONATOR_USER_NAME = "solr.impersonator.user.name"; - - public static final String ORIGINAL_USER_PRINCIPAL_HEADER = "originalUserPrincipal"; - - static final String DELEGATION_TOKEN_ZK_CLIENT = "solr.kerberos.delegation.token.zk.client"; - - private final CoreContainer coreContainer; - - public KerberosPlugin(CoreContainer coreContainer) { - this.coreContainer = coreContainer; - } - - @Override - public void init(Map pluginConfig) { - try { - FilterConfig conf = getInitFilterConfig(pluginConfig, false); - kerberosFilter.init(conf); - } catch (ServletException e) { - throw new SolrException( - ErrorCode.SERVER_ERROR, "Error initializing kerberos authentication plugin", e); - } - } - - @VisibleForTesting - protected FilterConfig getInitFilterConfig( - Map pluginConfig, boolean skipKerberosChecking) { - Map params = new HashMap<>(); - params.put("type", "kerberos"); - putParam(params, "kerberos.name.rules", NAME_RULES_PARAM, "DEFAULT"); - putParam( - params, - "kerberos.name.rules.mechanism", - NAME_RULES_MECHANISM_PARAM, - KerberosName.DEFAULT_MECHANISM); - putParam(params, "token.valid", TOKEN_VALID_PARAM, "30"); - putParam(params, "cookie.path", COOKIE_PATH_PARAM, "/"); - if (!skipKerberosChecking) { - putParam(params, "kerberos.principal", PRINCIPAL_PARAM, null); - putParam(params, "kerberos.keytab", KEYTAB_PARAM, null); - } else { - putParamOptional(params, "kerberos.principal", PRINCIPAL_PARAM); - putParamOptional(params, "kerberos.keytab", KEYTAB_PARAM); - } - - boolean delegationTokenEnabled = Boolean.getBoolean(DELEGATION_TOKEN_ENABLED); - ZkController controller = coreContainer.getZkController(); - - if (delegationTokenEnabled) { - putParam( - params, - "delegation-token.token-kind", - DELEGATION_TOKEN_KIND, - DELEGATION_TOKEN_TYPE_DEFAULT); - if (coreContainer.isZooKeeperAware()) { - putParam(params, "signer.secret.provider", DELEGATION_TOKEN_SECRET_PROVIDER, "zookeeper"); - if ("zookeeper".equals(params.get("signer.secret.provider"))) { - String zkHost = controller.getZkServerAddress(); - putParam(params, "token.validity", DELEGATION_TOKEN_VALIDITY, "36000"); - params.put("zk-dt-secret-manager.enable", "true"); - - String chrootPath = zkHost.contains("/") ? zkHost.substring(zkHost.indexOf('/')) : ""; - String znodeWorkingPath = - chrootPath + SecurityAwareZkACLProvider.SECURITY_ZNODE_PATH + "/zkdtsm"; - // Note - Curator complains if the znodeWorkingPath starts with / - znodeWorkingPath = - znodeWorkingPath.startsWith("/") ? znodeWorkingPath.substring(1) : znodeWorkingPath; - putParam( - params, - "zk-dt-secret-manager.znodeWorkingPath", - DELEGATION_TOKEN_SECRET_MANAGER_ZNODE_WORKING_PATH, - znodeWorkingPath); - putParam( - params, - "signer.secret.provider.zookeeper.path", - DELEGATION_TOKEN_SECRET_PROVIDER_ZK_PATH, - "/token"); - // ensure krb5 is setup properly before running curator - getHttpClientBuilder(SolrHttpClientBuilder.create()); - - params.put(ZKSignerSecretProvider.DISCONNECT_FROM_ZOOKEEPER_ON_SHUTDOWN, "false"); - } - } else { - log.info( - "CoreContainer is not ZooKeeperAware, not setting ZK-related delegation token properties"); - } - } - - // Special handling for the "cookie.domain" based on whether port should be - // appended to the domain. Useful for situations where multiple solr nodes are - // on the same host. - String usePortStr = EnvUtils.getProperty(COOKIE_PORT_AWARE_PARAM, null); - boolean needPortAwareCookies = (usePortStr == null) ? false : Boolean.parseBoolean(usePortStr); - - if (!needPortAwareCookies || !coreContainer.isZooKeeperAware()) { - putParam(params, "cookie.domain", COOKIE_DOMAIN_PARAM, null); - } else { // we need port aware cookies and we are in SolrCloud mode. - String host = EnvUtils.getProperty(COOKIE_DOMAIN_PARAM, null); - if (host == null) { - throw new SolrException( - ErrorCode.SERVER_ERROR, "Missing required parameter '" + COOKIE_DOMAIN_PARAM + "'."); - } - int port = controller.getHostPort(); - params.put("cookie.domain", host + ":" + port); - } - - // check impersonator config - EnvUtils.getProperties() - .forEach( - (key, value) -> { - if (key.startsWith(IMPERSONATOR_PREFIX)) { - if (!delegationTokenEnabled) { - throw new SolrException( - ErrorCode.SERVER_ERROR, - "Impersonator configuration requires delegation tokens to be enabled: " - + key); - } - params.put(key, value); - } - }); - - // Needed to work around HADOOP-13346 - params.put( - DelegationTokenAuthenticationHandler.JSON_MAPPER_PREFIX - + JsonGenerator.Feature.AUTO_CLOSE_TARGET, - "false"); - - final ServletContext servletContext = new AttributeOnlyServletContext(); - if (controller != null) { - servletContext.setAttribute(DELEGATION_TOKEN_ZK_CLIENT, controller.getZkClient()); - } - if (delegationTokenEnabled) { - kerberosFilter = new DelegationTokenKerberosFilter(); - // pass an attribute-enabled context in order to pass the zkClient - // and because the filter may pass a curator instance. - } else { - kerberosFilter = new KerberosFilter(coreContainer); - } - log.info("Params: {}", params); - - FilterConfig conf = - new FilterConfig() { - @Override - public ServletContext getServletContext() { - return servletContext; - } - - @Override - public Enumeration getInitParameterNames() { - return Collections.enumeration(params.keySet()); - } - - @Override - public String getInitParameter(String param) { - return params.get(param); - } - - @Override - public String getFilterName() { - return "KerberosFilter"; - } - }; - - return conf; - } - - private void putParam( - Map params, - String internalParamName, - String externalParamName, - String defaultValue) { - String value = EnvUtils.getProperty(externalParamName, defaultValue); - if (value == null) { - throw new SolrException( - ErrorCode.SERVER_ERROR, "Missing required parameter '" + externalParamName + "'."); - } - params.put(internalParamName, value); - } - - private void putParamOptional( - Map params, String internalParamName, String externalParamName) { - String value = EnvUtils.getProperty(externalParamName); - if (value != null) { - params.put(internalParamName, value); - } - } - - @Override - public boolean doAuthenticate(HttpServletRequest req, HttpServletResponse rsp, FilterChain chain) - throws Exception { - log.debug("Request to authenticate using kerberos: {}", req); - kerberosFilter.doFilter(req, rsp, chain); - - String requestContinuesAttr = - (String) - req.getAttribute(RequestContinuesRecorderAuthenticationHandler.REQUEST_CONTINUES_ATTR); - if (requestContinuesAttr == null) { - log.warn( - "Could not find {}", - RequestContinuesRecorderAuthenticationHandler.REQUEST_CONTINUES_ATTR); - return false; - } else { - return Boolean.parseBoolean(requestContinuesAttr); - } - } - - @Override - public boolean interceptInternodeRequest(HttpRequest httpRequest, HttpContext httpContext) { - return intercept(httpRequest::setHeader); - } - - @Override - protected boolean interceptInternodeRequest(Request request) { - return intercept(request::header); - } - - private boolean intercept(BiConsumer header) { - SolrRequestInfo info = SolrRequestInfo.getRequestInfo(); - if (info != null - && (info.getAction() == SolrDispatchFilter.Action.FORWARD - || info.getAction() == SolrDispatchFilter.Action.REMOTEQUERY)) { - if (info.getUserPrincipal() != null) { - if (log.isInfoEnabled()) { - log.info("Setting original user principal: {}", info.getUserPrincipal().getName()); - } - header.accept(ORIGINAL_USER_PRINCIPAL_HEADER, info.getUserPrincipal().getName()); - return true; - } - } - return false; - } - - @Override - public SolrHttpClientBuilder getHttpClientBuilder(SolrHttpClientBuilder builder) { - return kerberosBuilder.getBuilder(builder); - } - - @Override - public void setup(Http2SolrClient client) { - final HttpListenerFactory.RequestResponseListener listener = - new HttpListenerFactory.RequestResponseListener() { - @Override - public void onQueued(Request request) { - interceptInternodeRequest(request); - } - }; - client.addListenerFactory(() -> listener); - - kerberosBuilder.setup(client); - } - - @Override - public void close() { - kerberosFilter.destroy(); - kerberosBuilder.close(); - } - - protected Filter getKerberosFilter() { - return kerberosFilter; - } - - protected void setKerberosFilter(Filter kerberosFilter) { - this.kerberosFilter = kerberosFilter; - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/RequestContinuesRecorderAuthenticationHandler.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/RequestContinuesRecorderAuthenticationHandler.java deleted file mode 100644 index 2d18ddbf605..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/RequestContinuesRecorderAuthenticationHandler.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.io.IOException; -import java.util.Properties; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.hadoop.security.authentication.client.AuthenticationException; -import org.apache.hadoop.security.authentication.server.AuthenticationHandler; -import org.apache.hadoop.security.authentication.server.AuthenticationToken; - -/** - * {@link AuthenticationHandler} that delegates to another {@link AuthenticationHandler} and records - * the response of managementOperation (which indicates whether the request should continue or not). - */ -public class RequestContinuesRecorderAuthenticationHandler implements AuthenticationHandler { - // filled in by Plugin/Filter - static final String REQUEST_CONTINUES_ATTR = - "org.apache.solr.security.authentication.requestcontinues"; - - private AuthenticationHandler authHandler; - - public void setAuthHandler(AuthenticationHandler authHandler) { - this.authHandler = authHandler; - } - - @Override - public String getType() { - return authHandler.getType(); - } - - @Override - public void init(Properties config) throws ServletException { - // authHandler has already been init'ed, nothing to do here - } - - @Override - public void destroy() { - authHandler.destroy(); - } - - @Override - public boolean managementOperation( - AuthenticationToken token, HttpServletRequest request, HttpServletResponse response) - throws IOException, AuthenticationException { - boolean result = authHandler.managementOperation(token, request, response); - request.setAttribute( - RequestContinuesRecorderAuthenticationHandler.REQUEST_CONTINUES_ATTR, - Boolean.toString(result)); - return result; - } - - @Override - public AuthenticationToken authenticate(HttpServletRequest request, HttpServletResponse response) - throws IOException, AuthenticationException { - return authHandler.authenticate(request, response); - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/package-info.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/package-info.java deleted file mode 100644 index cfe322e9b26..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/security/hadoop/package-info.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** Commonly used classes for Solr security framework. */ -package org.apache.solr.security.hadoop; diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/util/configuration/providers/hadoop/HadoopSSLCredentialProvider.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/util/configuration/providers/hadoop/HadoopSSLCredentialProvider.java deleted file mode 100644 index b1926dad454..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/util/configuration/providers/hadoop/HadoopSSLCredentialProvider.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.solr.util.configuration.providers.hadoop; - -import static org.apache.hadoop.security.alias.CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH; - -import java.io.IOException; -import java.lang.invoke.MethodHandles; -import java.util.EnumMap; -import org.apache.hadoop.conf.Configuration; -import org.apache.solr.common.util.EnvUtils; -import org.apache.solr.common.util.StrUtils; -import org.apache.solr.util.configuration.providers.AbstractSSLCredentialProvider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** System property based SSL configuration provider */ -public class HadoopSSLCredentialProvider extends AbstractSSLCredentialProvider { - - private Configuration hadoopConfigurationProvider; - - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - public HadoopSSLCredentialProvider() { - this(new Configuration()); - } - - public HadoopSSLCredentialProvider(Configuration hadoopConfigurationProvider) { - if (StrUtils.isNullOrEmpty(EnvUtils.getProperty(CREDENTIAL_PROVIDER_PATH))) { - throw new RuntimeException( - "Cannot initialize Hadoop configuration provider without credential provider path. Use " - + CREDENTIAL_PROVIDER_PATH - + " system property to configure."); - } - this.hadoopConfigurationProvider = hadoopConfigurationProvider; - hadoopConfigurationProvider.set( - CREDENTIAL_PROVIDER_PATH, EnvUtils.getProperty(CREDENTIAL_PROVIDER_PATH)); - } - - @Override - protected EnumMap getCredentialKeyMap() { - return DEFAULT_CREDENTIAL_KEY_MAP; - } - - @Override - protected String getCredential(String keystoreKey) { - try { - char[] password = hadoopConfigurationProvider.getPassword(keystoreKey); - return password == null ? null : String.valueOf(password); - } catch (IOException e) { - log.error("Could not read password from Hadoop Credential Store: {}", keystoreKey, e); - return null; - } - } -} diff --git a/solr/modules/hadoop-auth/src/java/org/apache/solr/util/configuration/providers/hadoop/package-info.java b/solr/modules/hadoop-auth/src/java/org/apache/solr/util/configuration/providers/hadoop/package-info.java deleted file mode 100644 index 07a5a223d42..00000000000 --- a/solr/modules/hadoop-auth/src/java/org/apache/solr/util/configuration/providers/hadoop/package-info.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** Commonly used classes for Solr security framework. */ -package org.apache.solr.util.configuration.providers.hadoop; diff --git a/solr/modules/hadoop-auth/src/test-files/core-site.xml b/solr/modules/hadoop-auth/src/test-files/core-site.xml deleted file mode 100644 index 66718b71127..00000000000 --- a/solr/modules/hadoop-auth/src/test-files/core-site.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - hadoop.security.group.mapping - org.apache.solr.security.hadoop.HadoopAuthFakeGroupMapping - - diff --git a/solr/modules/hadoop-auth/src/test-files/krb5-template.conf b/solr/modules/hadoop-auth/src/test-files/krb5-template.conf deleted file mode 100644 index 4fdd43718c4..00000000000 --- a/solr/modules/hadoop-auth/src/test-files/krb5-template.conf +++ /dev/null @@ -1,12 +0,0 @@ -[libdefaults] - kdc_realm = _REALM_ - default_realm = _REALM_ - udp_preference_limit = _UDP_LIMIT_ - allow_weak_crypto = true - dns_canonicalize_hostname = false - #_KDC_TCP_PORT_ - #_KDC_UDP_PORT_ -[realms] - _REALM_ = { - kdc = localhost:_KDC_PORT_ - } diff --git a/solr/modules/hadoop-auth/src/test-files/log4j2.xml b/solr/modules/hadoop-auth/src/test-files/log4j2.xml deleted file mode 100644 index 0e8f08c0c61..00000000000 --- a/solr/modules/hadoop-auth/src/test-files/log4j2.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - %maxLen{%-4r %-5p (%t) [%notEmpty{n:%X{node_name}}%notEmpty{ c:%X{collection}}%notEmpty{ s:%X{shard}}%notEmpty{ r:%X{replica}}%notEmpty{ x:%X{core}}%notEmpty{ t:%X{trace_id}}] %c{1.} %m%notEmpty{ - =>%ex{short}}}{10240}%n - - - - - - - - - - - - - - - - - - - diff --git a/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_kerberos_authz_config.json b/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_kerberos_authz_config.json deleted file mode 100644 index 8799fed5fd1..00000000000 --- a/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_kerberos_authz_config.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "authentication": { - "class": "solr.ConfigurableInternodeAuthHadoopPlugin", - "sysPropPrefix": "solr.", - "type": "kerberos", - "clientBuilderFactory": "org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder", - "enableDelegationToken": "true", - "initKerberosZk": "true", - "authConfigs": [ - "kerberos.principal", - "kerberos.keytab", - "kerberos.name.rules" - ], - "defaultConfigs": { - }, - "proxyUserConfigs": { - "proxyuser.solr.hosts": "*", - "proxyuser.solr.groups": "*" - } - }, - "authorization":{ - "class":"solr.RuleBasedAuthorizationPlugin", - "useShortName": "true", - "permissions":[ - { - "name": "read", - "role": "alt_role", - "collection": "public" - }, - { - "name":"read", - "role":"admin" - }, - { - "name":"update", - "role":"admin" - } - ], - "user-role": { - "solr":"admin", - "solr_alt": "alt_role" - } - } -} diff --git a/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_kerberos_config.json b/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_kerberos_config.json deleted file mode 100644 index a25b7061175..00000000000 --- a/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_kerberos_config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "authentication": { - "class": "solr.ConfigurableInternodeAuthHadoopPlugin", - "sysPropPrefix": "solr.", - "type": "kerberos", - "clientBuilderFactory": "org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder", - "initKerberosZk": "true", - "authConfigs": [ - "kerberos.principal", - "kerberos.keytab", - "kerberos.name.rules" - ], - "defaultConfigs": { - } - } -} diff --git a/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_simple_auth_with_delegation.json b/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_simple_auth_with_delegation.json deleted file mode 100644 index c06c58a05ee..00000000000 --- a/solr/modules/hadoop-auth/src/test-files/solr/security/hadoop_simple_auth_with_delegation.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "authentication": { - "class": "solr.HadoopAuthPlugin", - "sysPropPrefix": "solr.", - "type": "simple", - "enableDelegationToken":"true", - "authConfigs": [ - "delegation-token.token-kind", - "delegation-token.update-interval.sec", - "delegation-token.max-lifetime.sec", - "delegation-token.renewal-interval.sec", - "delegation-token.removal-scan-interval.sec", - "cookie.domain", - "signer.secret.provider", - "zk-dt-secret-manager.enable", - "zk-dt-secret-manager.znodeWorkingPath", - "signer.secret.provider.zookeeper.path" - ], - "defaultConfigs": { - "delegation-token.token-kind": "solr-dt", - "signer.secret.provider": "zookeeper", - "zk-dt-secret-manager.enable": "true", - "token.validity": "36000", - "zk-dt-secret-manager.znodeWorkingPath": "solr/security/zkdtsm", - "signer.secret.provider.zookeeper.path": "/token", - "cookie.domain": "127.0.0.1" - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/client/solrj/impl/Krb5HttpClientUtils.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/client/solrj/impl/Krb5HttpClientUtils.java deleted file mode 100644 index 8f78c5035fb..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/client/solrj/impl/Krb5HttpClientUtils.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.client.solrj.impl; - -import java.lang.invoke.MethodHandles; -import java.net.URI; -import javax.security.auth.login.AppConfigurationEntry; -import javax.security.auth.login.Configuration; -import org.apache.solr.common.util.EnvUtils; -import org.eclipse.jetty.client.HttpAuthenticationStore; -import org.eclipse.jetty.client.WWWAuthenticationProtocolHandler; -import org.eclipse.jetty.client.util.SPNEGOAuthentication; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * All of this is a clone of Krb5HttpClientBuilder to hardcode the user-principal for a unit test - */ -public class Krb5HttpClientUtils { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private static Configuration jaasConfig = new Krb5HttpClientBuilder.SolrJaasConfiguration(); - - public static void setup(Http2SolrClient http2Client, String principalName) { - HttpAuthenticationStore authenticationStore = new HttpAuthenticationStore(); - authenticationStore.addAuthentication(createSPNEGOAuthentication(principalName)); - http2Client - .getProtocolHandlers() - .put(new WWWAuthenticationProtocolHandler(http2Client.getHttpClient())); - http2Client.setAuthenticationStore(authenticationStore); - } - - private static SPNEGOAuthentication createSPNEGOAuthentication(String principalName) { - SPNEGOAuthentication authentication = - new SPNEGOAuthentication(null) { - - @Override - public boolean matches(String type, URI uri, String realm) { - return this.getType().equals(type); - } - }; - String clientAppName = EnvUtils.getProperty("solr.kerberos.jaas.appname", "Client"); - AppConfigurationEntry[] entries = jaasConfig.getAppConfigurationEntry(clientAppName); - if (entries == null) { - log.warn( - "Could not find login configuration entry for {}. SPNego authentication may not be successful.", - (Object) clientAppName); - return authentication; - } - if (entries.length != 1) { - log.warn("Multiple login modules are specified in the configuration file"); - return authentication; - } - - Krb5HttpClientBuilder.setAuthenticationOptions( - authentication, entries[0].getOptions(), principalName); - return authentication; - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HadoopAuthFakeGroupMapping.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HadoopAuthFakeGroupMapping.java deleted file mode 100644 index 053f3e55061..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HadoopAuthFakeGroupMapping.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.util.Collections; -import java.util.List; -import org.apache.hadoop.security.GroupMappingServiceProvider; - -/** Fake mapping for Hadoop to prevent falling back to Shell group provider */ -public class HadoopAuthFakeGroupMapping implements GroupMappingServiceProvider { - @Override - public List getGroups(String user) { - return Collections.singletonList("supergroup"); - } - - @Override - public void cacheGroupsRefresh() {} - - @Override - public void cacheGroupsAdd(List groups) {} -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HadoopTestUtil.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HadoopTestUtil.java deleted file mode 100644 index 2b1955b55f9..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HadoopTestUtil.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.solr.security.hadoop; - -import java.lang.invoke.MethodHandles; -import org.apache.hadoop.io.nativeio.NativeIO; -import org.apache.lucene.util.Constants; -import org.apache.solr.SolrTestCase; -import org.apache.solr.common.util.EnvUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class HadoopTestUtil { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - public static void checkAssumptions() { - ensureHadoopHomeNotSet(); - checkHadoopWindows(); - } - - /** - * If Hadoop home is set via environment variable HADOOP_HOME or Java system property - * hadoop.home.dir, the behavior of test is undefined. Ensure that these are not set before - * starting. It is not possible to easily unset environment variables so better to bail out early - * instead of trying to test. - */ - protected static void ensureHadoopHomeNotSet() { - if (System.getenv("HADOOP_HOME") != null) { - SolrTestCase.fail("Ensure that HADOOP_HOME environment variable is not set."); - } - if (EnvUtils.getProperty("hadoop.home.dir") != null) { - SolrTestCase.fail("Ensure that \"hadoop.home.dir\" Java property is not set."); - } - } - - /** Hadoop integration tests fail on Windows without Hadoop NativeIO */ - protected static void checkHadoopWindows() { - SolrTestCase.assumeTrue( - "Hadoop does not work on Windows without Hadoop NativeIO", - !Constants.WINDOWS || NativeIO.isAvailable()); - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HttpParamDelegationTokenPlugin.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HttpParamDelegationTokenPlugin.java deleted file mode 100644 index 58212f8b8ba..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/HttpParamDelegationTokenPlugin.java +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.security.Principal; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Properties; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; -import javax.servlet.http.HttpServletResponse; -import org.apache.hadoop.security.authentication.client.AuthenticationException; -import org.apache.hadoop.security.authentication.server.AuthenticationFilter; -import org.apache.hadoop.security.authentication.server.AuthenticationHandler; -import org.apache.hadoop.security.authentication.server.AuthenticationToken; -import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationHandler; -import org.apache.http.HttpException; -import org.apache.http.HttpRequest; -import org.apache.http.HttpRequestInterceptor; -import org.apache.http.NameValuePair; -import org.apache.http.client.utils.URLEncodedUtils; -import org.apache.http.protocol.HttpContext; -import org.apache.solr.client.solrj.impl.Http2SolrClient; -import org.apache.solr.client.solrj.impl.HttpClientUtil; -import org.apache.solr.client.solrj.impl.HttpListenerFactory; -import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder; -import org.apache.solr.common.SolrException; -import org.apache.solr.common.util.ExecutorUtil; -import org.apache.solr.core.CoreContainer; -import org.apache.solr.request.SolrRequestInfo; -import org.eclipse.jetty.client.api.Request; - -/** - * AuthenticationHandler that supports delegation tokens and simple authentication via the "user" - * http parameter - */ -public class HttpParamDelegationTokenPlugin extends KerberosPlugin { - public static final String USER_PARAM = "user"; // http parameter for user authentication - public static final String REMOTE_HOST_PARAM = - "remoteHost"; // http parameter for indicating remote host - public static final String REMOTE_ADDRESS_PARAM = - "remoteAddress"; // http parameter for indicating remote address - public static final String INTERNAL_REQUEST_HEADER = - "internalRequest"; // http header for indicating internal request - - boolean isSolrThread() { - return ExecutorUtil.isSolrServerThread(); - } - - private final HttpRequestInterceptor interceptor = - new HttpRequestInterceptor() { - @Override - public void process(HttpRequest httpRequest, HttpContext httpContext) - throws HttpException, IOException { - getPrincipal().ifPresent(usr -> httpRequest.setHeader(INTERNAL_REQUEST_HEADER, usr)); - } - }; - - public HttpParamDelegationTokenPlugin(CoreContainer coreContainer) { - super(coreContainer); - } - - @Override - public void init(Map pluginConfig) { - try { - final FilterConfig initConf = getInitFilterConfig(pluginConfig, true); - - FilterConfig conf = - new FilterConfig() { - @Override - public ServletContext getServletContext() { - return initConf.getServletContext(); - } - - @Override - public Enumeration getInitParameterNames() { - return initConf.getInitParameterNames(); - } - - @Override - public String getInitParameter(String param) { - if (AuthenticationFilter.AUTH_TYPE.equals(param)) { - return HttpParamDelegationTokenAuthenticationHandler.class.getName(); - } - return initConf.getInitParameter(param); - } - - @Override - public String getFilterName() { - return "HttpParamFilter"; - } - }; - Filter kerberosFilter = new HttpParamToRequestFilter(); - kerberosFilter.init(conf); - setKerberosFilter(kerberosFilter); - } catch (ServletException e) { - throw new SolrException( - SolrException.ErrorCode.SERVER_ERROR, - "Error initializing kerberos authentication plugin: " + e); - } - } - - private Optional getPrincipal() { - SolrRequestInfo reqInfo = SolrRequestInfo.getRequestInfo(); - String usr; - if (reqInfo != null) { - Principal principal = reqInfo.getUserPrincipal(); - if (principal == null) { - // this had a request but not authenticated - // so we don't not need to set a principal - return Optional.empty(); - } else { - usr = principal.getName(); - } - } else { - if (!isSolrThread()) { - // if this is not running inside a Solr threadpool (as in testcases) - // then no need to add any header - return Optional.empty(); - } - // this request seems to be originated from Solr itself - usr = "$"; // special name to denote the user is the node itself - } - return Optional.of(usr); - } - - @Override - public void setup(Http2SolrClient client) { - final HttpListenerFactory.RequestResponseListener listener = - new HttpListenerFactory.RequestResponseListener() { - @Override - public void onQueued(Request request) { - getPrincipal().ifPresent(usr -> request.header(INTERNAL_REQUEST_HEADER, usr)); - } - }; - client.addListenerFactory(() -> listener); - } - - @Override - public SolrHttpClientBuilder getHttpClientBuilder(SolrHttpClientBuilder builder) { - HttpClientUtil.addRequestInterceptor(interceptor); - builder = super.getHttpClientBuilder(builder); - return builder; - } - - @Override - public void close() { - HttpClientUtil.removeRequestInterceptor(interceptor); - super.close(); - } - - private static String getHttpParam(HttpServletRequest request, String param) { - List pairs = - URLEncodedUtils.parse(request.getQueryString(), StandardCharsets.UTF_8); - for (NameValuePair nvp : pairs) { - if (param.equals(nvp.getName())) { - return nvp.getValue(); - } - } - return null; - } - - public static class HttpParamDelegationTokenAuthenticationHandler - extends DelegationTokenAuthenticationHandler { - - public HttpParamDelegationTokenAuthenticationHandler() { - super(new HttpParamAuthenticationHandler()); - } - - @Override - public void init(Properties config) throws ServletException { - Properties conf = new Properties(); - for (Map.Entry entry : config.entrySet()) { - conf.setProperty((String) entry.getKey(), (String) entry.getValue()); - } - conf.setProperty(TOKEN_KIND, KerberosPlugin.DELEGATION_TOKEN_TYPE_DEFAULT); - super.init(conf); - } - - private static class HttpParamAuthenticationHandler implements AuthenticationHandler { - @Override - public String getType() { - return "dummy"; - } - - @Override - public void init(Properties config) throws ServletException {} - - @Override - public void destroy() {} - - @Override - public boolean managementOperation( - AuthenticationToken token, HttpServletRequest request, HttpServletResponse response) - throws IOException, AuthenticationException { - return false; - } - - @Override - public AuthenticationToken authenticate( - HttpServletRequest request, HttpServletResponse response) - throws IOException, AuthenticationException { - AuthenticationToken token = null; - String userName = getHttpParam(request, USER_PARAM); - if (userName == null) { - // check if this is an internal request - userName = request.getHeader(INTERNAL_REQUEST_HEADER); - } - if (userName != null) { - return new AuthenticationToken(userName, userName, "test"); - } else { - response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - response.setHeader("WWW-Authenticate", "dummy"); - } - return token; - } - } - } - - /** Filter that converts http params to HttpServletRequest params */ - private static class HttpParamToRequestFilter extends DelegationTokenKerberosFilter { - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - throws IOException, ServletException { - final HttpServletRequest httpRequest = (HttpServletRequest) request; - final HttpServletRequestWrapper requestWrapper = - new HttpServletRequestWrapper(httpRequest) { - @Override - public String getRemoteHost() { - String param = getHttpParam(httpRequest, REMOTE_HOST_PARAM); - return param != null ? param : httpRequest.getRemoteHost(); - } - - @Override - public String getRemoteAddr() { - String param = getHttpParam(httpRequest, REMOTE_ADDRESS_PARAM); - return param != null ? param : httpRequest.getRemoteAddr(); - } - }; - - super.doFilter(requestWrapper, response, chain); - } - - @Override - protected void doFilter( - FilterChain filterChain, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { - // remove the filter-specific authentication information, so it doesn't get accidentally - // forwarded. - List newPairs = new ArrayList<>(); - List pairs = - URLEncodedUtils.parse(request.getQueryString(), StandardCharsets.UTF_8); - for (NameValuePair nvp : pairs) { - if (!USER_PARAM.equals(nvp.getName())) { - newPairs.add(nvp); - } else { - request.setAttribute(USER_PARAM, nvp.getValue()); - } - } - final String queryStringNoUser = URLEncodedUtils.format(newPairs, StandardCharsets.UTF_8); - HttpServletRequest requestWrapper = - new HttpServletRequestWrapper(request) { - @Override - public String getQueryString() { - return queryStringNoUser; - } - }; - super.doFilter(filterChain, requestWrapper, response); - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/ImpersonationUtil.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/ImpersonationUtil.java deleted file mode 100644 index d8ef9bd0c24..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/ImpersonationUtil.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.util.List; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.security.authentication.client.PseudoAuthenticator; -import org.apache.lucene.util.Constants; -import org.apache.solr.client.solrj.SolrRequest; -import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.client.solrj.response.CollectionAdminResponse; -import org.apache.solr.common.params.ModifiableSolrParams; -import org.apache.solr.common.params.SolrParams; -import org.apache.solr.common.util.EnvUtils; - -/** - * This class implements utility functions required to test the secure impersonation feature for - * {@linkplain HadoopAuthPlugin} - */ -public class ImpersonationUtil { - - static String getUsersFirstGroup() throws Exception { - String group = "*"; // accept any group if a group can't be found - if (!Constants.WINDOWS) { // does not work on Windows! - org.apache.hadoop.security.Groups hGroups = - new org.apache.hadoop.security.Groups(new Configuration()); - try { - List g = hGroups.getGroups(EnvUtils.getProperty("user.name")); - if (g != null && g.size() > 0) { - group = g.get(0); - } - } catch (NullPointerException npe) { - // if user/group doesn't exist on test box - } - } - return group; - } - - static SolrRequest getProxyRequest(String user, String doAs) { - return new CollectionAdminRequest.List() { - @Override - public SolrParams getParams() { - ModifiableSolrParams params = new ModifiableSolrParams(super.getParams()); - params.set(PseudoAuthenticator.USER_NAME, user); - params.set(KerberosPlugin.IMPERSONATOR_DO_AS_HTTP_PARAM, doAs); - return params; - } - }; - } - - static String getExpectedGroupExMsg(String user, String doAs) { - return "User: " + user + " is not allowed to impersonate " + doAs; - } - - static String getExpectedHostExMsg(String user) { - return "Unauthorized connection for super-user: " + user; - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/ImpersonatorCollectionsHandler.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/ImpersonatorCollectionsHandler.java deleted file mode 100644 index 4295b2f2d96..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/ImpersonatorCollectionsHandler.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.util.concurrent.atomic.AtomicBoolean; -import javax.servlet.http.HttpServletRequest; -import org.apache.hadoop.security.authentication.client.PseudoAuthenticator; -import org.apache.solr.core.CoreContainer; -import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.request.SolrQueryRequest; -import org.apache.solr.response.SolrQueryResponse; -import org.junit.Assert; - -/** - * This class extends {@linkplain CollectionsHandler} and implements extra validations for verifying - * proxy users support in {@linkplain HadoopAuthPlugin} - */ -public class ImpersonatorCollectionsHandler extends CollectionsHandler { - static AtomicBoolean called = new AtomicBoolean(false); - - public ImpersonatorCollectionsHandler() { - super(); - } - - public ImpersonatorCollectionsHandler(final CoreContainer coreContainer) { - super(coreContainer); - } - - @Override - public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { - called.set(true); - super.handleRequestBody(req, rsp); - String doAs = req.getParams().get(KerberosPlugin.IMPERSONATOR_DO_AS_HTTP_PARAM); - if (doAs != null) { - HttpServletRequest httpRequest = (HttpServletRequest) req.getContext().get("httpRequest"); - Assert.assertNotNull(httpRequest); - String user = req.getParams().get(PseudoAuthenticator.USER_NAME); - Assert.assertNotNull(user); - Assert.assertEquals(user, httpRequest.getAttribute(KerberosPlugin.IMPERSONATOR_USER_NAME)); - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/KerberosTestServices.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/KerberosTestServices.java deleted file mode 100644 index 9d205f0f5f1..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/KerberosTestServices.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.io.File; -import java.lang.invoke.MethodHandles; -import java.net.BindException; -import java.nio.file.Path; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; -import java.util.Objects; -import java.util.Properties; -import javax.security.auth.login.AppConfigurationEntry; -import javax.security.auth.login.Configuration; -import javax.security.auth.login.LoginContext; -import javax.security.auth.login.LoginException; -import org.apache.commons.io.file.PathUtils; -import org.apache.hadoop.minikdc.MiniKdc; -import org.apache.lucene.tests.util.LuceneTestCase; -import org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder; -import org.apache.solr.client.solrj.util.Constants; -import org.apache.solr.common.util.EnvUtils; -import org.junit.Assume; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class KerberosTestServices { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - private volatile MiniKdc kdc; - private final JaasConfiguration jaasConfiguration; - private final Configuration savedConfig; - private final boolean debug; - - private final File workDir; - - public static void assumeMiniKdcWorksWithDefaultLocale() throws Exception { - final String principal = "server"; - - Path kdcDir = LuceneTestCase.createTempDir().resolve("miniKdc"); - File keytabFile = kdcDir.resolve("keytabs").toFile(); - - Properties conf = MiniKdc.createConf(); - conf.setProperty("kdc.port", "0"); - MiniKdc kdc = new MiniKdc(conf, kdcDir.toFile()); - kdc.start(); - kdc.createPrincipal(keytabFile, principal); - - AppConfigurationEntry appConfigEntry = - new AppConfigurationEntry( - KerberosTestServices.krb5LoginModuleName, - AppConfigurationEntry.LoginModuleControlFlag.REQUIRED, - Map.of( - "principal", - principal, - "storeKey", - "true", - "useKeyTab", - "true", - "useTicketCache", - "false", - "refreshKrb5Config", - "true", - "keyTab", - keytabFile.getAbsolutePath(), - "keytab", - keytabFile.getAbsolutePath())); - Configuration configuration = - new Configuration() { - @Override - public AppConfigurationEntry[] getAppConfigurationEntry(String name) { - return new AppConfigurationEntry[] {appConfigEntry}; - } - }; - - try { - new LoginContext("Server", null, null, configuration).login(); - } catch (LoginException e) { - Assume.assumeNoException(Locale.getDefault() + " appears to be incompatible with MiniKdc", e); - } finally { - kdc.stop(); - } - } - - private KerberosTestServices( - File workDir, JaasConfiguration jaasConfiguration, Configuration savedConfig, boolean debug) { - this.jaasConfiguration = jaasConfiguration; - this.savedConfig = savedConfig; - this.workDir = workDir; - this.debug = debug; - } - - public MiniKdc getKdc() { - return kdc; - } - - public void start() throws Exception { - assumeMiniKdcWorksWithDefaultLocale(); - - // There is time lag between selecting a port and trying to bind with it. It's possible that - // another service captures the port in between which'll result in BindException. - boolean bindException; - int numTries = 0; - do { - try { - bindException = false; - - kdc = getKdc(workDir, debug); - kdc.start(); - } catch (BindException e) { - PathUtils.deleteDirectory(workDir.toPath()); // clean directory - numTries++; - if (numTries == 3) { - log.error("Failed setting up MiniKDC. Tried {} times.", numTries); - throw e; - } - log.error("BindException encountered when setting up MiniKdc. Trying again."); - bindException = true; - } - } while (bindException); - - Configuration.setConfiguration(jaasConfiguration); - Krb5HttpClientBuilder.regenerateJaasConfiguration(); - } - - public void stop() { - if (kdc != null) kdc.stop(); - Configuration.setConfiguration(savedConfig); - Krb5HttpClientBuilder.regenerateJaasConfiguration(); - } - - public static Builder builder() { - return new Builder(); - } - - /** - * Returns a MiniKdc that can be used for creating kerberos principals and keytabs. Caller is - * responsible for starting/stopping the kdc. - */ - private static MiniKdc getKdc(File workDir, boolean debug) throws Exception { - Properties conf = MiniKdc.createConf(); - conf.setProperty("kdc.port", "0"); - conf.setProperty("debug", String.valueOf(debug)); - return new MiniKdc(conf, workDir); - } - - /** - * Programmatic version of a jaas.conf file suitable for connecting to a SASL-configured - * zookeeper. - */ - private static class JaasConfiguration extends Configuration { - - private static AppConfigurationEntry[] clientEntry; - private static AppConfigurationEntry[] serverEntry; - private String clientAppName = "Client", serverAppName = "Server"; - - /** - * Add an entry to the jaas configuration with the passed in name, principal, and keytab. The - * other necessary options will be set for you. - * - * @param clientPrincipal The principal of the client - * @param clientKeytab The location of the keytab with the clientPrincipal - * @param serverPrincipal The principal of the server - * @param serverKeytab The location of the keytab with the serverPrincipal - */ - public JaasConfiguration( - String clientPrincipal, File clientKeytab, String serverPrincipal, File serverKeytab) { - Map clientOptions = new HashMap<>(); - clientOptions.put("principal", clientPrincipal); - clientOptions.put("keyTab", clientKeytab.getAbsolutePath()); - clientOptions.put("useKeyTab", "true"); - clientOptions.put("storeKey", "true"); - clientOptions.put("useTicketCache", "false"); - clientOptions.put("refreshKrb5Config", "true"); - String jaasProp = EnvUtils.getProperty("solr.jaas.debug"); - if (jaasProp != null && "true".equalsIgnoreCase(jaasProp)) { - clientOptions.put("debug", "true"); - } - clientEntry = - new AppConfigurationEntry[] { - new AppConfigurationEntry( - krb5LoginModuleName, - AppConfigurationEntry.LoginModuleControlFlag.REQUIRED, - clientOptions) - }; - if (serverPrincipal != null && serverKeytab != null) { - Map serverOptions = new HashMap<>(clientOptions); - serverOptions.put("principal", serverPrincipal); - serverOptions.put("keytab", serverKeytab.getAbsolutePath()); - serverEntry = - new AppConfigurationEntry[] { - new AppConfigurationEntry( - krb5LoginModuleName, - AppConfigurationEntry.LoginModuleControlFlag.REQUIRED, - serverOptions) - }; - } - } - - /** - * Add an entry to the jaas configuration with the passed in principal and keytab, along with - * the app name. - * - * @param principal The principal - * @param keytab The keytab containing credentials for the principal - * @param appName The app name of the configuration - */ - public JaasConfiguration(String principal, File keytab, String appName) { - this(principal, keytab, null, null); - clientAppName = appName; - serverAppName = null; - } - - @Override - public AppConfigurationEntry[] getAppConfigurationEntry(String name) { - if (name.equals(clientAppName)) { - return clientEntry; - } else if (name.equals(serverAppName)) { - return serverEntry; - } - return null; - } - } - - public static final String krb5LoginModuleName = - Constants.IS_IBM_JAVA - ? "com.ibm.security.auth.module.Krb5LoginModule" - : "com.sun.security.auth.module.Krb5LoginModule"; - - public static class Builder { - private File kdcWorkDir; - private String clientPrincipal; - private File clientKeytab; - private String serverPrincipal; - private File serverKeytab; - private String appName; - private boolean debug = false; - - public Builder() {} - - public Builder withKdc(File kdcWorkDir) { - this.kdcWorkDir = kdcWorkDir; - return this; - } - - public Builder withDebug() { - this.debug = true; - return this; - } - - public Builder withJaasConfiguration( - String clientPrincipal, File clientKeytab, String serverPrincipal, File serverKeytab) { - this.clientPrincipal = Objects.requireNonNull(clientPrincipal); - this.clientKeytab = Objects.requireNonNull(clientKeytab); - this.serverPrincipal = serverPrincipal; - this.serverKeytab = serverKeytab; - this.appName = null; - return this; - } - - public Builder withJaasConfiguration(String principal, File keytab, String appName) { - this.clientPrincipal = Objects.requireNonNull(principal); - this.clientKeytab = Objects.requireNonNull(keytab); - this.serverPrincipal = null; - this.serverKeytab = null; - this.appName = appName; - return this; - } - - public KerberosTestServices build() throws Exception { - final Configuration oldConfig = - clientPrincipal != null ? Configuration.getConfiguration() : null; - JaasConfiguration jaasConfiguration = null; - if (clientPrincipal != null) { - jaasConfiguration = - (appName == null) - ? new JaasConfiguration( - clientPrincipal, clientKeytab, serverPrincipal, serverKeytab) - : new JaasConfiguration(clientPrincipal, clientKeytab, appName); - } - return new KerberosTestServices(kdcWorkDir, jaasConfiguration, oldConfig, debug); - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/KerberosUtils.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/KerberosUtils.java deleted file mode 100644 index 6a9734d5e44..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/KerberosUtils.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.io.File; -import java.nio.file.Files; -import java.nio.file.Path; - -/** A utility class which provides common functionality required to test kerberos integration. */ -public class KerberosUtils { - /** - * This method sets up Hadoop mini-kdc along with relevant Kerberos configuration files (e.g. - * jaas.conf) as well as system properties. - * - * @param baseDir The directory path which should be used by the Hadoop mini-kdc - * @return An instance of {@link KerberosTestServices} - * @throws Exception in case of errors. - */ - static KerberosTestServices setupMiniKdc(Path baseDir) throws Exception { - System.setProperty("solr.jaas.debug", "true"); - Path kdcDir = baseDir.resolve("minikdc"); - String solrClientPrincipal = "solr"; - String solrAltClientPrincipal = - "solr_alt"; // An alternate principal that can be handled differently by authz tests - File keytabFile = kdcDir.resolve("keytabs").toFile(); - KerberosTestServices tmp = - KerberosTestServices.builder() - .withKdc(kdcDir.toFile()) - .withJaasConfiguration(solrClientPrincipal, keytabFile, "SolrClient") - .build(); - String solrServerPrincipal = "HTTP/127.0.0.1"; - tmp.start(); - tmp.getKdc() - .createPrincipal( - keytabFile, solrServerPrincipal, solrAltClientPrincipal, solrClientPrincipal); - - String appName = "SolrClient"; - String jaas = - appName - + " {\n" - + " com.sun.security.auth.module.Krb5LoginModule required\n" - + " useKeyTab=true\n" - + " keyTab=\"" - + keytabFile.getAbsolutePath() - + "\"\n" - + " storeKey=true\n" - + " useTicketCache=false\n" - + " doNotPrompt=true\n" - + " debug=true\n" - + " principal=\"" - + solrClientPrincipal - + "\";\n" - + "};"; - - Path jaasFile = kdcDir.resolve("jaas-client.conf"); - Files.writeString(jaasFile, jaas); - System.setProperty("java.security.auth.login.config", jaasFile.toString()); - System.setProperty("solr.kerberos.jaas.appname", appName); - System.setProperty("solr.kerberos.cookie.domain", "127.0.0.1"); - - System.setProperty("solr.kerberos.principal", solrServerPrincipal); - System.setProperty("solr.kerberos.keytab", keytabFile.getAbsolutePath()); - // Extracts 127.0.0.1 from HTTP/127.0.0.1@EXAMPLE.COM - System.setProperty( - "solr.kerberos.name.rules", - "RULE:[1:$1@$0](.*EXAMPLE.COM)s/@.*//" - + "\nRULE:[2:$2@$0](.*EXAMPLE.COM)s/@.*//" - + "\nDEFAULT"); - - // more debugging, if needed - // System.setProperty("sun.security.jgss.debug", "true"); - // System.setProperty("sun.security.krb5.debug", "true"); - // System.setProperty("sun.security.jgss.debug", "true"); - // System.setProperty("java.security.debug", "logincontext,policy,scl,gssloginconfig"); - return tmp; - } - - /** - * This method stops the Hadoop mini-kdc instance as well as cleanup relevant Java system - * properties. - * - * @param kerberosTestServices An instance of Hadoop mini-kdc - */ - public static void cleanupMiniKdc(KerberosTestServices kerberosTestServices) { - System.clearProperty("solr.jaas.debug"); - System.clearProperty("java.security.auth.login.config"); - System.clearProperty("solr.kerberos.jaas.appname"); - System.clearProperty("solr.kerberos.cookie.domain"); - System.clearProperty("solr.kerberos.principal"); - System.clearProperty("solr.kerberos.keytab"); - System.clearProperty("solr.kerberos.name.rules"); - - // more debugging, if needed - System.clearProperty("sun.security.jgss.debug"); - System.clearProperty("sun.security.krb5.debug"); - System.clearProperty("sun.security.jgss.debug"); - System.clearProperty("java.security.debug"); - - if (kerberosTestServices != null) { - kerberosTestServices.stop(); - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/SaslZkACLProviderTest.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/SaslZkACLProviderTest.java deleted file mode 100644 index b3601b5e7fd..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/SaslZkACLProviderTest.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters; -import java.io.File; -import java.io.IOException; -import java.lang.invoke.MethodHandles; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; -import java.nio.file.Path; -import java.util.concurrent.TimeUnit; -import org.apache.curator.framework.api.ACLProvider; -import org.apache.lucene.tests.util.QuickPatchThreadsFilter; -import org.apache.lucene.util.Constants; -import org.apache.solr.SolrIgnoredThreadsFilter; -import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.cloud.AbstractDigestZkACLAndCredentialsProvidersTestBase; -import org.apache.solr.cloud.AbstractZkTestCase; -import org.apache.solr.cloud.ZkTestServer; -import org.apache.solr.common.cloud.DefaultZkACLProvider; -import org.apache.solr.common.cloud.SaslZkACLProvider; -import org.apache.solr.common.cloud.SecurityAwareZkACLProvider; -import org.apache.solr.common.cloud.SolrZkClient; -import org.apache.solr.common.cloud.ZkACLProvider; -import org.apache.solr.util.BadZookeeperThreadsFilter; -import org.apache.zookeeper.CreateMode; -import org.apache.zookeeper.KeeperException; -import org.apache.zookeeper.client.ZKClientConfig; -import org.apache.zookeeper.client.ZooKeeperSaslClient; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@ThreadLeakFilters( - defaultFilters = true, - filters = { - SolrIgnoredThreadsFilter.class, - QuickPatchThreadsFilter.class, - BadZookeeperThreadsFilter.class - }) -public class SaslZkACLProviderTest extends SolrTestCaseJ4 { - - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - private static final Charset DATA_ENCODING = StandardCharsets.UTF_8; - - protected ZkTestServer zkServer; - - @BeforeClass - public static void beforeClass() { - assumeFalse( - "FIXME: SOLR-7040: This test fails under IBM J9", Constants.JAVA_VENDOR.startsWith("IBM")); - System.setProperty("solrcloud.skip.autorecovery", "true"); - System.setProperty("hostName", "127.0.0.1"); - } - - @AfterClass - public static void afterClass() { - System.clearProperty("solrcloud.skip.autorecovery"); - System.clearProperty("hostName"); - System.clearProperty(ZKClientConfig.ZOOKEEPER_SERVER_PRINCIPAL); - } - - @Override - public void setUp() throws Exception { - super.setUp(); - if (log.isInfoEnabled()) { - log.info("####SETUP_START {}", getTestName()); - } - createTempDir(); - - Path zkDir = createTempDir().resolve("zookeeper/server1/data"); - log.info("ZooKeeper dataDir:{}", zkDir); - zkServer = new SaslZkTestServer(zkDir, createTempDir().resolve("miniKdc")); - zkServer.run(); - - System.setProperty("zkHost", zkServer.getZkAddress()); - - try (SolrZkClient zkClient = - new SolrZkClientWithACLs(zkServer.getZkHost(), AbstractZkTestCase.TIMEOUT)) { - ZooKeeperSaslClient saslClient = - zkClient.getCuratorFramework().getZookeeperClient().getZooKeeper().getSaslClient(); - assumeFalse("Could not set up ZK with SASL", saslClient.isFailed()); - zkClient.makePath("/solr", false, true); - } catch (KeeperException e) { - // This fails on Linux but passes on Windows and MacOS. Why? - assumeNoException("Could not set up ZK chroot, see SOLR-15366.", e); - } - setupZNodes(); - - if (log.isInfoEnabled()) { - log.info("####SETUP_END {}", getTestName()); - } - } - - protected void setupZNodes() throws Exception { - SolrZkClient zkClient = - new SolrZkClientWithACLs(zkServer.getZkAddress(), AbstractZkTestCase.TIMEOUT); - try { - zkClient.create( - "/protectedCreateNode", "content".getBytes(DATA_ENCODING), CreateMode.PERSISTENT, false); - zkClient.makePath( - "/protectedMakePathNode", - "content".getBytes(DATA_ENCODING), - CreateMode.PERSISTENT, - false); - zkClient.create( - SecurityAwareZkACLProvider.SECURITY_ZNODE_PATH, - "content".getBytes(DATA_ENCODING), - CreateMode.PERSISTENT, - false); - } finally { - zkClient.close(); - } - - zkClient = new SolrZkClientNoACLs(zkServer.getZkAddress(), AbstractZkTestCase.TIMEOUT); - try { - zkClient.create( - "/unprotectedCreateNode", - "content".getBytes(DATA_ENCODING), - CreateMode.PERSISTENT, - false); - zkClient.makePath( - "/unprotectedMakePathNode", - "content".getBytes(DATA_ENCODING), - CreateMode.PERSISTENT, - false); - } finally { - zkClient.close(); - } - } - - @Override - public void tearDown() throws Exception { - System.clearProperty("zkHost"); - zkServer.shutdown(); - super.tearDown(); - } - - @Test - public void testSaslZkACLProvider() throws Exception { - // Test with Sasl enabled - SolrZkClient zkClient = - new SolrZkClientWithACLs(zkServer.getZkAddress(), AbstractZkTestCase.TIMEOUT); - try { - AbstractDigestZkACLAndCredentialsProvidersTestBase.doTest( - zkClient, true, true, true, true, true, true, true, true, true, true); - } finally { - zkClient.close(); - } - - // Test without Sasl enabled - setupZNodes(); - System.setProperty("zookeeper.sasl.client", "false"); - zkClient = new SolrZkClientNoACLs(zkServer.getZkAddress(), AbstractZkTestCase.TIMEOUT); - try { - AbstractDigestZkACLAndCredentialsProvidersTestBase.doTest( - zkClient, true, true, false, false, false, false, false, false, false, false); - } finally { - zkClient.close(); - System.clearProperty("zookeeper.sasl.client"); - } - } - - /** A SolrZKClient that adds Sasl ACLs */ - private static class SolrZkClientWithACLs extends SolrZkClient { - - public SolrZkClientWithACLs(String zkServerAddress, int zkClientTimeout) { - super( - new Builder() - .withUrl(zkServerAddress) - .withTimeout(zkClientTimeout, TimeUnit.MILLISECONDS)); - } - - @Override - public ZkACLProvider createACLProvider() { - return new SaslZkACLProvider(); - } - } - - /** A SolrZKClient that doesn't add ACLs */ - private static class SolrZkClientNoACLs extends SolrZkClient { - - public SolrZkClientNoACLs(String zkServerAddress, int zkClientTimeout) { - super( - new Builder() - .withUrl(zkServerAddress) - .withTimeout(zkClientTimeout, TimeUnit.MILLISECONDS)); - } - - @Override - public ACLProvider createACLProvider() { - return new DefaultZkACLProvider(); - } - } - - /** A ZkTestServer with Sasl support */ - public static class SaslZkTestServer extends ZkTestServer { - private final Path kdcDir; - private KerberosTestServices kerberosTestServices; - - public SaslZkTestServer(Path zkDir, Path kdcDir) throws Exception { - super(zkDir); - this.kdcDir = kdcDir; - } - - @Override - public void run() throws InterruptedException, IOException { - try { - // Don't require that credentials match the entire principal string, e.g. - // can match "solr" rather than "solr/host@DOMAIN" - System.setProperty("zookeeper.kerberos.removeRealmFromPrincipal", "true"); - System.setProperty("zookeeper.kerberos.removeHostFromPrincipal", "true"); - File keytabFile = kdcDir.resolve("keytabs").toFile(); - String zkClientPrincipal = "solr"; - String zkServerPrincipal = "zookeeper/127.0.0.1"; - System.setProperty(ZKClientConfig.ZOOKEEPER_SERVER_PRINCIPAL, zkServerPrincipal); - - kerberosTestServices = - KerberosTestServices.builder() - .withKdc(kdcDir.toFile()) - .withDebug() // SOLR-15366 - .withJaasConfiguration(zkClientPrincipal, keytabFile, zkServerPrincipal, keytabFile) - .build(); - kerberosTestServices.start(); - - kerberosTestServices - .getKdc() - .createPrincipal(keytabFile, zkClientPrincipal, zkServerPrincipal); - } catch (RuntimeException rex) { - throw rex; - } catch (Exception ex) { - throw new RuntimeException(ex); - } - super.run(false); - } - - @Override - public void shutdown() throws IOException, InterruptedException { - System.clearProperty("zookeeper.authProvider.1"); - System.clearProperty("zookeeper.kerberos.removeRealmFromPrincipal"); - System.clearProperty("zookeeper.kerberos.removeHostFromPrincipal"); - super.shutdown(); - if (kerberosTestServices != null) kerberosTestServices.stop(); - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestDelegationWithHadoopAuth.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestDelegationWithHadoopAuth.java deleted file mode 100644 index 207a91ba6d6..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestDelegationWithHadoopAuth.java +++ /dev/null @@ -1,403 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import java.util.Collections; -import java.util.HashSet; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.TimeUnit; -import org.apache.hadoop.security.authentication.client.PseudoAuthenticator; -import org.apache.hadoop.util.Time; -import org.apache.http.HttpStatus; -import org.apache.solr.client.solrj.SolrClient; -import org.apache.solr.client.solrj.SolrRequest; -import org.apache.solr.client.solrj.impl.CloudLegacySolrClient; -import org.apache.solr.client.solrj.impl.HttpSolrClient; -import org.apache.solr.client.solrj.impl.LBHttpSolrClient; -import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.client.solrj.request.DelegationTokenRequest; -import org.apache.solr.client.solrj.response.CollectionAdminResponse; -import org.apache.solr.client.solrj.response.DelegationTokenResponse; -import org.apache.solr.cloud.SolrCloudTestCase; -import org.apache.solr.common.SolrException.ErrorCode; -import org.apache.solr.common.cloud.SolrZkClient; -import org.apache.solr.common.params.ModifiableSolrParams; -import org.apache.solr.common.params.SolrParams; -import org.apache.solr.common.util.IOUtils; -import org.apache.solr.embedded.JettySolrRunner; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class TestDelegationWithHadoopAuth extends SolrCloudTestCase { - protected static final int NUM_SERVERS = 2; - protected static final String USER_1 = "foo"; - protected static final String USER_2 = "bar"; - private static HttpSolrClient primarySolrClient, secondarySolrClient; - - @BeforeClass - public static void setupClass() throws Exception { - HadoopTestUtil.checkAssumptions(); - - configureCluster(NUM_SERVERS) // nodes - .withSecurityJson( - TEST_PATH().resolve("security").resolve("hadoop_simple_auth_with_delegation.json")) - .configure(); - - JettySolrRunner runnerPrimary = cluster.getJettySolrRunners().get(0); - primarySolrClient = new HttpSolrClient.Builder(runnerPrimary.getBaseUrl().toString()).build(); - JettySolrRunner runnerSecondary = cluster.getJettySolrRunners().get(1); - secondarySolrClient = - new HttpSolrClient.Builder(runnerSecondary.getBaseUrl().toString()).build(); - } - - @AfterClass - public static void tearDownClass() throws Exception { - if (primarySolrClient != null) { - IOUtils.closeQuietly(primarySolrClient); - primarySolrClient = null; - } - - if (secondarySolrClient != null) { - IOUtils.closeQuietly(secondarySolrClient); - secondarySolrClient = null; - } - } - - private String getDelegationToken(final String renewer, final String user, SolrClient solrClient) - throws Exception { - DelegationTokenRequest.Get get = - new DelegationTokenRequest.Get(renewer) { - @Override - public SolrParams getParams() { - ModifiableSolrParams params = new ModifiableSolrParams(super.getParams()); - params.set(PseudoAuthenticator.USER_NAME, user); - return params; - } - }; - DelegationTokenResponse.Get getResponse = get.process(solrClient); - return getResponse.getDelegationToken(); - } - - private long renewDelegationToken( - final String token, final int expectedStatusCode, final String user, SolrClient client) - throws Exception { - DelegationTokenRequest.Renew renew = - new DelegationTokenRequest.Renew(token) { - @Override - public SolrParams getParams() { - ModifiableSolrParams params = new ModifiableSolrParams(super.getParams()); - params.set(PseudoAuthenticator.USER_NAME, user); - return params; - } - - @Override - public Set getQueryParams() { - Set queryParams = super.getQueryParams(); - queryParams.add(PseudoAuthenticator.USER_NAME); - return queryParams; - } - }; - try { - DelegationTokenResponse.Renew renewResponse = renew.process(client); - assertEquals(HttpStatus.SC_OK, expectedStatusCode); - return renewResponse.getExpirationTime(); - } catch (SolrClient.RemoteSolrException ex) { - assertEquals(expectedStatusCode, ex.code()); - return -1; - } - } - - private void cancelDelegationToken(String token, int expectedStatusCode, SolrClient client) - throws Exception { - DelegationTokenRequest.Cancel cancel = new DelegationTokenRequest.Cancel(token); - try { - cancel.process(client); - assertEquals(HttpStatus.SC_OK, expectedStatusCode); - } catch (SolrClient.RemoteSolrException ex) { - assertEquals(expectedStatusCode, ex.code()); - } - } - - private void doSolrRequest(String token, int expectedStatusCode, HttpSolrClient client) - throws Exception { - doSolrRequest(token, expectedStatusCode, client, 1); - } - - private void doSolrRequest( - String token, int expectedStatusCode, HttpSolrClient client, int trials) throws Exception { - int lastStatusCode = 0; - for (int i = 0; i < trials; ++i) { - lastStatusCode = getStatusCode(token, null, null, client); - if (lastStatusCode == expectedStatusCode) { - return; - } - Thread.sleep(1000); - } - assertEquals("Did not receieve excepted status code", expectedStatusCode, lastStatusCode); - } - - private SolrRequest getAdminRequest(final SolrParams params) { - return new CollectionAdminRequest.List() { - @Override - public SolrParams getParams() { - ModifiableSolrParams p = new ModifiableSolrParams(super.getParams()); - p.add(params); - return p; - } - }; - } - - private int getStatusCode(String token, final String user, final String op, HttpSolrClient client) - throws Exception { - SolrClient delegationTokenClient; - if (random().nextBoolean()) - delegationTokenClient = - new HttpSolrClient.Builder(client.getBaseURL().toString()) - .withKerberosDelegationToken(token) - .withResponseParser(client.getParser()) - .build(); - else - delegationTokenClient = - new CloudLegacySolrClient.Builder( - Collections.singletonList(cluster.getZkServer().getZkAddress()), Optional.empty()) - .withLBHttpSolrClientBuilder( - new LBHttpSolrClient.Builder() - .withResponseParser(client.getParser()) - .withSocketTimeout(30000, TimeUnit.MILLISECONDS) - .withConnectionTimeout(15000, TimeUnit.MILLISECONDS) - .withHttpSolrClientBuilder( - new HttpSolrClient.Builder().withKerberosDelegationToken(token))) - .build(); - try { - ModifiableSolrParams p = new ModifiableSolrParams(); - if (user != null) p.set(PseudoAuthenticator.USER_NAME, user); - if (op != null) p.set("op", op); - SolrRequest req = getAdminRequest(p); - if (user != null || op != null) { - Set queryParams = new HashSet<>(); - if (user != null) queryParams.add(PseudoAuthenticator.USER_NAME); - if (op != null) queryParams.add("op"); - req.setQueryParams(queryParams); - } - try { - delegationTokenClient.request(req, null); - return HttpStatus.SC_OK; - } catch (SolrClient.RemoteSolrException re) { - return re.code(); - } - } finally { - delegationTokenClient.close(); - } - } - - private void doSolrRequest(SolrClient client, SolrRequest request, int expectedStatusCode) - throws Exception { - try { - client.request(request); - assertEquals(HttpStatus.SC_OK, expectedStatusCode); - } catch (SolrClient.RemoteSolrException ex) { - assertEquals(expectedStatusCode, ex.code()); - } - } - - private void verifyTokenValid(String token) throws Exception { - // pass with token - doSolrRequest(token, HttpStatus.SC_OK, primarySolrClient); - - // fail without token - doSolrRequest(null, ErrorCode.UNAUTHORIZED.code, primarySolrClient); - - // pass with token on other server - doSolrRequest(token, HttpStatus.SC_OK, secondarySolrClient); - - // fail without token on other server - doSolrRequest(null, ErrorCode.UNAUTHORIZED.code, secondarySolrClient); - } - - /** Test basic Delegation Token get/verify */ - @Test - public void testDelegationTokenVerify() throws Exception { - // Get token - String token = getDelegationToken(null, USER_1, primarySolrClient); - assertNotNull(token); - verifyTokenValid(token); - } - - private void verifyTokenCancelled(String token, HttpSolrClient client) throws Exception { - // fail with token on both servers. If cancelToOtherURL is true, - // the request went to other url, so FORBIDDEN should be returned immediately. - // The cancelled token may take awhile to propogate to the standard url (via ZK). - // This is of course the opposite if cancelToOtherURL is false. - doSolrRequest(token, ErrorCode.FORBIDDEN.code, client, 10); - - // fail without token on both servers - doSolrRequest(null, ErrorCode.UNAUTHORIZED.code, primarySolrClient); - doSolrRequest(null, ErrorCode.UNAUTHORIZED.code, secondarySolrClient); - } - - @Test - public void testDelegationTokenCancel() throws Exception { - { - // Get token - String token = getDelegationToken(null, USER_1, primarySolrClient); - assertNotNull(token); - - // cancel token, note don't need to be authenticated to cancel (no user specified) - cancelDelegationToken(token, HttpStatus.SC_OK, primarySolrClient); - verifyTokenCancelled(token, primarySolrClient); - } - - { - // cancel token on different server from where we got it - String token = getDelegationToken(null, USER_1, primarySolrClient); - assertNotNull(token); - - cancelDelegationToken(token, HttpStatus.SC_OK, secondarySolrClient); - verifyTokenCancelled(token, secondarySolrClient); - } - } - - @Test - public void testDelegationTokenCancelFail() throws Exception { - // cancel a bogus token - cancelDelegationToken("BOGUS", ErrorCode.NOT_FOUND.code, primarySolrClient); - - { - // cancel twice, first on same server - String token = getDelegationToken(null, USER_1, primarySolrClient); - assertNotNull(token); - cancelDelegationToken(token, HttpStatus.SC_OK, primarySolrClient); - cancelDelegationToken(token, ErrorCode.NOT_FOUND.code, secondarySolrClient); - cancelDelegationToken(token, ErrorCode.NOT_FOUND.code, primarySolrClient); - } - - { - // cancel twice, first on other server - String token = getDelegationToken(null, USER_1, primarySolrClient); - assertNotNull(token); - cancelDelegationToken(token, HttpStatus.SC_OK, secondarySolrClient); - cancelDelegationToken(token, ErrorCode.NOT_FOUND.code, secondarySolrClient); - cancelDelegationToken(token, ErrorCode.NOT_FOUND.code, primarySolrClient); - } - } - - private void verifyDelegationTokenRenew(String renewer, String user) throws Exception { - { - // renew on same server - String token = getDelegationToken(renewer, user, primarySolrClient); - assertNotNull(token); - long now = Time.now(); - assertTrue(renewDelegationToken(token, HttpStatus.SC_OK, user, primarySolrClient) > now); - verifyTokenValid(token); - } - - { - // renew on different server - String token = getDelegationToken(renewer, user, primarySolrClient); - assertNotNull(token); - long now = Time.now(); - assertTrue(renewDelegationToken(token, HttpStatus.SC_OK, user, secondarySolrClient) > now); - verifyTokenValid(token); - } - } - - @Test - // commented 4-Sep-2018 - // @LuceneTestCase.BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // - // 2-Aug-2018 - public void testDelegationTokenRenew() throws Exception { - // test with specifying renewer - verifyDelegationTokenRenew(USER_1, USER_1); - - // test without specifying renewer - verifyDelegationTokenRenew(null, USER_1); - } - - @Test - public void testDelegationTokenRenewFail() throws Exception { - // don't set renewer and try to renew as an a different user - String token = getDelegationToken(null, USER_1, primarySolrClient); - assertNotNull(token); - renewDelegationToken(token, ErrorCode.FORBIDDEN.code, USER_2, primarySolrClient); - renewDelegationToken(token, ErrorCode.FORBIDDEN.code, USER_2, secondarySolrClient); - - // set renewer and try to renew as different user - token = getDelegationToken("renewUser", USER_1, primarySolrClient); - assertNotNull(token); - renewDelegationToken(token, ErrorCode.FORBIDDEN.code, "notRenewUser", primarySolrClient); - renewDelegationToken(token, ErrorCode.FORBIDDEN.code, "notRenewUser", secondarySolrClient); - } - - /** Test that a non-delegation-token "op" http param is handled correctly */ - @Test - public void testDelegationOtherOp() throws Exception { - assertEquals( - HttpStatus.SC_OK, getStatusCode(null, USER_1, "someSolrOperation", primarySolrClient)); - } - - @Test - public void testZNodePaths() throws Exception { - getDelegationToken(null, USER_1, primarySolrClient); - try (SolrZkClient zkClient = - new SolrZkClient.Builder() - .withUrl(cluster.getZkServer().getZkAddress()) - .withTimeout(1000, TimeUnit.MILLISECONDS) - .build()) { - assertTrue(zkClient.exists("/security/zkdtsm", true)); - assertTrue(zkClient.exists("/security/token", true)); - } - } - - /** Test HttpSolrServer's delegation token support */ - @Test - public void testDelegationTokenSolrClient() throws Exception { - // Get token - String token = getDelegationToken(null, USER_1, primarySolrClient); - assertNotNull(token); - - SolrRequest request = getAdminRequest(new ModifiableSolrParams()); - - // test without token - HttpSolrClient ss = - new HttpSolrClient.Builder(primarySolrClient.getBaseURL().toString()) - .withResponseParser(primarySolrClient.getParser()) - .build(); - try { - doSolrRequest(ss, request, ErrorCode.UNAUTHORIZED.code); - } finally { - ss.close(); - } - - try (HttpSolrClient client = - new HttpSolrClient.Builder(primarySolrClient.getBaseURL()) - .withKerberosDelegationToken(token) - .withResponseParser(primarySolrClient.getParser()) - .build()) { - // test with token via property - doSolrRequest(client, request, HttpStatus.SC_OK); - - // test with param -- should throw an exception - ModifiableSolrParams tokenParam = new ModifiableSolrParams(); - tokenParam.set("delegation", "invalidToken"); - expectThrows( - IllegalArgumentException.class, - () -> doSolrRequest(client, getAdminRequest(tokenParam), ErrorCode.FORBIDDEN.code)); - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestImpersonationWithHadoopAuth.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestImpersonationWithHadoopAuth.java deleted file mode 100644 index c940391b01e..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestImpersonationWithHadoopAuth.java +++ /dev/null @@ -1,222 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import static org.apache.solr.security.hadoop.HttpParamDelegationTokenPlugin.USER_PARAM; -import static org.apache.solr.security.hadoop.ImpersonationUtil.getExpectedGroupExMsg; -import static org.apache.solr.security.hadoop.ImpersonationUtil.getExpectedHostExMsg; -import static org.apache.solr.security.hadoop.ImpersonationUtil.getProxyRequest; - -import java.net.InetAddress; -import java.nio.charset.Charset; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.HashMap; -import java.util.Map; -import org.apache.solr.client.solrj.SolrClient; -import org.apache.solr.client.solrj.impl.HttpSolrClient; -import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.cloud.SolrCloudTestCase; -import org.apache.solr.common.params.ModifiableSolrParams; -import org.apache.solr.common.util.EnvUtils; -import org.apache.solr.common.util.Utils; -import org.apache.solr.embedded.JettySolrRunner; -import org.apache.solr.servlet.SolrRequestParsers; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class TestImpersonationWithHadoopAuth extends SolrCloudTestCase { - protected static final int NUM_SERVERS = 2; - private static final boolean defaultAddRequestHeadersToContext = - SolrRequestParsers.DEFAULT.isAddRequestHeadersToContext(); - - @SuppressWarnings("unchecked") - @BeforeClass - public static void setupClass() throws Exception { - HadoopTestUtil.checkAssumptions(); - - InetAddress loopback = InetAddress.getLoopbackAddress(); - Path securityJsonPath = - TEST_PATH().resolve("security").resolve("hadoop_simple_auth_with_delegation.json"); - String securityJson = Files.readString(securityJsonPath, Charset.defaultCharset()); - - Map securityConfig = (Map) Utils.fromJSONString(securityJson); - Map authConfig = (Map) securityConfig.get("authentication"); - Map proxyUserConfigs = - (Map) - authConfig.getOrDefault(HadoopAuthPlugin.PROXY_USER_CONFIGS, new HashMap<>()); - proxyUserConfigs.put("proxyuser.noGroups.hosts", "*"); - proxyUserConfigs.put("proxyuser.anyHostAnyUser.hosts", "*"); - proxyUserConfigs.put("proxyuser.anyHostAnyUser.groups", "*"); - proxyUserConfigs.put("proxyuser.wrongHost.hosts", DEAD_HOST_1); - proxyUserConfigs.put("proxyuser.wrongHost.groups", "*"); - proxyUserConfigs.put("proxyuser.noHosts.groups", "*"); - proxyUserConfigs.put( - "proxyuser.localHostAnyGroup.hosts", - loopback.getCanonicalHostName() - + "," - + loopback.getHostName() - + "," - + loopback.getHostAddress()); - proxyUserConfigs.put("proxyuser.localHostAnyGroup.groups", "*"); - proxyUserConfigs.put("proxyuser.bogusGroup.hosts", "*"); - proxyUserConfigs.put("proxyuser.bogusGroup.groups", "__some_bogus_group"); - proxyUserConfigs.put( - "proxyuser.anyHostUsersGroup.groups", ImpersonationUtil.getUsersFirstGroup()); - proxyUserConfigs.put("proxyuser.anyHostUsersGroup.hosts", "*"); - - authConfig.put(HadoopAuthPlugin.PROXY_USER_CONFIGS, proxyUserConfigs); - - SolrRequestParsers.DEFAULT.setAddRequestHeadersToContext(true); - System.setProperty("collectionsHandler", ImpersonatorCollectionsHandler.class.getName()); - - configureCluster(NUM_SERVERS) // nodes - .withSecurityJson(Utils.toJSONString(securityConfig)) - .addConfig( - "conf1", TEST_PATH().resolve("configsets").resolve("cloud-minimal").resolve("conf")) - .configure(); - } - - @AfterClass - public static void tearDownClass() throws Exception { - SolrRequestParsers.DEFAULT.setAddRequestHeadersToContext(defaultAddRequestHeadersToContext); - System.clearProperty("collectionsHandler"); - } - - private SolrClient newSolrClient() { - return new HttpSolrClient.Builder(cluster.getJettySolrRunner(0).getBaseUrl().toString()) - .build(); - } - - @Test - public void testProxyNoConfigGroups() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - SolrClient.RemoteSolrException ex = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("noGroups", "bar"))); - assertTrue( - ex.getLocalizedMessage(), - ex.getMessage().contains(getExpectedGroupExMsg("noGroups", "bar"))); - } - } - - @Test - public void testProxyWrongHost() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - SolrClient.RemoteSolrException ex = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("wrongHost", "bar"))); - assertTrue(ex.getMessage().contains(getExpectedHostExMsg("wrongHost"))); - } - } - - @Test - public void testProxyNoConfigHosts() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - SolrClient.RemoteSolrException ex = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("noHosts", "bar"))); - assertTrue(ex.getMessage().contains(getExpectedHostExMsg("noHosts"))); - } - } - - @Test - public void testProxyValidateAnyHostAnyUser() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - solrClient.request(getProxyRequest("anyHostAnyUser", "bar")); - assertTrue(ImpersonatorCollectionsHandler.called.get()); - } - } - - @Test - public void testProxyInvalidProxyUser() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - // wrong direction, should fail - SolrClient.RemoteSolrException ex = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("bar", "anyHostAnyUser"))); - assertTrue(ex.getMessage().contains(getExpectedGroupExMsg("bar", "anyHostAnyUser"))); - } - } - - @Test - public void testProxyValidateHost() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - solrClient.request(getProxyRequest("localHostAnyGroup", "bar")); - assertTrue(ImpersonatorCollectionsHandler.called.get()); - } - } - - @Test - public void testProxyValidateGroup() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - solrClient.request(getProxyRequest("anyHostUsersGroup", EnvUtils.getProperty("user.name"))); - assertTrue(ImpersonatorCollectionsHandler.called.get()); - } - } - - @Test - public void testProxyInvalidGroup() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - SolrClient.RemoteSolrException ex = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("bogusGroup", "bar"))); - assertTrue(ex.getMessage().contains(getExpectedGroupExMsg("bogusGroup", "bar"))); - } - } - - @Test - public void testProxyNullProxyUser() throws Exception { - try (SolrClient solrClient = newSolrClient()) { - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("", "bar"))); - } - } - - @Test - @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/HADOOP-9893") - public void testForwarding() throws Exception { - String collectionName = "forwardingCollection"; - - // create collection - CollectionAdminRequest.Create create = - CollectionAdminRequest.createCollection(collectionName, "conf1", 1, 1); - try (SolrClient solrClient = newSolrClient()) { - create.process(solrClient); - } - - // try a command to each node, one of them must be forwarded - for (JettySolrRunner jetty : cluster.getJettySolrRunners()) { - try (SolrClient client = - new HttpSolrClient.Builder(jetty.getBaseUrl().toString()) - .withDefaultCollection(collectionName) - .build()) { - ModifiableSolrParams params = new ModifiableSolrParams(); - params.set("q", "*:*"); - params.set(USER_PARAM, "user"); - client.query(params); - } - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestRuleBasedAuthorizationWithKerberos.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestRuleBasedAuthorizationWithKerberos.java deleted file mode 100644 index a6bdd61155c..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestRuleBasedAuthorizationWithKerberos.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import org.apache.lucene.util.Constants; -import org.apache.solr.client.solrj.SolrClient; -import org.apache.solr.client.solrj.SolrQuery; -import org.apache.solr.client.solrj.impl.CloudSolrClient; -import org.apache.solr.client.solrj.impl.Http2SolrClient; -import org.apache.solr.client.solrj.impl.Krb5HttpClientUtils; -import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.client.solrj.response.QueryResponse; -import org.apache.solr.cloud.AbstractDistribZkTestBase; -import org.apache.solr.cloud.SolrCloudTestCase; -import org.apache.solr.common.SolrInputDocument; -import org.apache.solr.common.cloud.ZkStateReader; -import org.apache.solr.embedded.JettySolrRunner; -import org.apache.solr.util.LogLevel; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -@LogLevel("org.apache.solr.security=DEBUG") -public class TestRuleBasedAuthorizationWithKerberos extends SolrCloudTestCase { - protected static final int NUM_SERVERS = 2; - protected static final int NUM_SHARDS = 1; - protected static final int REPLICATION_FACTOR = 1; - private static KerberosTestServices kerberosTestServices; - - private String collectionName; - - @BeforeClass - public static void setupClass() throws Exception { - assumeFalse("Hadoop does not work on Windows", Constants.WINDOWS); - - kerberosTestServices = KerberosUtils.setupMiniKdc(createTempDir()); - - configureCluster(NUM_SERVERS) // nodes - .withSecurityJson( - TEST_PATH().resolve("security").resolve("hadoop_kerberos_authz_config.json")) - .addConfig( - "conf1", TEST_PATH().resolve("configsets").resolve("cloud-minimal").resolve("conf")) - .configure(); - } - - @AfterClass - public static void tearDownClass() { - KerberosUtils.cleanupMiniKdc(kerberosTestServices); - kerberosTestServices = null; - } - - @Before - @Override - public void setUp() throws Exception { - super.setUp(); - collectionName = getSaferTestName(); - - // create collection - CollectionAdminRequest.Create create = - CollectionAdminRequest.createCollection( - collectionName, "conf1", NUM_SHARDS, REPLICATION_FACTOR); - create.process(cluster.getSolrClient()); - cluster.waitForActiveCollection(collectionName, 1, 1); - } - - @Test - public void testReadsAltUser() throws Exception { - String authorizedColl = "public"; - - // create collection - CollectionAdminRequest.createCollection(authorizedColl, "conf1", NUM_SHARDS, REPLICATION_FACTOR) - .process(cluster.getSolrClient()); - cluster.waitForActiveCollection(authorizedColl, 1, 1); - - final SolrQuery q = new SolrQuery("*:*"); - - for (JettySolrRunner jsr : cluster.getJettySolrRunners()) { - final String baseUrl = jsr.getBaseUrl().toString(); - try (Http2SolrClient client = new Http2SolrClient.Builder(baseUrl).build()) { - Krb5HttpClientUtils.setup(client, "solr_alt"); - assertEquals(0, client.query(authorizedColl, q).getStatus()); - SolrClient.RemoteSolrException e = - assertThrows( - SolrClient.RemoteSolrException.class, () -> client.query(collectionName, q)); - assertEquals(403, e.code()); - } - } - } - - @Test - public void testCollectionCreateSearchDelete() throws Exception { - CloudSolrClient solrClient = cluster.getSolrClient(); - - SolrInputDocument doc = new SolrInputDocument(); - doc.setField("id", "1"); - solrClient.add(collectionName, doc); - solrClient.commit(collectionName); - - SolrQuery query = new SolrQuery(); - query.setQuery("*:*"); - QueryResponse rsp = solrClient.query(collectionName, query); - assertEquals(1, rsp.getResults().getNumFound()); - - CollectionAdminRequest.Delete deleteReq = - CollectionAdminRequest.deleteCollection(collectionName); - deleteReq.process(solrClient); - AbstractDistribZkTestBase.waitForCollectionToDisappear( - collectionName, ZkStateReader.from(solrClient), true, 330); - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithDelegationTokens.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithDelegationTokens.java deleted file mode 100644 index 7f2528aa7ca..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithDelegationTokens.java +++ /dev/null @@ -1,487 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import static org.apache.solr.security.hadoop.HttpParamDelegationTokenPlugin.USER_PARAM; - -import java.lang.invoke.MethodHandles; -import java.util.Collections; -import java.util.HashSet; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.TimeUnit; -import org.apache.hadoop.util.Time; -import org.apache.http.HttpStatus; -import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.client.solrj.SolrClient; -import org.apache.solr.client.solrj.SolrRequest; -import org.apache.solr.client.solrj.impl.CloudLegacySolrClient; -import org.apache.solr.client.solrj.impl.HttpSolrClient; -import org.apache.solr.client.solrj.impl.LBHttpSolrClient; -import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION; -import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.client.solrj.request.DelegationTokenRequest; -import org.apache.solr.client.solrj.request.UpdateRequest; -import org.apache.solr.client.solrj.response.CollectionAdminResponse; -import org.apache.solr.client.solrj.response.DelegationTokenResponse; -import org.apache.solr.client.solrj.response.UpdateResponse; -import org.apache.solr.cloud.MiniSolrCloudCluster; -import org.apache.solr.common.SolrException.ErrorCode; -import org.apache.solr.common.SolrInputDocument; -import org.apache.solr.common.cloud.SolrZkClient; -import org.apache.solr.common.params.ModifiableSolrParams; -import org.apache.solr.common.params.SolrParams; -import org.apache.solr.embedded.JettyConfig; -import org.apache.solr.embedded.JettySolrRunner; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** Test the delegation token support in the {@link KerberosPlugin}. */ -public class TestSolrCloudWithDelegationTokens extends SolrTestCaseJ4 { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private static final int NUM_SERVERS = 2; - private static MiniSolrCloudCluster miniCluster; - private static HttpSolrClient solrClientPrimary; - private static HttpSolrClient solrClientSecondary; - - @BeforeClass - public static void startup() throws Exception { - System.setProperty("authenticationPlugin", HttpParamDelegationTokenPlugin.class.getName()); - System.setProperty(KerberosPlugin.DELEGATION_TOKEN_ENABLED, "true"); - System.setProperty("solr.kerberos.cookie.domain", "127.0.0.1"); - - miniCluster = - new MiniSolrCloudCluster(NUM_SERVERS, createTempDir(), JettyConfig.builder().build()); - JettySolrRunner runnerPrimary = miniCluster.getJettySolrRunners().get(0); - solrClientPrimary = new HttpSolrClient.Builder(runnerPrimary.getBaseUrl().toString()).build(); - JettySolrRunner runnerSecondary = miniCluster.getJettySolrRunners().get(1); - solrClientSecondary = - new HttpSolrClient.Builder(runnerSecondary.getBaseUrl().toString()).build(); - } - - @AfterClass - public static void shutdown() throws Exception { - if (null != solrClientPrimary) { - solrClientPrimary.close(); - solrClientPrimary = null; - } - if (null != solrClientSecondary) { - solrClientSecondary.close(); - solrClientSecondary = null; - } - - if (miniCluster != null) { - miniCluster.shutdown(); - miniCluster = null; - } - System.clearProperty("authenticationPlugin"); - System.clearProperty(KerberosPlugin.DELEGATION_TOKEN_ENABLED); - System.clearProperty("solr.kerberos.cookie.domain"); - } - - private String getDelegationToken( - final String renewer, final String user, HttpSolrClient solrClient) throws Exception { - DelegationTokenRequest.Get get = - new DelegationTokenRequest.Get(renewer) { - @Override - public SolrParams getParams() { - ModifiableSolrParams params = new ModifiableSolrParams(super.getParams()); - params.set(USER_PARAM, user); - return params; - } - }; - DelegationTokenResponse.Get getResponse = get.process(solrClient); - return getResponse.getDelegationToken(); - } - - private long renewDelegationToken( - final String token, final int expectedStatusCode, final String user, HttpSolrClient client) - throws Exception { - DelegationTokenRequest.Renew renew = - new DelegationTokenRequest.Renew(token) { - @Override - public SolrParams getParams() { - ModifiableSolrParams params = new ModifiableSolrParams(super.getParams()); - params.set(USER_PARAM, user); - return params; - } - - @Override - public Set getQueryParams() { - Set queryParams = super.getQueryParams(); - queryParams.add(USER_PARAM); - return queryParams; - } - }; - try { - DelegationTokenResponse.Renew renewResponse = renew.process(client); - assertEquals(HttpStatus.SC_OK, expectedStatusCode); - return renewResponse.getExpirationTime(); - } catch (SolrClient.RemoteSolrException ex) { - assertEquals(expectedStatusCode, ex.code()); - return -1; - } - } - - private void cancelDelegationToken(String token, int expectedStatusCode, HttpSolrClient client) - throws Exception { - DelegationTokenRequest.Cancel cancel = new DelegationTokenRequest.Cancel(token); - try { - cancel.process(client); - assertEquals(HttpStatus.SC_OK, expectedStatusCode); - } catch (SolrClient.RemoteSolrException ex) { - assertEquals(expectedStatusCode, ex.code()); - } - } - - private void doSolrRequest(String token, int expectedStatusCode, HttpSolrClient client) - throws Exception { - doSolrRequest(token, expectedStatusCode, client, 1); - } - - private void doSolrRequest( - String token, int expectedStatusCode, HttpSolrClient client, int trials) throws Exception { - int lastStatusCode = 0; - for (int i = 0; i < trials; ++i) { - lastStatusCode = getStatusCode(token, null, null, client); - if (lastStatusCode == expectedStatusCode) { - return; - } - Thread.sleep(1000); - } - assertEquals("Did not receive expected status code", expectedStatusCode, lastStatusCode); - } - - private SolrRequest getAdminRequest(final SolrParams params) { - return new CollectionAdminRequest.List() { - @Override - public SolrParams getParams() { - ModifiableSolrParams p = new ModifiableSolrParams(super.getParams()); - p.add(params); - return p; - } - }; - } - - private SolrRequest getUpdateRequest(boolean commit) { - UpdateRequest request = new UpdateRequest(); - if (commit) { - request.setAction(ACTION.COMMIT, false, false); - } - SolrInputDocument doc = new SolrInputDocument(); - doc.addField("id", "dummy_id"); - request.add(doc); - return request; - } - - private int getStatusCode(String token, final String user, final String op, HttpSolrClient client) - throws Exception { - SolrClient delegationTokenClient; - if (random().nextBoolean()) - delegationTokenClient = - new HttpSolrClient.Builder(client.getBaseURL().toString()) - .withKerberosDelegationToken(token) - .withResponseParser(client.getParser()) - .build(); - else - delegationTokenClient = - new CloudLegacySolrClient.Builder( - Collections.singletonList(miniCluster.getZkServer().getZkAddress()), - Optional.empty()) - .withLBHttpSolrClientBuilder( - new LBHttpSolrClient.Builder() - .withSocketTimeout(30000, TimeUnit.MILLISECONDS) - .withConnectionTimeout(15000, TimeUnit.MILLISECONDS) - .withResponseParser(client.getParser()) - .withHttpSolrClientBuilder( - new HttpSolrClient.Builder().withKerberosDelegationToken(token))) - .build(); - try { - ModifiableSolrParams p = new ModifiableSolrParams(); - if (user != null) p.set(USER_PARAM, user); - if (op != null) p.set("op", op); - SolrRequest req = getAdminRequest(p); - if (user != null || op != null) { - Set queryParams = new HashSet<>(); - if (user != null) queryParams.add(USER_PARAM); - if (op != null) queryParams.add("op"); - req.setQueryParams(queryParams); - } - try { - delegationTokenClient.request(req, null); - return HttpStatus.SC_OK; - } catch (SolrClient.RemoteSolrException re) { - return re.code(); - } - } finally { - delegationTokenClient.close(); - } - } - - private void doSolrRequest(HttpSolrClient client, SolrRequest request, int expectedStatusCode) - throws Exception { - try { - client.request(request); - assertEquals(HttpStatus.SC_OK, expectedStatusCode); - } catch (SolrClient.RemoteSolrException ex) { - assertEquals(expectedStatusCode, ex.code()); - } - } - - private void doSolrRequest( - HttpSolrClient client, SolrRequest request, String collectionName, int expectedStatusCode) - throws Exception { - try { - client.request(request, collectionName); - assertEquals(HttpStatus.SC_OK, expectedStatusCode); - } catch (SolrClient.RemoteSolrException ex) { - assertEquals(expectedStatusCode, ex.code()); - } - } - - private void verifyTokenValid(String token) throws Exception { - // pass with token - doSolrRequest(token, HttpStatus.SC_OK, solrClientPrimary); - - // fail without token - doSolrRequest(null, ErrorCode.UNAUTHORIZED.code, solrClientPrimary); - - // pass with token on other server - doSolrRequest(token, HttpStatus.SC_OK, solrClientSecondary); - - // fail without token on other server - doSolrRequest(null, ErrorCode.UNAUTHORIZED.code, solrClientSecondary); - } - - /** Test basic Delegation Token get/verify */ - @Test - public void testDelegationTokenVerify() throws Exception { - final String user = "bar"; - - // Get token - String token = getDelegationToken(null, user, solrClientPrimary); - assertNotNull(token); - verifyTokenValid(token); - } - - private void verifyTokenCancelled(String token, HttpSolrClient client) throws Exception { - // fail with token on both servers. If cancelToOtherURL is true, - // the request went to other url, so FORBIDDEN should be returned immediately. - // The cancelled token may take awhile to propogate to the standard url (via ZK). - // This is of course the opposite if cancelToOtherURL is false. - doSolrRequest(token, ErrorCode.FORBIDDEN.code, client, 10); - - // fail without token on both servers - doSolrRequest(null, ErrorCode.UNAUTHORIZED.code, solrClientPrimary); - doSolrRequest(null, ErrorCode.UNAUTHORIZED.code, solrClientSecondary); - } - - @Test - public void testDelegationTokenCancel() throws Exception { - { - // Get token - String token = getDelegationToken(null, "user", solrClientPrimary); - assertNotNull(token); - - // cancel token, note don't need to be authenticated to cancel (no user specified) - cancelDelegationToken(token, HttpStatus.SC_OK, solrClientPrimary); - verifyTokenCancelled(token, solrClientPrimary); - } - - { - // cancel token on different server from where we got it - String token = getDelegationToken(null, "user", solrClientPrimary); - assertNotNull(token); - - cancelDelegationToken(token, HttpStatus.SC_OK, solrClientSecondary); - verifyTokenCancelled(token, solrClientSecondary); - } - } - - @Test - public void testDelegationTokenCancelFail() throws Exception { - // cancel a bogus token - cancelDelegationToken("BOGUS", ErrorCode.NOT_FOUND.code, solrClientPrimary); - - { - // cancel twice, first on same server - String token = getDelegationToken(null, "bar", solrClientPrimary); - assertNotNull(token); - cancelDelegationToken(token, HttpStatus.SC_OK, solrClientPrimary); - cancelDelegationToken(token, ErrorCode.NOT_FOUND.code, solrClientSecondary); - cancelDelegationToken(token, ErrorCode.NOT_FOUND.code, solrClientPrimary); - } - - { - // cancel twice, first on other server - String token = getDelegationToken(null, "bar", solrClientPrimary); - assertNotNull(token); - cancelDelegationToken(token, HttpStatus.SC_OK, solrClientSecondary); - cancelDelegationToken(token, ErrorCode.NOT_FOUND.code, solrClientSecondary); - cancelDelegationToken(token, ErrorCode.NOT_FOUND.code, solrClientPrimary); - } - } - - private void verifyDelegationTokenRenew(String renewer, String user) throws Exception { - { - // renew on same server - String token = getDelegationToken(renewer, user, solrClientPrimary); - assertNotNull(token); - long now = Time.now(); - assertTrue(renewDelegationToken(token, HttpStatus.SC_OK, user, solrClientPrimary) > now); - verifyTokenValid(token); - } - - { - // renew on different server - String token = getDelegationToken(renewer, user, solrClientPrimary); - assertNotNull(token); - long now = Time.now(); - assertTrue(renewDelegationToken(token, HttpStatus.SC_OK, user, solrClientSecondary) > now); - verifyTokenValid(token); - } - } - - @Test - // commented 20-Sep-2018 @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // - // added 23-Aug-2018 - public void testDelegationTokenRenew() throws Exception { - // test with specifying renewer - verifyDelegationTokenRenew("bar", "bar"); - - // test without specifying renewer - verifyDelegationTokenRenew(null, "bar"); - } - - @Test - public void testDelegationTokenRenewFail() throws Exception { - // don't set renewer and try to renew as an a different user - String token = getDelegationToken(null, "bar", solrClientPrimary); - assertNotNull(token); - renewDelegationToken(token, ErrorCode.FORBIDDEN.code, "foo", solrClientPrimary); - renewDelegationToken(token, ErrorCode.FORBIDDEN.code, "foo", solrClientSecondary); - - // set renewer and try to renew as different user - token = getDelegationToken("renewUser", "bar", solrClientPrimary); - assertNotNull(token); - renewDelegationToken(token, ErrorCode.FORBIDDEN.code, "notRenewUser", solrClientPrimary); - renewDelegationToken(token, ErrorCode.FORBIDDEN.code, "notRenewUser", solrClientSecondary); - } - - /** Test that a non-delegation-token "op" http param is handled correctly */ - @Test - public void testDelegationOtherOp() throws Exception { - assertEquals( - HttpStatus.SC_OK, getStatusCode(null, "bar", "someSolrOperation", solrClientPrimary)); - } - - @Test - public void testZNodePaths() throws Exception { - getDelegationToken(null, "bar", solrClientPrimary); - try (SolrZkClient zkClient = - new SolrZkClient.Builder() - .withUrl(miniCluster.getZkServer().getZkAddress()) - .withTimeout(1000, TimeUnit.MILLISECONDS) - .build()) { - assertTrue(zkClient.exists("/security/zkdtsm", true)); - assertTrue(zkClient.exists("/security/token", true)); - } - } - - /** Test HttpSolrServer's delegation token support */ - @Test - public void testDelegationTokenSolrClient() throws Exception { - // Get token - String token = getDelegationToken(null, "bar", solrClientPrimary); - assertNotNull(token); - - SolrRequest request = getAdminRequest(new ModifiableSolrParams()); - - // test without token - final HttpSolrClient ssWoToken = - new HttpSolrClient.Builder(solrClientPrimary.getBaseURL().toString()) - .withResponseParser(solrClientPrimary.getParser()) - .build(); - try { - doSolrRequest(ssWoToken, request, ErrorCode.UNAUTHORIZED.code); - } finally { - ssWoToken.close(); - } - - final HttpSolrClient ssWToken = - new HttpSolrClient.Builder(solrClientPrimary.getBaseURL().toString()) - .withKerberosDelegationToken(token) - .withResponseParser(solrClientPrimary.getParser()) - .build(); - try { - // test with token via property - doSolrRequest(ssWToken, request, HttpStatus.SC_OK); - - // test with param -- should throw an exception - ModifiableSolrParams tokenParam = new ModifiableSolrParams(); - tokenParam.set("delegation", "invalidToken"); - expectThrows( - IllegalArgumentException.class, - () -> doSolrRequest(ssWToken, getAdminRequest(tokenParam), ErrorCode.FORBIDDEN.code)); - } finally { - ssWToken.close(); - } - } - - /** Test HttpSolrServer's delegation token support for Update Requests */ - @Test - public void testDelegationTokenSolrClientWithUpdateRequests() throws Exception { - String collectionName = "testDelegationTokensWithUpdate"; - - // Get token - String token = getDelegationToken(null, "bar", solrClientPrimary); - assertNotNull(token); - - // Tests with update request. - // Before SOLR-13921, the request without commit will fail with a NullpointerException in - // DelegationTokenHttpSolrClient.createMethod - // due to a missing null check in the createMethod. (When requesting a commit, the setAction - // method will call setParams on the - // request so there is no NPE in the createMethod.) - final HttpSolrClient scUpdateWToken = - new HttpSolrClient.Builder(solrClientPrimary.getBaseURL().toString()) - .withKerberosDelegationToken(token) - .withResponseParser(solrClientPrimary.getParser()) - .build(); - - // Create collection - CollectionAdminRequest.Create create = - CollectionAdminRequest.createCollection(collectionName, 1, 1); - create.process(scUpdateWToken); - - try { - // test update request with token via property and commit=true - SolrRequest request = getUpdateRequest(true); - doSolrRequest(scUpdateWToken, request, collectionName, HttpStatus.SC_OK); - - // test update request with token via property and commit=false - request = getUpdateRequest(false); - doSolrRequest(scUpdateWToken, request, collectionName, HttpStatus.SC_OK); - - } finally { - scUpdateWToken.close(); - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithHadoopAuthPlugin.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithHadoopAuthPlugin.java deleted file mode 100644 index 8c6d5a6711b..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithHadoopAuthPlugin.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import org.apache.solr.client.solrj.SolrQuery; -import org.apache.solr.client.solrj.impl.CloudSolrClient; -import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.client.solrj.response.QueryResponse; -import org.apache.solr.cloud.AbstractDistribZkTestBase; -import org.apache.solr.cloud.SolrCloudAuthTestCase; -import org.apache.solr.common.SolrInputDocument; -import org.apache.solr.common.cloud.ZkStateReader; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class TestSolrCloudWithHadoopAuthPlugin extends SolrCloudAuthTestCase { - protected static final int NUM_SERVERS = 1; - protected static final int NUM_SHARDS = 1; - protected static final int REPLICATION_FACTOR = 1; - private static KerberosTestServices kerberosTestServices; - - @BeforeClass - public static void setupClass() throws Exception { - HadoopTestUtil.checkAssumptions(); - - kerberosTestServices = KerberosUtils.setupMiniKdc(createTempDir()); - - configureCluster(NUM_SERVERS) // nodes - .withSecurityJson(TEST_PATH().resolve("security").resolve("hadoop_kerberos_config.json")) - .addConfig( - "conf1", TEST_PATH().resolve("configsets").resolve("cloud-minimal").resolve("conf")) - .withDefaultClusterProperty("useLegacyReplicaAssignment", "false") - .configure(); - } - - @AfterClass - public static void tearDownClass() throws Exception { - KerberosUtils.cleanupMiniKdc(kerberosTestServices); - kerberosTestServices = null; - } - - @Test - public void testBasics() throws Exception { - testCollectionCreateSearchDelete(); - // sometimes run a second test e.g. to test collection create-delete-create scenario - if (random().nextBoolean()) testCollectionCreateSearchDelete(); - } - - protected void testCollectionCreateSearchDelete() throws Exception { - CloudSolrClient solrClient = cluster.getSolrClient(); - String collectionName = "testkerberoscollection"; - - // create collection - CollectionAdminRequest.Create create = - CollectionAdminRequest.createCollection( - collectionName, "conf1", NUM_SHARDS, REPLICATION_FACTOR); - create.process(solrClient); - // The metrics counter for wrong credentials here really just means - assertAuthMetricsMinimums(2, 1, 0, 1, 0, 0); - - SolrInputDocument doc = new SolrInputDocument(); - doc.setField("id", "1"); - solrClient.add(collectionName, doc); - solrClient.commit(collectionName); - assertAuthMetricsMinimums(4, 2, 0, 2, 0, 0); - - SolrQuery query = new SolrQuery(); - query.setQuery("*:*"); - QueryResponse rsp = solrClient.query(collectionName, query); - assertEquals(1, rsp.getResults().getNumFound()); - - CollectionAdminRequest.Delete deleteReq = - CollectionAdminRequest.deleteCollection(collectionName); - deleteReq.process(solrClient); - AbstractDistribZkTestBase.waitForCollectionToDisappear( - collectionName, ZkStateReader.from(solrClient), true, 330); - // cookie was used to avoid re-authentication - assertAuthMetricsMinimums(6, 4, 0, 2, 0, 0); - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithKerberosAlt.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithKerberosAlt.java deleted file mode 100644 index c9a5bb42df8..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithKerberosAlt.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters; -import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering; -import java.lang.invoke.MethodHandles; -import org.apache.lucene.tests.util.QuickPatchThreadsFilter; -import org.apache.solr.SolrIgnoredThreadsFilter; -import org.apache.solr.client.solrj.SolrQuery; -import org.apache.solr.client.solrj.impl.CloudSolrClient; -import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.client.solrj.request.UpdateRequest; -import org.apache.solr.client.solrj.response.QueryResponse; -import org.apache.solr.cloud.AbstractDistribZkTestBase; -import org.apache.solr.cloud.SolrCloudTestCase; -import org.apache.solr.common.cloud.ZkStateReader; -import org.apache.solr.util.BadZookeeperThreadsFilter; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@ThreadLeakFilters( - defaultFilters = true, - filters = { - SolrIgnoredThreadsFilter.class, - QuickPatchThreadsFilter.class, - BadZookeeperThreadsFilter.class // Zookeeper login leaks TGT renewal threads - }) -@ThreadLeakLingering(linger = 10000) // minikdc has some lingering threads -public class TestSolrCloudWithKerberosAlt extends SolrCloudTestCase { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - private static final int numShards = 1; - private static final int numReplicas = 1; - private static final int nodeCount = numShards * numReplicas; - private static final String configName = "solrCloudCollectionConfig"; - private static final String collectionName = "testkerberoscollection"; - - private KerberosTestServices kerberosTestServices; - - @Override - public void setUp() throws Exception { - super.setUp(); - - kerberosTestServices = KerberosUtils.setupMiniKdc(createTempDir()); - - System.setProperty("authenticationPlugin", "org.apache.solr.security.hadoop.KerberosPlugin"); - boolean enableDt = random().nextBoolean(); - log.info("Enable delegation token: {}", enableDt); - System.setProperty("solr.kerberos.delegation.token.enabled", Boolean.toString(enableDt)); - - configureCluster(nodeCount).addConfig(configName, configset("cloud-minimal")).configure(); - } - - @Test - public void testBasics() throws Exception { - testCollectionCreateSearchDelete(); - // sometimes run a second test e.g. to test collection create-delete-create scenario - if (random().nextBoolean()) testCollectionCreateSearchDelete(); - } - - private void testCollectionCreateSearchDelete() throws Exception { - CloudSolrClient client = cluster.getSolrClient(); - CollectionAdminRequest.createCollection(collectionName, configName, numShards, numReplicas) - .process(client); - - cluster.waitForActiveCollection(collectionName, numShards, numShards * numReplicas); - - // modify/query collection - new UpdateRequest().add("id", "1").commit(client, collectionName); - QueryResponse rsp = client.query(collectionName, new SolrQuery("*:*")); - assertEquals(1, rsp.getResults().getNumFound()); - - // delete the collection we created earlier - CollectionAdminRequest.deleteCollection(collectionName).process(client); - - AbstractDistribZkTestBase.waitForCollectionToDisappear( - collectionName, ZkStateReader.from(client), true, 330); - } - - @Override - public void tearDown() throws Exception { - System.clearProperty("authenticationPlugin"); - System.clearProperty("solr.kerberos.delegation.token.enabled"); - - KerberosUtils.cleanupMiniKdc(kerberosTestServices); - - super.tearDown(); - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithSecureImpersonation.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithSecureImpersonation.java deleted file mode 100644 index 2155965e3b6..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestSolrCloudWithSecureImpersonation.java +++ /dev/null @@ -1,353 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import static org.apache.solr.security.hadoop.HttpParamDelegationTokenPlugin.REMOTE_ADDRESS_PARAM; -import static org.apache.solr.security.hadoop.HttpParamDelegationTokenPlugin.REMOTE_HOST_PARAM; -import static org.apache.solr.security.hadoop.HttpParamDelegationTokenPlugin.USER_PARAM; - -import java.net.InetAddress; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.concurrent.atomic.AtomicBoolean; -import javax.servlet.http.HttpServletRequest; -import org.apache.hadoop.conf.Configuration; -import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.client.solrj.SolrClient; -import org.apache.solr.client.solrj.SolrRequest; -import org.apache.solr.client.solrj.impl.HttpSolrClient; -import org.apache.solr.client.solrj.request.CollectionAdminRequest; -import org.apache.solr.client.solrj.response.CollectionAdminResponse; -import org.apache.solr.cloud.MiniSolrCloudCluster; -import org.apache.solr.common.params.ModifiableSolrParams; -import org.apache.solr.common.params.SolrParams; -import org.apache.solr.common.util.EnvUtils; -import org.apache.solr.common.util.IOUtils; -import org.apache.solr.core.CoreContainer; -import org.apache.solr.embedded.JettyConfig; -import org.apache.solr.embedded.JettySolrRunner; -import org.apache.solr.handler.admin.CollectionsHandler; -import org.apache.solr.request.SolrQueryRequest; -import org.apache.solr.response.SolrQueryResponse; -import org.apache.solr.servlet.SolrRequestParsers; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -public class TestSolrCloudWithSecureImpersonation extends SolrTestCaseJ4 { - private static final int NUM_SERVERS = 2; - private static MiniSolrCloudCluster miniCluster; - private static SolrClient solrClient; - - private static String getUsersFirstGroup() throws Exception { - String group = "*"; // accept any group if a group can't be found - org.apache.hadoop.security.Groups hGroups = - new org.apache.hadoop.security.Groups(new Configuration()); - try { - List g = hGroups.getGroups(EnvUtils.getProperty("user.name")); - if (g != null && g.size() > 0) { - group = g.get(0); - } - } catch (NullPointerException npe) { - // if user/group doesn't exist on test box - } - return group; - } - - private static Map getImpersonatorSettings() throws Exception { - Map filterProps = new TreeMap<>(); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "noGroups.hosts", "*"); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "anyHostAnyUser.groups", "*"); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "anyHostAnyUser.hosts", "*"); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "wrongHost.hosts", DEAD_HOST_1); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "wrongHost.groups", "*"); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "noHosts.groups", "*"); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "localHostAnyGroup.groups", "*"); - InetAddress loopback = InetAddress.getLoopbackAddress(); - filterProps.put( - KerberosPlugin.IMPERSONATOR_PREFIX + "localHostAnyGroup.hosts", - loopback.getCanonicalHostName() - + "," - + loopback.getHostName() - + "," - + loopback.getHostAddress()); - filterProps.put( - KerberosPlugin.IMPERSONATOR_PREFIX + "anyHostUsersGroup.groups", getUsersFirstGroup()); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "anyHostUsersGroup.hosts", "*"); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "bogusGroup.groups", "__some_bogus_group"); - filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "bogusGroup.hosts", "*"); - return filterProps; - } - - @BeforeClass - public static void startup() throws Exception { - HadoopTestUtil.checkAssumptions(); - - System.setProperty("authenticationPlugin", HttpParamDelegationTokenPlugin.class.getName()); - System.setProperty(KerberosPlugin.DELEGATION_TOKEN_ENABLED, "true"); - - System.setProperty("solr.kerberos.cookie.domain", "127.0.0.1"); - Map impSettings = getImpersonatorSettings(); - for (Map.Entry entry : impSettings.entrySet()) { - System.setProperty(entry.getKey(), entry.getValue()); - } - System.setProperty("solr.test.sys.prop1", "propone"); - System.setProperty("solr.test.sys.prop2", "proptwo"); - - SolrRequestParsers.DEFAULT.setAddRequestHeadersToContext(true); - System.setProperty("collectionsHandler", ImpersonatorCollectionsHandler.class.getName()); - - miniCluster = - new MiniSolrCloudCluster(NUM_SERVERS, createTempDir(), JettyConfig.builder().build()); - JettySolrRunner runner = miniCluster.getJettySolrRunners().get(0); - solrClient = new HttpSolrClient.Builder(runner.getBaseUrl().toString()).build(); - } - - /** Verify that impersonator info is preserved in the request */ - public static class ImpersonatorCollectionsHandler extends CollectionsHandler { - public static AtomicBoolean called = new AtomicBoolean(false); - - public ImpersonatorCollectionsHandler() { - super(); - } - - public ImpersonatorCollectionsHandler(final CoreContainer coreContainer) { - super(coreContainer); - } - - @Override - public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception { - called.set(true); - super.handleRequestBody(req, rsp); - String doAs = req.getParams().get(KerberosPlugin.IMPERSONATOR_DO_AS_HTTP_PARAM); - if (doAs != null) { - HttpServletRequest httpRequest = (HttpServletRequest) req.getContext().get("httpRequest"); - assertNotNull(httpRequest); - String user = (String) httpRequest.getAttribute(USER_PARAM); - assertNotNull(user); - assertEquals(user, httpRequest.getAttribute(KerberosPlugin.IMPERSONATOR_USER_NAME)); - } - } - } - - @Before - public void clearCalledIndicator() { - ImpersonatorCollectionsHandler.called.set(false); - } - - @AfterClass - public static void shutdown() throws Exception { - if (solrClient != null) { - IOUtils.closeQuietly(solrClient); - solrClient = null; - } - try { - if (miniCluster != null) { - miniCluster.shutdown(); - } - } finally { - miniCluster = null; - System.clearProperty("authenticationPlugin"); - System.clearProperty(KerberosPlugin.DELEGATION_TOKEN_ENABLED); - System.clearProperty("solr.kerberos.cookie.domain"); - Map impSettings = getImpersonatorSettings(); - for (Map.Entry entry : impSettings.entrySet()) { - System.clearProperty(entry.getKey()); - } - System.clearProperty("solr.test.sys.prop1"); - System.clearProperty("solr.test.sys.prop2"); - System.clearProperty("collectionsHandler"); - - SolrRequestParsers.DEFAULT.setAddRequestHeadersToContext(false); - } - } - - private void create1ShardCollection(String name, String config, MiniSolrCloudCluster solrCluster) - throws Exception { - CollectionAdminResponse response; - CollectionAdminRequest.Create create = - new CollectionAdminRequest.Create(name, config, 1, 1, 0, 0) { - @Override - public SolrParams getParams() { - ModifiableSolrParams msp = new ModifiableSolrParams(super.getParams()); - msp.set(USER_PARAM, "user"); - return msp; - } - }; - response = create.process(solrCluster.getSolrClient()); - - miniCluster.waitForActiveCollection(name, 1, 1); - - if (response.getStatus() != 0 || response.getErrorMessages() != null) { - fail("Could not create collection. Response" + response.toString()); - } - } - - private SolrRequest getProxyRequest(String user, String doAs) { - return getProxyRequest(user, doAs, null); - } - - private SolrRequest getProxyRequest(String user, String doAs, String remoteHost) { - return getProxyRequest(user, doAs, remoteHost, null); - } - - private SolrRequest getProxyRequest( - String user, String doAs, String remoteHost, String remoteAddress) { - return new CollectionAdminRequest.List() { - @Override - public SolrParams getParams() { - ModifiableSolrParams params = new ModifiableSolrParams(super.getParams()); - params.set(USER_PARAM, user); - params.set(KerberosPlugin.IMPERSONATOR_DO_AS_HTTP_PARAM, doAs); - if (remoteHost != null) params.set(REMOTE_HOST_PARAM, remoteHost); - if (remoteAddress != null) params.set(REMOTE_ADDRESS_PARAM, remoteAddress); - return params; - } - }; - } - - private String getExpectedGroupExMsg(String user, String doAs) { - return "User: " + user + " is not allowed to impersonate " + doAs; - } - - private String getExpectedHostExMsg(String user) { - return "Unauthorized connection for super-user: " + user; - } - - @Test - public void testProxyNoConfigGroups() { - SolrClient.RemoteSolrException e = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("noGroups", "bar"))); - assertTrue(e.getMessage().contains(getExpectedGroupExMsg("noGroups", "bar"))); - } - - @Test - public void testProxyWrongHost() { - SolrClient.RemoteSolrException e = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("wrongHost", "bar"))); - assertTrue(e.getMessage().contains(getExpectedHostExMsg("wrongHost"))); - } - - @Test - public void testProxyNoConfigHosts() { - SolrClient.RemoteSolrException e = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("noHosts", "bar"))); - assertTrue(e.getMessage().contains(getExpectedHostExMsg("noHosts"))); - } - - @Test - public void testProxyValidateAnyHostAnyUser() throws Exception { - solrClient.request(getProxyRequest("anyHostAnyUser", "bar", null)); - assertTrue(ImpersonatorCollectionsHandler.called.get()); - } - - @Test - public void testProxyInvalidProxyUser() { - // wrong direction, should fail - SolrClient.RemoteSolrException e = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("bar", "anyHostAnyUser"))); - assertTrue(e.getMessage().contains(getExpectedGroupExMsg("bar", "anyHostAnyUser"))); - } - - @Test - public void testProxyValidateHost() throws Exception { - solrClient.request(getProxyRequest("localHostAnyGroup", "bar")); - assertTrue(ImpersonatorCollectionsHandler.called.get()); - } - - @Test - public void testProxyValidateGroup() throws Exception { - solrClient.request( - getProxyRequest("anyHostUsersGroup", EnvUtils.getProperty("user.name"), null)); - assertTrue(ImpersonatorCollectionsHandler.called.get()); - } - - @Test - public void testProxyUnknownRemote() { - SolrClient.RemoteSolrException e = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> { - // Use a reserved ip address - String nonProxyUserConfiguredIpAddress = "255.255.255.255"; - solrClient.request( - getProxyRequest( - "localHostAnyGroup", - "bar", - "unknownhost.bar.foo", - nonProxyUserConfiguredIpAddress)); - }); - assertTrue(e.getMessage().contains(getExpectedHostExMsg("localHostAnyGroup"))); - } - - @Test - public void testProxyInvalidRemote() { - SolrClient.RemoteSolrException e = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> { - solrClient.request( - getProxyRequest("localHostAnyGroup", "bar", "[ff01::114]", "[::1]")); - }); - assertTrue(e.getMessage().contains(getExpectedHostExMsg("localHostAnyGroup"))); - } - - @Test - public void testProxyInvalidGroup() { - SolrClient.RemoteSolrException e = - expectThrows( - SolrClient.RemoteSolrException.class, - () -> solrClient.request(getProxyRequest("bogusGroup", "bar", null))); - assertTrue(e.getMessage().contains(getExpectedGroupExMsg("bogusGroup", "bar"))); - } - - @Test - public void testProxyNullProxyUser() { - expectThrows( - SolrClient.RemoteSolrException.class, () -> solrClient.request(getProxyRequest("", "bar"))); - } - - @Test - public void testForwarding() throws Exception { - String collectionName = "forwardingCollection"; - miniCluster.uploadConfigSet(TEST_PATH().resolve("collection1/conf"), "conf1"); - create1ShardCollection(collectionName, "conf1", miniCluster); - - // try a command to each node, one of them must be forwarded - for (JettySolrRunner jetty : miniCluster.getJettySolrRunners()) { - try (HttpSolrClient client = - new HttpSolrClient.Builder(jetty.getBaseUrl().toString()) - .withDefaultCollection(collectionName) - .build()) { - ModifiableSolrParams params = new ModifiableSolrParams(); - params.set("q", "*:*"); - params.set(USER_PARAM, "user"); - client.query(params); - } - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestZkAclsWithHadoopAuth.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestZkAclsWithHadoopAuth.java deleted file mode 100644 index 074d39c51f6..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/security/hadoop/TestZkAclsWithHadoopAuth.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.security.hadoop; - -import static org.apache.solr.common.cloud.VMParamsZkCredentialsInjector.DEFAULT_DIGEST_PASSWORD_VM_PARAM_NAME; -import static org.apache.solr.common.cloud.VMParamsZkCredentialsInjector.DEFAULT_DIGEST_READONLY_PASSWORD_VM_PARAM_NAME; -import static org.apache.solr.common.cloud.VMParamsZkCredentialsInjector.DEFAULT_DIGEST_READONLY_USERNAME_VM_PARAM_NAME; -import static org.apache.solr.common.cloud.VMParamsZkCredentialsInjector.DEFAULT_DIGEST_USERNAME_VM_PARAM_NAME; - -import java.nio.charset.StandardCharsets; -import java.security.NoSuchAlgorithmException; -import java.util.List; -import java.util.Locale; -import java.util.concurrent.TimeUnit; -import org.apache.solr.cloud.MiniSolrCloudCluster; -import org.apache.solr.cloud.SolrCloudTestCase; -import org.apache.solr.common.cloud.SecurityAwareZkACLProvider; -import org.apache.solr.common.cloud.SolrZkClient; -import org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider; -import org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider; -import org.apache.zookeeper.ZooDefs; -import org.apache.zookeeper.ZooKeeper; -import org.apache.zookeeper.data.ACL; -import org.apache.zookeeper.data.Id; -import org.apache.zookeeper.data.Stat; -import org.apache.zookeeper.server.auth.DigestAuthenticationProvider; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class TestZkAclsWithHadoopAuth extends SolrCloudTestCase { - protected static final int NUM_SERVERS = 1; - protected static final int NUM_SHARDS = 1; - protected static final int REPLICATION_FACTOR = 1; - private static final String SOLR_PASSWD = "solr"; - private static final String FOO_PASSWD = "foo"; - private static final Id SOLR_ZK_ID = new Id("digest", digest("solr", SOLR_PASSWD)); - private static final Id FOO_ZK_ID = new Id("digest", digest("foo", FOO_PASSWD)); - - @BeforeClass - public static void setupClass() throws Exception { - HadoopTestUtil.checkAssumptions(); - - System.setProperty( - SolrZkClient.ZK_ACL_PROVIDER_CLASS_NAME_VM_PARAM_NAME, - VMParamsAllAndReadonlyDigestZkACLProvider.class.getName()); - System.setProperty( - SolrZkClient.ZK_CRED_PROVIDER_CLASS_NAME_VM_PARAM_NAME, - VMParamsSingleSetCredentialsDigestZkCredentialsProvider.class.getName()); - System.setProperty(DEFAULT_DIGEST_USERNAME_VM_PARAM_NAME, "solr"); - System.setProperty(DEFAULT_DIGEST_PASSWORD_VM_PARAM_NAME, SOLR_PASSWD); - System.setProperty(DEFAULT_DIGEST_READONLY_USERNAME_VM_PARAM_NAME, "foo"); - System.setProperty(DEFAULT_DIGEST_READONLY_PASSWORD_VM_PARAM_NAME, FOO_PASSWD); - - configureCluster(NUM_SERVERS) // nodes - .withSolrXml(MiniSolrCloudCluster.DEFAULT_CLOUD_SOLR_XML) - .withSecurityJson( - TEST_PATH().resolve("security").resolve("hadoop_simple_auth_with_delegation.json")) - .addConfig( - "conf1", TEST_PATH().resolve("configsets").resolve("cloud-minimal").resolve("conf")) - .configure(); - } - - @AfterClass - public static void tearDownClass() { - System.clearProperty(SolrZkClient.ZK_ACL_PROVIDER_CLASS_NAME_VM_PARAM_NAME); - System.clearProperty(SolrZkClient.ZK_CRED_PROVIDER_CLASS_NAME_VM_PARAM_NAME); - System.clearProperty(DEFAULT_DIGEST_USERNAME_VM_PARAM_NAME); - System.clearProperty(DEFAULT_DIGEST_PASSWORD_VM_PARAM_NAME); - System.clearProperty(DEFAULT_DIGEST_READONLY_USERNAME_VM_PARAM_NAME); - System.clearProperty(DEFAULT_DIGEST_READONLY_PASSWORD_VM_PARAM_NAME); - } - - @Test - @SuppressWarnings({"try"}) - public void testZkAcls() throws Exception { - try (ZooKeeper keeper = - new ZooKeeper( - cluster.getZkServer().getZkAddress(), - (int) TimeUnit.MINUTES.toMillis(1), - arg0 -> { - /* Do nothing */ - })) { - keeper.addAuthInfo("digest", ("solr:" + SOLR_PASSWD).getBytes(StandardCharsets.UTF_8)); - - // Test well known paths. - checkSecurityACLs(keeper, "/security/token"); - checkSecurityACLs(keeper, "/security"); - - // Now test all ZK tree. - String zkHost = cluster.getSolrClient().getClusterStateProvider().getQuorumHosts(); - String zkChroot = zkHost.contains("/") ? zkHost.substring(zkHost.indexOf('/')) : null; - walkZkTree(keeper, zkChroot, "/"); - } - } - - private void walkZkTree(ZooKeeper keeper, String zkChroot, String path) throws Exception { - if (isSecurityZNode(zkChroot, path)) { - checkSecurityACLs(keeper, path); - } else { - checkNonSecurityACLs(keeper, path); - } - - List children = keeper.getChildren(path, false); - for (String child : children) { - String subpath = path.endsWith("/") ? path + child : path + "/" + child; - walkZkTree(keeper, zkChroot, subpath); - } - } - - private boolean isSecurityZNode(String zkChroot, String path) { - String temp = path; - if (zkChroot != null) { - temp = path.replace(zkChroot, ""); - } - return temp.startsWith(SecurityAwareZkACLProvider.SECURITY_ZNODE_PATH); - } - - private void checkSecurityACLs(ZooKeeper keeper, String path) throws Exception { - List acls = keeper.getACL(path, new Stat()); - String message = String.format(Locale.ROOT, "Path %s ACLs found %s", path, acls); - assertEquals(message, 1, acls.size()); - assertTrue(message, acls.contains(new ACL(ZooDefs.Perms.ALL, SOLR_ZK_ID))); - } - - private void checkNonSecurityACLs(ZooKeeper keeper, String path) throws Exception { - List acls = keeper.getACL(path, new Stat()); - String message = String.format(Locale.ROOT, "Path %s ACLs found %s", path, acls); - assertEquals(message, 2, acls.size()); - assertTrue(message, acls.contains(new ACL(ZooDefs.Perms.ALL, SOLR_ZK_ID))); - assertTrue(message, acls.contains(new ACL(ZooDefs.Perms.READ, FOO_ZK_ID))); - } - - private static String digest(String userName, String passwd) { - try { - return DigestAuthenticationProvider.generateDigest(userName + ":" + passwd); - } catch (NoSuchAlgorithmException ex) { - throw new RuntimeException(ex); - } - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/util/configuration/HadoopSSLConfigurationsTest.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/util/configuration/HadoopSSLConfigurationsTest.java deleted file mode 100644 index b29c5444a9a..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/util/configuration/HadoopSSLConfigurationsTest.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.solr.util.configuration; - -import static org.apache.hadoop.security.alias.CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH; -import static org.hamcrest.CoreMatchers.is; -import static org.mockito.Mockito.when; - -import java.io.IOException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import org.apache.hadoop.conf.Configuration; -import org.apache.lucene.tests.util.TestRuleRestoreSystemProperties; -import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.common.util.EnvUtils; -import org.apache.solr.util.configuration.providers.EnvSSLCredentialProvider; -import org.apache.solr.util.configuration.providers.SysPropSSLCredentialProvider; -import org.apache.solr.util.configuration.providers.hadoop.HadoopSSLCredentialProvider; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TestRule; -import org.mockito.Mockito; - -public class HadoopSSLConfigurationsTest extends SolrTestCaseJ4 { - private Map envs; - private SSLConfigurations sut; - - public static final String SAMPLE_PW1 = "pw123"; - public static final String SAMPLE_PW2 = "pw456"; - public static final String SAMPLE_PW3 = "pw789"; - public static final String KEY_STORE_PASSWORD = SSLConfigurations.SysProps.SSL_KEY_STORE_PASSWORD; - public static final String CLIENT_KEY_STORE_PASSWORD = - SSLConfigurations.SysProps.SSL_CLIENT_KEY_STORE_PASSWORD; - - @Rule - public TestRule syspropRestore = - new TestRuleRestoreSystemProperties( - SSLConfigurations.SysProps.SSL_KEY_STORE_PASSWORD, - SSLConfigurations.SysProps.SSL_CLIENT_KEY_STORE_PASSWORD, - CREDENTIAL_PROVIDER_PATH); - - @Override - @Before - public void setUp() throws Exception { - super.setUp(); - envs = new HashMap<>(); - } - - private SSLConfigurations createSut(Configuration mockHadoopConfiguration) { - EnvSSLCredentialProvider envSSLCredentialProvider = new EnvSSLCredentialProvider(); - envSSLCredentialProvider.setEnvVars(envs); - sut = - new SSLConfigurations( - Arrays.asList( - new HadoopSSLCredentialProvider(mockHadoopConfiguration), - envSSLCredentialProvider, - new SysPropSSLCredentialProvider())); - return sut; - } - - @Test - public void testSslConfigKeystorePwFromKeystoreHadoopCredentialProvider() throws IOException { - getSutWithMockedHadoopCredentialProvider( - SSLConfigurations.SysProps.SSL_KEY_STORE_PASSWORD, SAMPLE_PW1) - .init(); - assertThat(EnvUtils.getProperty(CLIENT_KEY_STORE_PASSWORD), is(SAMPLE_PW1)); - } - - @Test - public void testSslConfigKeystorePwFromClientKeystoreHadoopCredentialProvider() - throws IOException { - getSutWithMockedHadoopCredentialProvider( - SSLConfigurations.SysProps.SSL_CLIENT_KEY_STORE_PASSWORD, SAMPLE_PW2) - .init(); - assertThat(EnvUtils.getProperty(CLIENT_KEY_STORE_PASSWORD), is(SAMPLE_PW2)); - } - - @Test - public void testGetKeyStorePasswordFromHadoopCredentialProvider() throws IOException { - SSLConfigurations sut = - getSutWithMockedHadoopCredentialProvider( - SSLConfigurations.SysProps.SSL_KEY_STORE_PASSWORD, SAMPLE_PW3); - assertThat(sut.getKeyStorePassword(), is(SAMPLE_PW3)); - } - - @Test - public void testGetTruststorePasswordFromHadoopCredentialProvider() throws IOException { - SSLConfigurations sut = - getSutWithMockedHadoopCredentialProvider( - SSLConfigurations.SysProps.SSL_TRUST_STORE_PASSWORD, SAMPLE_PW3); - assertThat(sut.getTrustStorePassword(), is(SAMPLE_PW3)); - } - - @Test - public void testGetClientKeyStorePasswordFromHadoopCredentialProvider() throws IOException { - SSLConfigurations sut = - getSutWithMockedHadoopCredentialProvider( - SSLConfigurations.SysProps.SSL_CLIENT_KEY_STORE_PASSWORD, SAMPLE_PW3); - assertThat(sut.getClientKeyStorePassword(), is(SAMPLE_PW3)); - } - - @Test - public void testGetClientTruststorePasswordFromHadoopCredentialProvider() throws IOException { - SSLConfigurations sut = - getSutWithMockedHadoopCredentialProvider( - SSLConfigurations.SysProps.SSL_CLIENT_TRUST_STORE_PASSWORD, SAMPLE_PW3); - assertThat(sut.getClientTrustStorePassword(), is(SAMPLE_PW3)); - } - - @Test - public void testHadoopCredentialProviderPrioritySysPropAndEnvVars() throws IOException { - SSLConfigurations sut = - getSutWithMockedHadoopCredentialProvider(KEY_STORE_PASSWORD, SAMPLE_PW3); - assertThat(sut.getKeyStorePassword(), is(SAMPLE_PW3)); - } - - private SSLConfigurations getSutWithMockedHadoopCredentialProvider(String key, String pw) - throws IOException { - Configuration mockHadoopConfiguration = getMockHadoopConfiguration(); - when(mockHadoopConfiguration.getPassword(key)) - .then( - invocationOnMock -> - invocationOnMock.getArguments()[0].equals(key) ? pw.toCharArray() : null); - System.setProperty(CREDENTIAL_PROVIDER_PATH, "/some/path"); // enables HCP - return createSut(mockHadoopConfiguration); - } - - private Configuration getMockHadoopConfiguration() { - SolrTestCaseJ4.assumeWorkingMockito(); - return Mockito.mock(Configuration.class); - } -} diff --git a/solr/modules/hadoop-auth/src/test/org/apache/solr/util/configuration/providers/hadoop/HadoopSSLCredentialProviderTest.java b/solr/modules/hadoop-auth/src/test/org/apache/solr/util/configuration/providers/hadoop/HadoopSSLCredentialProviderTest.java deleted file mode 100644 index 8a40deeaa31..00000000000 --- a/solr/modules/hadoop-auth/src/test/org/apache/solr/util/configuration/providers/hadoop/HadoopSSLCredentialProviderTest.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.solr.util.configuration.providers.hadoop; - -import static org.apache.hadoop.security.alias.CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH; -import static org.apache.solr.util.configuration.providers.AbstractSSLCredentialProvider.DEFAULT_CREDENTIAL_KEY_MAP; -import static org.hamcrest.core.Is.is; - -import java.io.IOException; -import java.util.Map; -import org.apache.hadoop.conf.Configuration; -import org.apache.lucene.tests.util.TestRuleRestoreSystemProperties; -import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.util.configuration.SSLCredentialProvider; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TestRule; -import org.mockito.Mockito; - -/** */ -public class HadoopSSLCredentialProviderTest extends SolrTestCaseJ4 { - - @Rule - public TestRule syspropRestore = new TestRuleRestoreSystemProperties(CREDENTIAL_PROVIDER_PATH); - - @Test(expected = RuntimeException.class) - public void testConstructorRequiresCredPath() { - new HadoopSSLCredentialProvider(getMockHadoopConfiguration()); - } - - @Test - public void testGetCredentials() throws Exception { - int cnt = 0; - for (Map.Entry set : - DEFAULT_CREDENTIAL_KEY_MAP.entrySet()) { - String pw = "pw" + ++cnt; - HadoopSSLCredentialProvider sut = - new HadoopSSLCredentialProvider(getMockedHadoopCredentialProvider(set.getValue(), pw)); - assertThat(sut.getCredential(set.getKey()), is(pw)); - } - } - - private Configuration getMockedHadoopCredentialProvider(String key, String pw) - throws IOException { - Configuration mockHadoopConfiguration = getMockHadoopConfiguration(); - Mockito.when(mockHadoopConfiguration.getPassword(key)) - .then( - invocationOnMock -> - invocationOnMock.getArguments()[0].equals(key) ? pw.toCharArray() : null); - System.setProperty(CREDENTIAL_PROVIDER_PATH, "/some/path"); // enables HCP - return mockHadoopConfiguration; - } - - private Configuration getMockHadoopConfiguration() { - SolrTestCaseJ4.assumeWorkingMockito(); - return Mockito.mock(Configuration.class); - } -} From af5a296a8ad46b94d23eb609e58fc43b63cc3a63 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 07:41:28 -0400 Subject: [PATCH 02/36] Remove build tooling integrations --- .github/labeler.yml | 5 ----- gradle/validation/rat-sources.gradle | 4 ---- settings.gradle | 1 - solr/packaging/test/test_modules.bats | 21 --------------------- 4 files changed, 31 deletions(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 793957db16d..be8f4c59ba3 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -122,11 +122,6 @@ module:gcs-repository: - any-glob-to-any-file: - solr/modules/gcs-repository/** -module:hadoop-auth: - - changed-files: - - any-glob-to-any-file: - - solr/modules/hadoop-auth/** - module:hdfs: - changed-files: - any-glob-to-any-file: diff --git a/gradle/validation/rat-sources.gradle b/gradle/validation/rat-sources.gradle index 577529a9c16..6d2119ffec1 100644 --- a/gradle/validation/rat-sources.gradle +++ b/gradle/validation/rat-sources.gradle @@ -106,10 +106,6 @@ allprojects { exclude "src/test-files/META-INF/services/*" break - case ":solr:modules:hadoop-auth": - exclude "src/test-files/**/*.conf" - break - case ":solr:modules:hdfs": exclude "src/test-files/**/*.aff" exclude "src/test-files/**/*.dic" diff --git a/settings.gradle b/settings.gradle index a9dd4a99ba1..dc86d958cfa 100644 --- a/settings.gradle +++ b/settings.gradle @@ -48,7 +48,6 @@ include "solr:modules:cross-dc" include "solr:modules:opentelemetry" include "solr:modules:extraction" include "solr:modules:gcs-repository" -include "solr:modules:hadoop-auth" include "solr:modules:hdfs" include "solr:modules:jwt-auth" include "solr:modules:langid" diff --git a/solr/packaging/test/test_modules.bats b/solr/packaging/test/test_modules.bats index 772e04344c4..125e9ffe5b1 100644 --- a/solr/packaging/test/test_modules.bats +++ b/solr/packaging/test/test_modules.bats @@ -39,27 +39,6 @@ teardown() { refute_output --partial '"EXCEPTION"' } -@test "Hadoop-Auth Module: KerberosPlugin Classloading" { - # Write a security.json that uses the KerberosPlugin - local security_json="${BATS_TEST_TMPDIR}/kerberos-security.json" - echo '{"authentication": {"class": "solr.KerberosPlugin"}}' > "${security_json}" - - # Start Solr - export SOLR_MODULES=hadoop-auth - solr start \ - -Dsolr.kerberos.principal=test \ - -Dsolr.kerberos.keytab=test \ - -Dsolr.kerberos.cookie.domain=test - - # Upload the custom security.json and wait for Solr to try to load it - solr zk cp "${security_json}" zk:security.json -z localhost:${ZK_PORT} - sleep 1 - - run cat "${SOLR_LOGS_DIR}/solr.log" - assert_output --partial "Initializing authentication plugin: solr.KerberosPlugin" - refute_output --partial "java.lang.ClassNotFoundException" -} - @test "icu collation in analysis-extras module" { local solr_include_file="${BATS_TEST_TMPDIR}/solr.include" echo "SOLR_MODULES=analysis-extras" > "${solr_include_file}" From 9b533ed3240e4dadaff234f3a405794563192479 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 07:58:30 -0400 Subject: [PATCH 03/36] Remove from login screen. --- solr/webapp/web/partials/login.html | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/solr/webapp/web/partials/login.html b/solr/webapp/web/partials/login.html index b49a960e773..ca3b3125960 100644 --- a/solr/webapp/web/partials/login.html +++ b/solr/webapp/web/partials/login.html @@ -60,23 +60,6 @@

Basic Authentication

-
-

Kerberos Authentication

-

Your browser did not provide the required information to authenticate using Kerberos. - Please check that your computer has a valid ticket for communicating with Solr, - and that your browser is properly configured to provide that ticket when required. - For more information, consult - - Solr's Kerberos documentation - . -

- The response from the server was: -
-
HTTP 401 {{statusText}}
-WWW-Authenticate: {{wwwAuthHeader}}
-
-
-

Certificate Authentication

Your browser did not provide the required information to authenticate using PKI Certificates. From 480f8f7edc2732c31281f1697a7c846388779853 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 08:03:18 -0400 Subject: [PATCH 04/36] First path of removing related docs --- dev-tools/scripts/refguide/htaccess.txt | 2 +- .../deployment-guide/deployment-nav.adoc | 2 - ...hentication-and-authorization-plugins.adoc | 2 - .../pages/kerberos-authentication-plugin.adoc | 547 ------------------ .../rule-based-authorization-plugin.adoc | 2 +- .../deployment-guide/pages/securing-solr.adoc | 2 - 6 files changed, 2 insertions(+), 555 deletions(-) delete mode 100644 solr/solr-ref-guide/modules/deployment-guide/pages/kerberos-authentication-plugin.adoc diff --git a/dev-tools/scripts/refguide/htaccess.txt b/dev-tools/scripts/refguide/htaccess.txt index 419467d09dd..e067c8c5cae 100644 --- a/dev-tools/scripts/refguide/htaccess.txt +++ b/dev-tools/scripts/refguide/htaccess.txt @@ -1,6 +1,6 @@ # Existing pages moved to sub path in the 9.0 guide RedirectMatch 301 ^/guide/(about-this-guide|relevance|solr-glossary|solr-tutorial)\.html /guide/solr/latest/getting-started/$1.html -RedirectMatch 301 ^/guide/(aliases|audit-logging|authentication-and-authorization-plugins|basic-authentication-plugin|circuit-breakers|client-apis|cloud-screens|cluster-node-management|collection-management|collections-core-admin|configuring-logging|enabling-ssl|hadoop-authentication-plugin|indexupgrader-tool|installing-solr|jvm-settings|jwt-authentication-plugin|kerberos-authentication-plugin|mbean-request-handler|metrics-reporting|performance-statistics-reference|ping|plugins-stats-screen|replica-management|rule-based-authorization-plugin|securing-solr|security-ui|shard-management|solr-control-script-reference|solrcloud-recoveries-and-write-tolerance|solrcloud-with-legacy-configuration-files|taking-solr-to-production|thread-dump|upgrading-a-solr-cluster|zookeeper-access-control|cert-authentication-plugin)\.html /guide/solr/latest/deployment-guide/$1.html +RedirectMatch 301 ^/guide/(aliases|audit-logging|authentication-and-authorization-plugins|basic-authentication-plugin|circuit-breakers|client-apis|cloud-screens|cluster-node-management|collection-management|collections-core-admin|configuring-logging|enabling-ssl|indexupgrader-tool|installing-solr|jvm-settings|jwt-authentication-plugin|mbean-request-handler|metrics-reporting|performance-statistics-reference|ping|plugins-stats-screen|replica-management|rule-based-authorization-plugin|securing-solr|security-ui|shard-management|solr-control-script-reference|solrcloud-recoveries-and-write-tolerance|solrcloud-with-legacy-configuration-files|taking-solr-to-production|thread-dump|upgrading-a-solr-cluster|zookeeper-access-control|cert-authentication-plugin)\.html /guide/solr/latest/deployment-guide/$1.html RedirectMatch 301 ^/guide/(analysis-screen|analyzers|charfilterfactories|content-streams|de-duplication|documents-screen|docvalues|dynamic-fields|field-properties-by-use-case|field-type-definitions-and-properties|field-types-included-with-solr|indexing-nested-documents|language-analysis|luke-request-handler|phonetic-matching|post-tool|reindexing|schema-api|schema-browser-screen|schema-designer|schemaless-mode|tokenizers|transforming-and-indexing-custom-json|language-detection|schema-elements|currencies-exchange-rates|indexing-with-update-handlers|indexing-with-tika)\.html /guide/solr/latest/indexing-guide/$1.html RedirectMatch 301 ^/guide/(analytics-expression-sources|analytics-mapping-functions|analytics-reduction-functions|analytics|collapse-and-expand-results|common-query-parameters|computational-geometry|curve-fitting|dsp|exporting-result-sets|faceting|function-queries|graph-traversal|graph|highlighting|json-facet-api|json-faceting-domain-changes|json-query-dsl|json-request-api|learning-to-rank|loading|logs|machine-learning|math-expressions|math-start|matrix-math|morelikethis|numerical-analysis|other-parsers|pagination-of-results|probability-distributions|query-re-ranking|query-screen|regression|response-writers|result-grouping|scalar-math|search-sample|searching-nested-documents|simulations|spatial-search|spell-checking|statistics|stream-api|stream-decorator-reference|stream-evaluator-reference|stream-screen|stream-source-reference|streaming-expressions|suggester|term-vectors|time-series|transform|variables|vector-math|visualization|result-clustering|query-syntax-and-parsers|edismax-query-parser|sql-query|query-elevation-component|join-query-parser|document-transformers)\.html /guide/solr/latest/query-guide/$1.html RedirectMatch 301 ^/guide/(codec-factory|collections-api|config-api|config-sets|configsets-api|configuring-solrconfig-xml|coreadmin-api|implicit-requesthandlers|libs|managed-resources|package-manager-internals|package-manager|realtime-get|request-parameters-api|resource-loading|solr-plugins|update-request-processors|v2-api|script-update-processor|core-discovery)\.html /guide/solr/latest/configuration-guide/$1.html diff --git a/solr/solr-ref-guide/modules/deployment-guide/deployment-nav.adoc b/solr/solr-ref-guide/modules/deployment-guide/deployment-nav.adoc index a41206030a7..2e2b631f2b5 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/deployment-nav.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/deployment-nav.adoc @@ -74,10 +74,8 @@ * xref:securing-solr.adoc[] ** xref:authentication-and-authorization-plugins.adoc[] *** xref:basic-authentication-plugin.adoc[] -*** xref:kerberos-authentication-plugin.adoc[] *** xref:jwt-authentication-plugin.adoc[] *** xref:cert-authentication-plugin.adoc[] -*** xref:hadoop-authentication-plugin.adoc[] *** xref:rule-based-authorization-plugin.adoc[] ** xref:audit-logging.adoc[] ** xref:enabling-ssl.adoc[] diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/authentication-and-authorization-plugins.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/authentication-and-authorization-plugins.adoc index 09b076caa8f..5e895664268 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/authentication-and-authorization-plugins.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/authentication-and-authorization-plugins.adoc @@ -1,9 +1,7 @@ = Configuring Authentication and Authorization :page-children: basic-authentication-plugin, \ - kerberos-authentication-plugin, \ jwt-authentication-plugin, \ cert-authentication-plugin, \ - hadoop-authentication-plugin, \ rule-based-authorization-plugin // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/kerberos-authentication-plugin.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/kerberos-authentication-plugin.adoc deleted file mode 100644 index 9083b5107d7..00000000000 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/kerberos-authentication-plugin.adoc +++ /dev/null @@ -1,547 +0,0 @@ -= Kerberos Authentication Plugin -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -If you are using Kerberos to secure your network environment, the Kerberos authentication plugin can be used to secure a Solr cluster. - -This allows Solr to use a Kerberos service principal and keytab file to authenticate with ZooKeeper and between nodes of the Solr cluster (if applicable). -Users of the Admin UI and all clients (such as xref:solrj.adoc[]) would also need to have a valid ticket before being able to use the UI or send requests to Solr. - -Support for Kerberos authentication is available in SolrCloud, user-managed, or single-node installations. - -[TIP] -==== -If you are using Solr with a Hadoop cluster secured with Kerberos and intend to store your Solr indexes in HDFS, also see the section xref:solr-on-hdfs.adoc[] for additional steps to configure Solr for that purpose. -The instructions on this page apply only to scenarios where Solr will be secured with Kerberos. -If you only need to store your indexes in a Kerberized HDFS system, please see the Running Solr on HDFS section. -==== - -== How Solr Works With Kerberos - -When setting up Solr to use Kerberos, configurations are put in place for Solr to use a _service principal_, or a Kerberos username, which is registered with the Key Distribution Center (KDC) to authenticate requests. -The configurations define the service principal name and the location of the keytab file that contains the credentials. - -As with all authentication plugins, Kerberos authentication configuration is stored in `security.json`. -This file is discussed in the section xref:authentication-and-authorization-plugins.adoc#configuring-security-json[Configuring security.json]. - -=== Service Principals and Keytab Files - -Each Solr node must have a service principal registered with the Key Distribution Center (KDC). -The Kerberos plugin uses SPNego to negotiate authentication. - -Using `HTTP/host1@YOUR-DOMAIN.ORG` as an example of a service principal: - -* `HTTP` indicates the type of requests which this service principal will be used to authenticate. -The `HTTP/` in the service principal is a must for SPNego to work with requests to Solr over HTTP. -* `host1` is the host name of the machine hosting the Solr node. -* `YOUR-DOMAIN.ORG` is the organization-wide Kerberos realm. - -Multiple Solr nodes on the same host may have the same service principal, since the host name is common to them all. - -Along with the service principal, each Solr node needs a keytab file which should contain the credentials of the service principal used. -A keytab file contains encrypted credentials to support passwordless logins while obtaining Kerberos tickets from the KDC. -For each Solr node, the keytab file should be kept in a secure location and not shared with users of the cluster. - -Since a Solr cluster requires internode communication, each node must also be able to make Kerberos enabled requests to other nodes. -By default, Solr uses the same service principal and keytab as a 'client principal' for internode communication. -You may configure a distinct client principal explicitly, but doing so is not recommended and is not covered in the examples below. - -=== Kerberized ZooKeeper - -When setting up a kerberized SolrCloud cluster, it is recommended to enable Kerberos security for ZooKeeper as well. - -In such a setup, the client principal used to authenticate requests with ZooKeeper can be shared for internode communication as well. -This has the benefit of not needing to renew the ticket granting tickets (TGTs) separately, since the ZooKeeper client used by Solr takes care of this. -To achieve this, a single JAAS configuration (with the app name as Client) can be used for the Kerberos plugin as well as for the ZooKeeper client. - -See the <> section below for an example of starting ZooKeeper in Kerberos mode. - -=== Browser Configuration - -In order for your browser to access the Solr Admin UI after enabling Kerberos authentication, it must be able to negotiate with the Kerberos authenticator service to allow you access. -Each browser supports this differently, and some (like Chrome) do not support it at all. -If you see 401 errors when trying to access the Solr Admin UI after enabling Kerberos authentication, it's likely your browser has not been configured properly to know how or where to negotiate the authentication request. - -Detailed information on how to set up your browser is beyond the scope of this documentation; please see your system administrators for Kerberos for details on how to configure your browser. - -== Kerberos Authentication Configuration - -.Consult Your Kerberos Admins! -[WARNING] -==== -Before attempting to configure Solr to use Kerberos authentication, please review each step outlined below and consult with your local Kerberos administrators on each detail to be sure you know the correct values for each parameter. -Small errors can cause Solr to not start or not function properly, and are notoriously difficult to diagnose. -==== - -Configuration of the Kerberos plugin has several parts: - -* Create service principals and keytab files -* ZooKeeper configuration -* Create or update `/security.json` -* Define `jaas-client.conf` -* Solr startup parameters - -We'll walk through each of these steps below. - -.Using Hostnames -[IMPORTANT] -==== -To use host names instead of IP addresses, use the `SOLR_HOST` configuration in `bin/solr.in.sh` or pass a `-Dhost=` system parameter during Solr startup. -This guide uses IP addresses. -If you specify a hostname, replace all the IP addresses in the guide with the Solr hostname as appropriate. -==== - -=== Get Service Principals and Keytabs - -Before configuring Solr, make sure you have a Kerberos service principal for each Solr host and ZooKeeper (if ZooKeeper has not already been configured) available in the KDC server, and generate a keytab file as shown below. - -This example assumes the hostname is `192.168.0.107` and your home directory is `/home/foo/`. -This example should be modified for your own environment. - -[source,bash] ----- -root@kdc:/# kadmin.local -Authenticating as principal foo/admin@EXAMPLE.COM with password. - -kadmin.local: addprinc HTTP/192.168.0.107 -WARNING: no policy specified for HTTP/192.168.0.107@EXAMPLE.COM; defaulting to no policy -Enter password for principal "HTTP/192.168.0.107@EXAMPLE.COM": -Re-enter password for principal "HTTP/192.168.0.107@EXAMPLE.COM": -Principal "HTTP/192.168.0.107@EXAMPLE.COM" created. - -kadmin.local: ktadd -k /tmp/107.keytab HTTP/192.168.0.107 -Entry for principal HTTP/192.168.0.107 with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/tmp/107.keytab. -Entry for principal HTTP/192.168.0.107 with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:/tmp/107.keytab. -Entry for principal HTTP/192.168.0.107 with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:/tmp/108.keytab. -Entry for principal HTTP/192.168.0.107 with kvno 2, encryption type des-cbc-crc added to keytab WRFILE:/tmp/107.keytab. - -kadmin.local: quit ----- - -Copy the keytab file from the KDC server’s `/tmp/107.keytab` location to the Solr host at `/keytabs/107.keytab`. -Repeat this step for each Solr node. - -You might need to take similar steps to create a ZooKeeper service principal and keytab if it has not already been set up. -In that case, the example below shows a different service principal for ZooKeeper, so the above might be repeated with `zookeeper/host1` as the service principal for one of the nodes - -=== ZooKeeper Configuration - -If you are using a ZooKeeper that has already been configured to use Kerberos, you can skip the ZooKeeper-related steps shown here. - -Since ZooKeeper manages the communication between nodes in a SolrCloud cluster, it must also be able to authenticate with each node of the cluster. -Configuration requires setting up a service principal for ZooKeeper, defining a JAAS configuration file and instructing ZooKeeper to use both of those items. - -The first step is to create a file `java.env` in ZooKeeper's `conf` directory and add the following to it, as in this example: - -[source,conf] ----- -export JVMFLAGS="-Djava.security.auth.login.config=/etc/zookeeper/conf/jaas-client.conf" ----- - -The JAAS configuration file should contain the following parameters. -Be sure to change the `principal` and `keyTab` path as appropriate. -The file must be located in the path defined in the step above, with the filename specified. - -[source,conf] ----- -Server { - com.sun.security.auth.module.Krb5LoginModule required - useKeyTab=true - keyTab="/keytabs/zkhost1.keytab" - storeKey=true - doNotPrompt=true - useTicketCache=false - debug=true - principal="zookeeper/host1@EXAMPLE.COM"; -}; ----- - -Finally, add the following lines to the ZooKeeper configuration file `zoo.cfg`: - -[source,properties] ----- -authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider -jaasLoginRenew=3600000 ----- - -Once all of the pieces are in place, start ZooKeeper with the following parameter pointing to the JAAS configuration file: - -[source,bash] ----- -$ bin/zkServer.sh start -Djava.security.auth.login.config=/etc/zookeeper/conf/jaas-client.conf ----- - -=== Create security.json - -Create the file `security.json` with the contents: - -[source,json] ----- -{"authentication": {"class": "solr.KerberosPlugin"}} ----- - -Then use the `bin/solr zk` command to upload the file: - -[source,bash] ----- -$ bin/solr zk cp ./security.json zk:security.json -z localhost:2181 ----- - -If you are using Solr in a single-node installation, you need to create the `security.json` file and put it in your `$SOLR_HOME` directory. - -[IMPORTANT] -==== -If you already have a `/security.json` file in ZooKeeper, download the file, add or modify the authentication section and upload it back to ZooKeeper using the xref:zookeeper-utilities.adoc[] available in Solr. -==== - -=== Define a JAAS Configuration File - -The JAAS configuration file defines the properties to use for authentication, such as the service principal and the location of the keytab file. -Other properties can also be set to ensure ticket caching and other features. - -The following example can be copied and modified slightly for your environment. -The location of the file can be anywhere on the server, but it will be referenced when starting Solr so it must be readable on the filesystem. -The JAAS file may contain multiple sections for different users, but each section must have a unique name so it can be uniquely referenced in each application. - -In the below example, we have created a JAAS configuration file with the name and path of `/home/foo/jaas-client.conf`. -We will use this name and path when we define the Solr start parameters in the next section. -Note that the client `principal` here is the same as the service principal. -This will be used to authenticate internode requests and requests to ZooKeeper. -Make sure to use the correct `principal` hostname and the `keyTab` file path. - -// *TODO* The docs link below goes to Java 8, but Java 11 has changed the classpath: -// https://docs.oracle.com/en/java/javase/11/docs/api/jdk.security.auth/com/sun/security/auth/module/Krb5LoginModule.html - -[source,conf] ----- -Client { - com.sun.security.auth.module.Krb5LoginModule required - useKeyTab=true - keyTab="/keytabs/107.keytab" - storeKey=true - useTicketCache=true - debug=true - principal="HTTP/192.168.0.107@EXAMPLE.COM"; -}; ----- - -The first line of this file defines the section name, which will be used with the `solr.kerberos.jaas.appname` parameter, defined below. - -The main properties we are concerned with are the `keyTab` and `principal` properties, but there are others which may be required for your environment. -The https://docs.oracle.com/javase/8/docs/jre/api/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule.html[javadocs for the Krb5LoginModule] (the class that's being used and is called in the second line above) provide a good outline of the available properties, but for reference the ones in use in the above example are explained here: - -* `useKeyTab`: this boolean property defines if we should use a keytab file (`true`, in this case). - -* `keyTab`: the location and name of the keytab file for the principal this section of the JAAS configuration file is for. -The path should be enclosed in double-quotes. - -* `storeKey`: this boolean property allows the key to be stored in the private credentials of the user. - -* `useTicketCache`: this boolean property allows the ticket to be obtained from the ticket cache. - -* `debug`: this boolean property will output debug messages for help in troubleshooting. - -* `principal`: the name of the service principal to be used. - -=== Solr Startup Parameters - -While starting up Solr, the following host-specific parameters need to be passed. -These parameters can be passed at the command line with the `bin/solr` start command (see xref:solr-control-script-reference.adoc[] for details on how to pass system parameters) or defined in `bin/solr.in.sh` or `bin/solr.in.cmd` as appropriate for your operating system. - -`solr.kerberos.name.rules`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `DEFAULT` -|=== -+ -Used to map Kerberos principals to short names. -Example of a name rule: `RULE:[1:$1@$0](.\*EXAMPLE.COM)s/@.*//`. - -`solr.kerberos.name.rules.mechanism`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `hadoop` -|=== -+ -The mechanism used to map Kerberos principals to short names. This can be either `hadoop` or `mit`. - -`solr.kerberos.cookie.domain`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -Used to issue cookies and should have the hostname of the Solr node. - -`solr.kerberos.cookie.portaware`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `false` -|=== -+ -When set to `true`, cookies are differentiated based on host and port, as opposed to standard cookies which are not port aware. -This should be set if more than one Solr node is hosted on the same host. - -`solr.kerberos.principal`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -The service principal. - -`solr.kerberos.keytab`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -Keytab file path containing service principal credentials - -`solr.kerberos.jaas.appname`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `Client` -|=== -+ -The app name (section name) within the JAAS configuration file which is required for internode communication. -The default is used for ZooKeeper authentication as well. -If different users are used for ZooKeeper and Solr, they will need to have separate sections in the JAAS configuration file. - -`java.security.auth.login.config`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -Path to the JAAS configuration file for configuring a Solr client for internode communication. - -Here is an example that could be added to `bin/solr.in.sh`. -Make sure to change this example to use the right hostname and the keytab file path. - -[source,properties] ----- -SOLR_AUTH_TYPE="kerberos" -SOLR_AUTHENTICATION_OPTS="-Djava.security.auth.login.config=/home/foo/jaas-client.conf -Dsolr.kerberos.cookie.domain=192.168.0.107 -Dsolr.kerberos.cookie.portaware=true -Dsolr.kerberos.principal=HTTP/192.168.0.107@EXAMPLE.COM -Dsolr.kerberos.keytab=/keytabs/107.keytab" ----- - -// *TODO* Update this for Java 11 - -.KDC with AES-256 encryption -[IMPORTANT] -==== -If your KDC uses AES-256 encryption, you need to add the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files to your JRE before a Kerberized Solr can interact with the KDC. - -You will know this when you see an error like this in your Solr logs: "KrbException: Encryption type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled". - -For Java 1.8, this is available here: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html. - -Replace the `local_policy.jar` present in `JAVA_HOME/jre/lib/security/` with the new `local_policy.jar` from the downloaded package and restart the Solr node. -==== - -=== Using Delegation Tokens - -The Kerberos plugin can be configured to use delegation tokens, which allow an application to reuse the authentication of an end-user or another application. - -There are a few use cases for Solr where this might be helpful: - -* Using distributed clients (such as MapReduce) where each client may not have access to the user's credentials. -* When load on the Kerberos server is high. -Delegation tokens can reduce the load because they do not access the server after the first request. -* If requests or permissions need to be delegated to another user. - -To enable delegation tokens, several parameters must be defined. -These parameters can be passed at the command line with the `bin/solr` start command xref:solr-control-script-reference.adoc[]) or defined in `bin/solr.in.sh` or `bin/solr.in.cmd` as appropriate for your operating system. - -`solr.kerberos.delegation.token.enabled`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `false` -|=== -+ -Set to `true` to enable delegation tokens. -This parameter is required if you want to enable tokens. - -`solr.kerberos.delegation.token.kind`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `solr-dt` -|=== -+ -The type of delegation tokens. -The only option available at this time is the default. - -`solr.kerberos.delegation.token.validity`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `36000` -|=== -+ -Time, in seconds, for which delegation tokens are valid. - -`solr.kerberos.delegation.token.signer.secret.provider`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `zookeeper` -|=== -+ -Where delegation token information is stored internally. -The default is `zookeeper` which must be the location for delegation tokens to work across Solr servers (when running in SolrCloud mode). -No other option is available at this time. - -`solr.kerberos.delegation.token.signer.secret.provider.zookeper.path`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: none -|=== -+ -The ZooKeeper path where the secret provider information is stored. -This is in the form of the path + `/security/token`. -The path can include the chroot or the chroot can be omitted if you are not using it. -This example includes the chroot: `server1:9983,server2:9983,server3:9983/solr/security/token`. - -`solr.kerberos.delegation.token.secret.manager.znode.working.path`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: none -|=== -+ -The ZooKeeper path where token information is stored. -This is in the form of the path + `/security/zkdtsm`. -The path can include the chroot or the chroot can be omitted if you are not using it. -This example includes the chroot: `server1:9983,server2:9983,server3:9983/solr/security/zkdtsm`. - -=== Start Solr - -Once the configuration is complete, you can start Solr with the `bin/solr` script, as in the example below, which is for users in SolrCloud mode only. - -This example assumes you modified `bin/solr.in.sh` or `bin/solr.in.cmd`, with the proper values, but if you did not, you would pass the system parameters along with the start command. -Note you also need to customize the `-z` property as appropriate for the location of your ZooKeeper nodes. - -[source,bash] ----- -$ bin/solr start -z server1:2181,server2:2181,server3:2181/solr ----- - -NOTE: If you have defined `ZK_HOST` in `solr.in.sh`/`solr.in.cmd` (see xref:zookeeper-ensemble#updating-solr-include-files[Updating Solr Include Files]) you can omit `-z ` from the above command. - -=== Test the Configuration - -. Do a `kinit` with your username. -For example, `kinit \user@EXAMPLE.COM`. -. Try to access Solr using `curl`. -You should get a successful response. -+ -[source,bash] ----- -$ curl --negotiate -u : "http://192.168.0.107:8983/solr/" ----- - -== Using SolrJ with a Kerberized Solr - -To use Kerberos authentication in a SolrJ application, you need the following two lines before you create a SolrClient: - -[source,java] ----- -System.setProperty("java.security.auth.login.config", "/home/foo/jaas-client.conf"); -HttpClientUtil.setHttpClientBuilder(new Krb5HttpClientBuilder().getBuilder()); ----- - -You need to specify a Kerberos service principal for the client and a corresponding keytab in the JAAS client configuration file above. -This principal should be different from the service principal we created for Solr. - -Here’s an example: - -[source,conf] ----- -SolrJClient { - com.sun.security.auth.module.Krb5LoginModule required - useKeyTab=true - keyTab="/keytabs/foo.keytab" - storeKey=true - useTicketCache=true - debug=true - principal="solrclient@EXAMPLE.COM"; -}; ----- - -=== Delegation Tokens with SolrJ - -Delegation tokens are also supported with SolrJ, in the following ways: - -* `DelegationTokenRequest` and `DelegationTokenResponse` can be used to get, cancel, and renew delegation tokens. -* `HttpSolrClient.Builder` includes a `withKerberosDelegationToken` function for creating an HttpSolrClient that uses a delegation token to authenticate. - -Sample code to get a delegation token: - -[source,java] ----- -private String getDelegationToken(final String renewer, final String user, HttpSolrClient solrClient) throws Exception { - DelegationTokenRequest.Get get = new DelegationTokenRequest.Get(renewer) { - @Override - public SolrParams getParams() { - ModifiableSolrParams params = new ModifiableSolrParams(super.getParams()); - params.set("user", user); - return params; - } - }; - DelegationTokenResponse.Get getResponse = get.process(solrClient); - return getResponse.getDelegationToken(); - } ----- - -To create a `HttpSolrClient` that uses delegation tokens: - -[source,java] ----- -HttpSolrClient client = new HttpSolrClient.Builder("http://localhost:8983/solr").withKerberosDelegationToken(token).build(); ----- - -To create a `CloudSolrClient` that uses delegation tokens: - -[source,java] ----- -CloudSolrClient client = new CloudSolrClient.Builder(Collections.singletonList("localhost:2181"),Optional.empty()) - .withLBHttpSolrClientBuilder(new LBHttpSolrClient.Builder() - .withResponseParser(client.getParser()) - .withHttpSolrClientBuilder( - new HttpSolrClient.Builder() - .withKerberosDelegationToken(token) - )) - .build(); ----- - -[TIP] -==== -Hadoop's delegation token responses are in JSON map format. -A response parser for that is available in `DelegationTokenResponse`. -Other response parsers may not work well with Hadoop responses. -==== diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/rule-based-authorization-plugin.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/rule-based-authorization-plugin.adoc index 2d4c528c20e..36023ff2984 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/rule-based-authorization-plugin.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/rule-based-authorization-plugin.adoc @@ -43,7 +43,7 @@ The users that RBAP sees come from whatever authentication plugin has been confi RBAP is compatible with all of the authentication plugins that Solr ships with out of the box. It is also compatible with any custom authentication plugins users might write, provided that the plugin sets a user principal on the HttpServletRequest it receives. -The user value seen by RBAP in each case depends on the authentication plugin being used: the Kerberos principal if the xref:kerberos-authentication-plugin.adoc[] is being used, the "sub" JWT claim if the xref:jwt-authentication-plugin.adoc[] is being used, etc. +The user value seen by RBAP in each case depends on the authentication plugin being used: the "sub" JWT claim if the xref:jwt-authentication-plugin.adoc[] is being used, etc. === Roles diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/securing-solr.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/securing-solr.adoc index 9a4fdea3898..ca1b98307fd 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/securing-solr.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/securing-solr.adoc @@ -54,10 +54,8 @@ The authentication plugins that ship with Solr are: [width=100%,cols="1,1",frame=none,grid=none,stripes=none] |=== | xref:basic-authentication-plugin.adoc[] -| xref:kerberos-authentication-plugin.adoc[] | xref:jwt-authentication-plugin.adoc[] | xref:cert-authentication-plugin.adoc[] -| xref:hadoop-authentication-plugin.adoc[] | |=== // end::list-of-authentication-plugins[] From b5e6cff620fdcdc021bedcf66d362195a7ff5988 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 08:04:38 -0400 Subject: [PATCH 05/36] Missed this core file --- .../pages/hadoop-authentication-plugin.adoc | 223 ------------------ 1 file changed, 223 deletions(-) delete mode 100644 solr/solr-ref-guide/modules/deployment-guide/pages/hadoop-authentication-plugin.adoc diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/hadoop-authentication-plugin.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/hadoop-authentication-plugin.adoc deleted file mode 100644 index 24929cdcde1..00000000000 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/hadoop-authentication-plugin.adoc +++ /dev/null @@ -1,223 +0,0 @@ -= Hadoop Authentication Plugin -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -The Hadoop authentication plugin enables Solr to use the https://hadoop.apache.org/docs/stable/hadoop-auth/index.html[Hadoop authentication library] for securing Solr nodes. - -This authentication plugin is a thin wrapper that delegates all functionality to the Hadoop authentication library. -All configuration parameters for the library are passed through the plugin. - -This plugin can be particularly useful in leveraging an extended set of features or newly available features in the Hadoop authentication library. - -Please note that the version of Hadoop library used by Solr is upgraded periodically. -While Solr will ensure the stability and backwards compatibility of the structure of the plugin configuration (viz., the parameter names of this plugin), the values of these parameters may change based on the version of the Hadoop library. -Please review the Hadoop documentation for v{dep-version-hadoop} used by this version of Solr. - -For some authentication schemes (e.g., Kerberos), Solr provides a native implementation of authentication plugin. -If you require a more stable setup, in terms of configuration, ability to perform rolling upgrades, backward compatibility, etc., you should consider using one of these plugins. -Please review the section xref:authentication-and-authorization-plugins.adoc[] for an overview of authentication plugin options in Solr. - -There are two plugin classes: - -* `HadoopAuthPlugin`: This can be used with SolrCloud, user-managed, and single-node installations as well as SolrCloud with xref:authentication-and-authorization-plugins.adoc#securing-inter-node-requests[PKI authentication] for internode communication. -* `ConfigurableInternodeAuthHadoopPlugin`: This is an extension of `HadoopAuthPlugin` that allows you to configure the authentication scheme for internode communication. - -[TIP] -==== -For most installations, the `HadoopAuthPlugin` should suffice. -==== - -== Plugin Configuration - -`class`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -The plugin classname. -It should be either `solr.HadoopAuthPlugin` or `solr.ConfigurableInternodeAuthHadoopPlugin`. - -`type`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -The type of authentication scheme to be configured. -See the Hadoop https://hadoop.apache.org/docs/stable/hadoop-auth/Configuration.html[configuration options]. - -`sysPropPrefix`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -The prefix to use to define a Java system property for configuring the authentication mechanism. -+ -The name of the Java system property is defined by appending the configuration parameter name to this prefix value. -For example, if the prefix is `solr` then the Java system property `solr.kerberos.principal` defines the value of configuration parameter `kerberos.principal`. - -`authConfigs`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -Configuration parameters required by the authentication scheme defined by the type property. -For more details, see the Hadoop https://hadoop.apache.org/docs/stable/hadoop-auth/Configuration.html[configuration options]. - -`defaultConfigs`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: none -|=== -+ -Default values for the configuration parameters specified by the `authConfigs` property. -The default values are specified as a collection of key-value pairs (i.e., `"property-name": "default_value"`). - -`enableDelegationToken`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: none -|=== -+ -If `true`, delegation tokens functionality will be enabled. -See the section <> for an example. - -`initKerberosZk`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: none -|=== -+ -If `true`, Kerberos will be initialized before connecting to ZooKeeper (if applicable). - -`proxyUserConfigs`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: none -|=== -+ -Configures proxy users for the underlying Hadoop authentication mechanism. -This configuration is expressed as a collection of key-value pairs (i.e., `"property-name": "default_value"`). - -`clientBuilderFactory`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: none -|=== -+ -The `HttpClientBuilderFactory` implementation used for the Solr internal communication. -Only applicable for `ConfigurableInternodeAuthHadoopPlugin`. - -== Example Configurations - -=== Kerberos Authentication using Hadoop Authentication Plugin - -This example lets you configure Solr to use Kerberos Authentication, similar to how you would use the xref:kerberos-authentication-plugin.adoc[]. - -After consulting the Hadoop authentication library's documentation, you can supply per-host configuration parameters using the `solr.*` prefix. - -As an example, the Hadoop authentication library expects a parameter `kerberos.principal`, which can be supplied as a system property named `solr.kerberos.principal` when starting a Solr node. -Refer to the section xref:kerberos-authentication-plugin.adoc[] for other typical configuration parameters. - -The example below uses `ConfigurableInternodeAuthHadoopPlugin`, and hence you must provide the `clientBuilderFactory` implementation. -As a result, all internode communication will use the Kerberos mechanism, instead of PKI authentication. - -This configuration assumes that your servers are using the `solr` principal, and will be allowed to impersonate any other user with requests coming from any other host. -For additional security, consider setting the host list to match your cluster nodes. -The Hadoop https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/Superusers.html[proxy users documentation] contains more detail about available configuration options. - -[source,json] ----- -{ - "authentication": { - "class": "solr.ConfigurableInternodeAuthHadoopPlugin", - "sysPropPrefix": "solr.", - "type": "kerberos", - "clientBuilderFactory": "org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder", - "initKerberosZk": "true", - "enableDelegationToken": "true", - "authConfigs": [ - "kerberos.principal", - "kerberos.keytab", - "kerberos.name.rules" - ], - "defaultConfigs": { - }, - "proxyUserConfigs": { - "proxyuser.solr.hosts": "*", - "proxyuser.solr.groups": "*" - } - } -} ----- - -[WARNING] -For the `ConfigurableInternodeAuthHadoopPlugin`, user credential proxying relies on delegation token support. -Without it, forwarded requests will authenticate as Solr server credentials instead of real-user credentials, and likely allowing authenticated-but-unauthorized users to query and index documents into your collections. - -=== Simple Authentication with Delegation Tokens - -Similar to the previous example, this is an example of setting up a Solr cluster that uses delegation tokens. - -Refer to the parameters in the Hadoop https://hadoop.apache.org/docs/stable/hadoop-auth/Configuration.html[authentication library's documentation] or refer to the section xref:kerberos-authentication-plugin.adoc[] for further details. - -Please note that this example does not use Kerberos and the requests made to Solr must contain valid delegation tokens. - -[source,json] ----- -{ - "authentication": { - "class": "solr.HadoopAuthPlugin", - "sysPropPrefix": "solr.", - "type": "simple", - "enableDelegationToken":"true", - "authConfigs": [ - "delegation-token.token-kind", - "delegation-token.update-interval.sec", - "delegation-token.max-lifetime.sec", - "delegation-token.renewal-interval.sec", - "delegation-token.removal-scan-interval.sec", - "cookie.domain", - "signer.secret.provider", - "zk-dt-secret-manager.enable", - "zk-dt-secret-manager.znodeWorkingPath", - "signer.secret.provider.zookeeper.path" - ], - "defaultConfigs": { - "delegation-token.token-kind": "solr-dt", - "signer.secret.provider": "zookeeper", - "zk-dt-secret-manager.enable": "true", - "token.validity": "36000", - "zk-dt-secret-manager.znodeWorkingPath": "solr/security/zkdtsm", - "signer.secret.provider.zookeeper.path": "/token", - "cookie.domain": "127.0.0.1" - } - } -} ----- From 72f44570749dff6dfe69eda8b6000772f24b9cda Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 08:26:27 -0400 Subject: [PATCH 06/36] Light edits to get ref guide build to pass Remove links to old pages that no longer exist, but leave the major changes references alone. --- .../modules/upgrade-notes/pages/major-changes-in-solr-8.adoc | 2 +- .../modules/upgrade-notes/pages/major-changes-in-solr-9.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-8.adoc b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-8.adoc index 88c0a2dbac8..389f44533e0 100644 --- a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-8.adoc +++ b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-8.adoc @@ -278,7 +278,7 @@ When upgrading to Solr 7.7.x, users should be aware of the following major chang * The Admin UI now presents a login screen for any users with authentication enabled on their cluster. Clusters with xref:deployment-guide:basic-authentication-plugin.adoc[Basic Authentication] will prompt users to enter a username and password. -On clusters configured to use xref:deployment-guide:kerberos-authentication-plugin.adoc[Kerberos Authentication], authentication is handled transparently by the browser as before, but if authentication fails, users will be directed to configure their browser to provide an appropriate Kerberos ticket. +On clusters configured to use Kerberos Authentication, authentication is handled transparently by the browser as before, but if authentication fails, users will be directed to configure their browser to provide an appropriate Kerberos ticket. + The login screen's purpose is cosmetic only - Admin UI-triggered Solr requests were subject to authentication prior to 7.7 and still are today. The login screen changes only the user experience of providing this authentication. diff --git a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc index 399ceba5926..cf91beee4cb 100644 --- a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc +++ b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc @@ -319,7 +319,7 @@ Administrators that need Solr exposed more broadly can change the `SOLR_JETTY_HO If you rely upon the previous behavior, then you can change the `clientPortAddress` in `solr/server/solr/zoo.cfg` * Jetty low level request-logging in NCSA format is now enabled by default, with a retention of 3 days worth of logs. This may require some more disk space for logs than was the case in version 8.x. See xref:deployment-guide:configuring-logging.adoc[Configuring Logging] for how to change this. -* Hadoop authentication support has been moved to the new `hadoop-auth` module. Users need to add the module `hadoop-auth` to classpath. The plugins has also changed package name to `org.apache.solr.security.hadoop`, but can still be loaded as shortform `class="solr.HadoopAuthPlugin"`, `class="solr.ConfigurableInternodeAuthHadoopPlugin"` or `class="solr.KerberosPlugin"` - see the section xref:deployment-guide:hadoop-authentication-plugin.adoc[]. +* Hadoop authentication support has been moved to the new `hadoop-auth` module. Users need to add the module `hadoop-auth` to classpath. The plugins has also changed package name to `org.apache.solr.security.hadoop`, but can still be loaded as shortform `class="solr.HadoopAuthPlugin"`, `class="solr.ConfigurableInternodeAuthHadoopPlugin"` or `class="solr.KerberosPlugin"`. * xref:deployment-guide:jwt-authentication-plugin.adoc[JWTAuthPlugin] has been moved to a module. Users need to add the module `jwt-auth` to classpath. The plugin has also changed package name to `org.apache.solr.security.jwt`, but can still be loaded as shortform `class="solr.JWTAuthPlugin"`. * Dependency updates - A lot of dependency updates removes several security issues from dependencies, and thus make Solr more secure. From a86505e66557da3dce67432eaa18bf22ddcd7503 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 08:26:41 -0400 Subject: [PATCH 07/36] Remove hadoop version --- solr/solr-ref-guide/antora.template.yml | 1 - solr/solr-ref-guide/antora.yml | 3 +-- solr/solr-ref-guide/build.gradle | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/solr/solr-ref-guide/antora.template.yml b/solr/solr-ref-guide/antora.template.yml index 30246b6aaf1..84a2112dd96 100644 --- a/solr/solr-ref-guide/antora.template.yml +++ b/solr/solr-ref-guide/antora.template.yml @@ -48,7 +48,6 @@ asciidoc: dep-version-commons-codec: '${dep_version_commons_codec}' dep-version-dropwizard: '${dep_version_dropwizard}' - dep-version-hadoop: '${dep_version_hadoop}' dep-version-log4j: '${dep_version_log4j}' dep-version-opennlp: '${dep_version_opennlp}' dep-version-tika: '${dep_version_tika}' diff --git a/solr/solr-ref-guide/antora.yml b/solr/solr-ref-guide/antora.yml index 4b0f208bb99..2882d5f4655 100644 --- a/solr/solr-ref-guide/antora.yml +++ b/solr/solr-ref-guide/antora.yml @@ -47,10 +47,9 @@ asciidoc: dep-version-commons-codec: '1.15' dep-version-dropwizard: '4.2.12' - dep-version-hadoop: '3.3.4' dep-version-log4j: '2.19.0' dep-version-opennlp: '1.9.4' dep-version-tika: '1.28.4' dep-version-zookeeper: '3.8.0' dep-version-lucene: '9.4.2' - dep-version-opentelemetry: '1.21.0' \ No newline at end of file + dep-version-opentelemetry: '1.21.0' diff --git a/solr/solr-ref-guide/build.gradle b/solr/solr-ref-guide/build.gradle index 1e455f29849..a5259de31b3 100644 --- a/solr/solr-ref-guide/build.gradle +++ b/solr/solr-ref-guide/build.gradle @@ -122,7 +122,6 @@ task buildLocalAntoraYaml { props.putAll([ ["dep_version_commons_codec", "commons-codec", "commons-codec"], ["dep_version_dropwizard", "io.dropwizard.metrics", "metrics-core"], - ["dep_version_hadoop", "org.apache.hadoop", "hadoop-auth"], ["dep_version_log4j", "org.apache.logging.log4j", "log4j-core"], ["dep_version_opennlp", "org.apache.opennlp", "opennlp-tools"], ["dep_version_tika", "org.apache.tika", "tika-core"], From b46987f1cb195479f7f137e65383649b6a07d72a Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 08:29:52 -0400 Subject: [PATCH 08/36] Precommit told me to regenerate versions.lock after removing hadoop-auth --- versions.lock | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/versions.lock b/versions.lock index 7418e07bfd9..963f89a8970 100644 --- a/versions.lock +++ b/versions.lock @@ -90,7 +90,7 @@ commons-cli:commons-cli:1.9.0 (2 constraints: a90fcab3) commons-codec:commons-codec:1.17.1 (11 constraints: 5a953ac4) commons-collections:commons-collections:3.2.2 (3 constraints: 77242dac) commons-digester:commons-digester:2.1 (1 constraints: 550fb664) -commons-io:commons-io:2.15.1 (10 constraints: ff7571ba) +commons-io:commons-io:2.15.1 (8 constraints: 6d5b395c) commons-validator:commons-validator:1.7 (1 constraints: a10a3dd2) de.l3s.boilerpipe:boilerpipe:1.1.0 (1 constraints: 590ce401) edu.ucar:cdm:4.5.5 (3 constraints: 9d1abd7d) @@ -174,7 +174,7 @@ jakarta.ws.rs:jakarta.ws.rs-api:3.1.0 (6 constraints: 7365f954) jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 (3 constraints: 882a5cbd) javax.measure:unit-api:1.0 (5 constraints: 8e3e2cc5) joda-time:joda-time:2.8.1 (3 constraints: d61aef93) -junit:junit:4.13.2 (7 constraints: 136d2cb8) +junit:junit:4.13.2 (6 constraints: 005f78ea) net.arnx:jsonic:1.2.7 (1 constraints: d00b47eb) net.java.dev.jna:jna:5.12.1 (1 constraints: 900c8e0e) net.sf.ehcache:ehcache-core:2.6.2 (1 constraints: 2706f94d) @@ -188,22 +188,16 @@ org.apache.calcite.avatica:avatica-core:1.25.0 (3 constraints: 0121ddcc) org.apache.calcite.avatica:avatica-metrics:1.25.0 (1 constraints: 9b104fc4) org.apache.commons:commons-collections4:4.4 (3 constraints: 2a172a57) org.apache.commons:commons-compress:1.26.1 (3 constraints: 011cf2d2) -org.apache.commons:commons-configuration2:2.11.0 (1 constraints: 3605323b) org.apache.commons:commons-csv:1.9.0 (1 constraints: 610cfc01) org.apache.commons:commons-exec:1.4.0 (2 constraints: 031132cf) -org.apache.commons:commons-lang3:3.15.0 (6 constraints: cc4e807b) +org.apache.commons:commons-lang3:3.15.0 (5 constraints: ed3c9523) org.apache.commons:commons-math3:3.6.1 (5 constraints: 57322799) -org.apache.commons:commons-text:1.12.0 (2 constraints: 651f97e5) +org.apache.commons:commons-text:1.11.0 (1 constraints: 8b0d393a) org.apache.curator:curator-client:5.7.1 (2 constraints: ee14fda3) -org.apache.curator:curator-framework:5.7.1 (2 constraints: 0b14da75) -org.apache.curator:curator-recipes:5.7.1 (1 constraints: 0f051a36) +org.apache.curator:curator-framework:5.7.1 (1 constraints: 0f051a36) org.apache.curator:curator-test:5.7.1 (1 constraints: 0f051a36) -org.apache.hadoop:hadoop-annotations:3.4.0 (1 constraints: 09050636) -org.apache.hadoop:hadoop-auth:3.4.0 (1 constraints: 09050636) org.apache.hadoop:hadoop-client-api:3.4.0 (3 constraints: 16281b5e) org.apache.hadoop:hadoop-client-runtime:3.4.0 (2 constraints: 6517d242) -org.apache.hadoop:hadoop-common:3.4.0 (1 constraints: 09050636) -org.apache.hadoop.thirdparty:hadoop-shaded-guava:1.2.0 (1 constraints: 0505f635) org.apache.httpcomponents:httpclient:4.5.14 (9 constraints: 62806342) org.apache.httpcomponents:httpcore:4.4.16 (8 constraints: 256d4617) org.apache.httpcomponents:httpmime:4.5.14 (3 constraints: eb1bfedc) @@ -223,13 +217,6 @@ org.apache.kafka:kafka-storage-api:3.7.1 (2 constraints: 0218d3d8) org.apache.kafka:kafka-streams:3.7.1 (1 constraints: 0d051036) org.apache.kafka:kafka-tools-api:3.7.1 (1 constraints: 020b16e8) org.apache.kafka:kafka_2.13:3.7.1 (1 constraints: 0d051036) -org.apache.kerby:kerb-core:2.0.3 (5 constraints: 743627e0) -org.apache.kerby:kerb-crypto:2.0.3 (2 constraints: dc177597) -org.apache.kerby:kerb-util:2.0.3 (3 constraints: 201d584d) -org.apache.kerby:kerby-asn1:2.0.3 (1 constraints: 000cf0f4) -org.apache.kerby:kerby-config:2.0.3 (4 constraints: 593132bc) -org.apache.kerby:kerby-pkix:2.0.3 (1 constraints: 740b03e5) -org.apache.kerby:kerby-util:2.0.3 (2 constraints: 6b1837b7) org.apache.logging.log4j:log4j-1.2-api:2.21.0 (1 constraints: 3705363b) org.apache.logging.log4j:log4j-api:2.21.0 (9 constraints: 976ff7be) org.apache.logging.log4j:log4j-core:2.21.0 (5 constraints: 5f510091) @@ -384,7 +371,7 @@ org.scala-lang.modules:scala-java8-compat_2.13:1.0.2 (1 constraints: fa0af8e7) org.semver4j:semver4j:5.3.0 (1 constraints: 0a050d36) org.slf4j:jcl-over-slf4j:2.0.13 (3 constraints: fa17e8b5) org.slf4j:jul-to-slf4j:2.0.13 (3 constraints: 54285f5f) -org.slf4j:slf4j-api:2.0.13 (71 constraints: a1bfff9b) +org.slf4j:slf4j-api:2.0.13 (69 constraints: 71a6de0e) org.tallison:isoparser:1.9.41.7 (1 constraints: fb0c5528) org.tallison:jmatio:1.5 (1 constraints: ff0b57e9) org.tallison:metadata-extractor:2.17.1.0 (1 constraints: f00c3b28) @@ -457,13 +444,7 @@ net.minidev:json-smart:2.4.10 (1 constraints: 400e9a7c) no.nav.security:mock-oauth2-server:0.5.10 (1 constraints: 3805333b) org.apache.hadoop:hadoop-client-minicluster:3.4.0 (1 constraints: 09050636) org.apache.hadoop:hadoop-hdfs:3.4.0 (1 constraints: 09050636) -org.apache.hadoop:hadoop-minikdc:3.4.0 (1 constraints: 09050636) -org.apache.kerby:kerb-admin:2.0.3 (1 constraints: 870d902f) -org.apache.kerby:kerb-client:2.0.3 (1 constraints: 870d902f) -org.apache.kerby:kerb-common:2.0.3 (3 constraints: df2506b3) -org.apache.kerby:kerb-identity:2.0.3 (1 constraints: 620cbd02) -org.apache.kerby:kerb-server:2.0.3 (1 constraints: d40b6cf2) -org.apache.kerby:kerb-simplekdc:2.0.3 (1 constraints: df0d853e) +org.apache.hadoop.thirdparty:hadoop-shaded-guava:1.2.0 (1 constraints: 0505f635) org.apache.tomcat.embed:tomcat-embed-el:9.0.76 (1 constraints: d41558cf) org.bouncycastle:bcpkix-jdk18on:1.78.1 (1 constraints: 43055a3b) org.bouncycastle:bcprov-jdk18on:1.78.1 (2 constraints: 851b50bd) From b7e33ca19fb83f0d6e0682bc26377b56ec8932b1 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 08:30:55 -0400 Subject: [PATCH 09/36] Post 'checkUnusedConstraints' step --- versions.props | 2 -- 1 file changed, 2 deletions(-) diff --git a/versions.props b/versions.props index 0433da0fc4f..285011b3a16 100644 --- a/versions.props +++ b/versions.props @@ -35,7 +35,6 @@ org.apache.calcite.avatica:avatica-core=1.25.0 org.apache.calcite:*=1.37.0 org.apache.commons:commons-collections4=4.4 org.apache.commons:commons-compress=1.26.1 -org.apache.commons:commons-configuration2=2.11.0 org.apache.commons:commons-exec=1.4.0 org.apache.commons:commons-lang3=3.15.0 org.apache.commons:commons-math3=3.6.1 @@ -46,7 +45,6 @@ org.apache.httpcomponents:httpclient=4.5.14 org.apache.httpcomponents:httpcore=4.4.16 org.apache.httpcomponents:httpmime=4.5.14 org.apache.kafka:*=3.7.1 -org.apache.kerby:*=1.0.1 org.apache.logging.log4j:*=2.21.0 org.apache.lucene:*=9.11.1 org.apache.tika:*=1.28.5 From e6ca7595861a5f95671f99c685cee3a999889a70 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 08:35:33 -0400 Subject: [PATCH 10/36] Post updateLicenses step --- solr/licenses/commons-configuration2-2.11.0.jar.sha1 | 1 - solr/licenses/commons-text-1.11.0.jar.sha1 | 1 + solr/licenses/commons-text-1.12.0.jar.sha1 | 1 - solr/licenses/curator-recipes-5.7.1.jar.sha1 | 1 - solr/licenses/hadoop-annotations-3.4.0.jar.sha1 | 1 - solr/licenses/hadoop-auth-3.4.0.jar.sha1 | 1 - solr/licenses/hadoop-common-3.4.0.jar.sha1 | 1 - solr/licenses/hadoop-minikdc-3.4.0.jar.sha1 | 1 - solr/licenses/kerb-admin-2.0.3.jar.sha1 | 1 - solr/licenses/kerb-client-2.0.3.jar.sha1 | 1 - solr/licenses/kerb-common-2.0.3.jar.sha1 | 1 - solr/licenses/kerb-core-2.0.3.jar.sha1 | 1 - solr/licenses/kerb-crypto-2.0.3.jar.sha1 | 1 - solr/licenses/kerb-identity-2.0.3.jar.sha1 | 1 - solr/licenses/kerb-server-2.0.3.jar.sha1 | 1 - solr/licenses/kerb-simplekdc-2.0.3.jar.sha1 | 1 - solr/licenses/kerb-util-2.0.3.jar.sha1 | 1 - solr/licenses/kerby-asn1-2.0.3.jar.sha1 | 1 - solr/licenses/kerby-config-2.0.3.jar.sha1 | 1 - solr/licenses/kerby-pkix-2.0.3.jar.sha1 | 1 - solr/licenses/kerby-util-2.0.3.jar.sha1 | 1 - 21 files changed, 1 insertion(+), 20 deletions(-) delete mode 100644 solr/licenses/commons-configuration2-2.11.0.jar.sha1 create mode 100644 solr/licenses/commons-text-1.11.0.jar.sha1 delete mode 100644 solr/licenses/commons-text-1.12.0.jar.sha1 delete mode 100644 solr/licenses/curator-recipes-5.7.1.jar.sha1 delete mode 100644 solr/licenses/hadoop-annotations-3.4.0.jar.sha1 delete mode 100644 solr/licenses/hadoop-auth-3.4.0.jar.sha1 delete mode 100644 solr/licenses/hadoop-common-3.4.0.jar.sha1 delete mode 100644 solr/licenses/hadoop-minikdc-3.4.0.jar.sha1 delete mode 100644 solr/licenses/kerb-admin-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerb-client-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerb-common-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerb-core-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerb-crypto-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerb-identity-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerb-server-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerb-simplekdc-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerb-util-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerby-asn1-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerby-config-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerby-pkix-2.0.3.jar.sha1 delete mode 100644 solr/licenses/kerby-util-2.0.3.jar.sha1 diff --git a/solr/licenses/commons-configuration2-2.11.0.jar.sha1 b/solr/licenses/commons-configuration2-2.11.0.jar.sha1 deleted file mode 100644 index fae01fd879c..00000000000 --- a/solr/licenses/commons-configuration2-2.11.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -af5a2c6abe587074c0be1107fcb27fa2fad91304 diff --git a/solr/licenses/commons-text-1.11.0.jar.sha1 b/solr/licenses/commons-text-1.11.0.jar.sha1 new file mode 100644 index 00000000000..c7b597f6550 --- /dev/null +++ b/solr/licenses/commons-text-1.11.0.jar.sha1 @@ -0,0 +1 @@ +2bb044b7717ec2eccaf9ea7769c1509054b50e9a diff --git a/solr/licenses/commons-text-1.12.0.jar.sha1 b/solr/licenses/commons-text-1.12.0.jar.sha1 deleted file mode 100644 index bb6a5b706b5..00000000000 --- a/solr/licenses/commons-text-1.12.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -66aa90dc099701c4d3b14bd256c328f592ccf0d6 diff --git a/solr/licenses/curator-recipes-5.7.1.jar.sha1 b/solr/licenses/curator-recipes-5.7.1.jar.sha1 deleted file mode 100644 index fc1cd77aa2c..00000000000 --- a/solr/licenses/curator-recipes-5.7.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -39f8871614f0ed157f87f412bed8fd7b32c457ac diff --git a/solr/licenses/hadoop-annotations-3.4.0.jar.sha1 b/solr/licenses/hadoop-annotations-3.4.0.jar.sha1 deleted file mode 100644 index 44880116ccb..00000000000 --- a/solr/licenses/hadoop-annotations-3.4.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -612302e6e385d7e6a62bc0129dbc58689f8c7b2b diff --git a/solr/licenses/hadoop-auth-3.4.0.jar.sha1 b/solr/licenses/hadoop-auth-3.4.0.jar.sha1 deleted file mode 100644 index 0933800fb77..00000000000 --- a/solr/licenses/hadoop-auth-3.4.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -6f5ab3a46b3d2734c0ae4d6338f0be3529efe083 diff --git a/solr/licenses/hadoop-common-3.4.0.jar.sha1 b/solr/licenses/hadoop-common-3.4.0.jar.sha1 deleted file mode 100644 index 00248c5160a..00000000000 --- a/solr/licenses/hadoop-common-3.4.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -2b4b1694b695b31cdd8e345b6b59fd74d43a26bc diff --git a/solr/licenses/hadoop-minikdc-3.4.0.jar.sha1 b/solr/licenses/hadoop-minikdc-3.4.0.jar.sha1 deleted file mode 100644 index 3bb86c66079..00000000000 --- a/solr/licenses/hadoop-minikdc-3.4.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -ec7c619e1deff5a9f2da0293fc9f5fcae66d159e diff --git a/solr/licenses/kerb-admin-2.0.3.jar.sha1 b/solr/licenses/kerb-admin-2.0.3.jar.sha1 deleted file mode 100644 index b92eec897b9..00000000000 --- a/solr/licenses/kerb-admin-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -e239e34968f59b4c7f75cffff08c6a140b3afa44 diff --git a/solr/licenses/kerb-client-2.0.3.jar.sha1 b/solr/licenses/kerb-client-2.0.3.jar.sha1 deleted file mode 100644 index 1dcf56f6480..00000000000 --- a/solr/licenses/kerb-client-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -ae6bb140ed545771efc13973f5ad665766a2e1d4 diff --git a/solr/licenses/kerb-common-2.0.3.jar.sha1 b/solr/licenses/kerb-common-2.0.3.jar.sha1 deleted file mode 100644 index d15be096033..00000000000 --- a/solr/licenses/kerb-common-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -32fde271604661ef07ec61b6654d381dfeaff5b1 diff --git a/solr/licenses/kerb-core-2.0.3.jar.sha1 b/solr/licenses/kerb-core-2.0.3.jar.sha1 deleted file mode 100644 index 827df82f24c..00000000000 --- a/solr/licenses/kerb-core-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -2ed4ee03585bb1749f3d5bf4951208cb36839e82 diff --git a/solr/licenses/kerb-crypto-2.0.3.jar.sha1 b/solr/licenses/kerb-crypto-2.0.3.jar.sha1 deleted file mode 100644 index 7d143e946e5..00000000000 --- a/solr/licenses/kerb-crypto-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -a19d9c3fbcf52abd2f804f2d88f8bbf4195883a8 diff --git a/solr/licenses/kerb-identity-2.0.3.jar.sha1 b/solr/licenses/kerb-identity-2.0.3.jar.sha1 deleted file mode 100644 index 07ef6116423..00000000000 --- a/solr/licenses/kerb-identity-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -0704d04804ff500f160b99ecf83258187e31d5ef diff --git a/solr/licenses/kerb-server-2.0.3.jar.sha1 b/solr/licenses/kerb-server-2.0.3.jar.sha1 deleted file mode 100644 index 9dee689f1e5..00000000000 --- a/solr/licenses/kerb-server-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -7e2ea712dd36f8039a437d61379a60a388e1b2d2 diff --git a/solr/licenses/kerb-simplekdc-2.0.3.jar.sha1 b/solr/licenses/kerb-simplekdc-2.0.3.jar.sha1 deleted file mode 100644 index a7a9cd9888f..00000000000 --- a/solr/licenses/kerb-simplekdc-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -d267abb85f5aa3223e66b978c5b5a148d1fa5304 diff --git a/solr/licenses/kerb-util-2.0.3.jar.sha1 b/solr/licenses/kerb-util-2.0.3.jar.sha1 deleted file mode 100644 index c69614b23ab..00000000000 --- a/solr/licenses/kerb-util-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -dda5fbcbd1e8d5de40edcf6161faf94b915152ce diff --git a/solr/licenses/kerby-asn1-2.0.3.jar.sha1 b/solr/licenses/kerby-asn1-2.0.3.jar.sha1 deleted file mode 100644 index c2f07295a8e..00000000000 --- a/solr/licenses/kerby-asn1-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -71e4005a005c8c4476b959befdc1ad668fbbe758 diff --git a/solr/licenses/kerby-config-2.0.3.jar.sha1 b/solr/licenses/kerby-config-2.0.3.jar.sha1 deleted file mode 100644 index 71e9be416bd..00000000000 --- a/solr/licenses/kerby-config-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -322b25b1fb7f57f6987c54c5ef32887036108d61 diff --git a/solr/licenses/kerby-pkix-2.0.3.jar.sha1 b/solr/licenses/kerby-pkix-2.0.3.jar.sha1 deleted file mode 100644 index 5fc668a5341..00000000000 --- a/solr/licenses/kerby-pkix-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -8301fe828f3b931617df990f77da636eacd9212d diff --git a/solr/licenses/kerby-util-2.0.3.jar.sha1 b/solr/licenses/kerby-util-2.0.3.jar.sha1 deleted file mode 100644 index 6d3ff35323d..00000000000 --- a/solr/licenses/kerby-util-2.0.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -f1e80545460c37fca6b2c18f02fa32f6040928f0 From 4bf733bf505ecba0c1781bc22ac692487ffe9bda Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 2 Nov 2024 14:13:00 -0400 Subject: [PATCH 11/36] Remove no longer required libraries. --- .../commons-configuration2-LICENSE-ASL.txt | 403 ------------------ .../commons-configuration2-NOTICE.txt | 5 - .../hadoop-annotations-LICENSE-ASL.txt | 244 ----------- solr/licenses/hadoop-annotations-NOTICE.txt | 2 - solr/licenses/hadoop-auth-LICENSE-ASL.txt | 244 ----------- solr/licenses/hadoop-auth-NOTICE.txt | 2 - solr/licenses/hadoop-common-LICENSE-ASL.txt | 244 ----------- solr/licenses/hadoop-common-NOTICE.txt | 2 - solr/licenses/kerb-admin-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-admin-NOTICE.txt | 5 - solr/licenses/kerb-client-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-client-NOTICE.txt | 5 - solr/licenses/kerb-common-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-common-NOTICE.txt | 5 - solr/licenses/kerb-core-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-core-NOTICE.txt | 5 - solr/licenses/kerb-crypto-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-crypto-NOTICE.txt | 5 - solr/licenses/kerb-identity-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-identity-NOTICE.txt | 5 - solr/licenses/kerb-server-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-server-NOTICE.txt | 5 - solr/licenses/kerb-simplekdc-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-simplekdc-NOTICE.txt | 5 - solr/licenses/kerb-util-LICENSE-ASL.txt | 201 --------- solr/licenses/kerb-util-NOTICE.txt | 5 - solr/licenses/kerby-asn1-LICENSE-ASL.txt | 201 --------- solr/licenses/kerby-asn1-NOTICE.txt | 5 - solr/licenses/kerby-config-LICENSE-ASL.txt | 201 --------- solr/licenses/kerby-config-NOTICE.txt | 5 - solr/licenses/kerby-pkix-LICENSE-ASL.txt | 201 --------- solr/licenses/kerby-pkix-NOTICE.txt | 5 - solr/licenses/kerby-util-LICENSE-ASL.txt | 201 --------- solr/licenses/kerby-util-NOTICE.txt | 5 - 34 files changed, 3824 deletions(-) delete mode 100644 solr/licenses/commons-configuration2-LICENSE-ASL.txt delete mode 100644 solr/licenses/commons-configuration2-NOTICE.txt delete mode 100644 solr/licenses/hadoop-annotations-LICENSE-ASL.txt delete mode 100644 solr/licenses/hadoop-annotations-NOTICE.txt delete mode 100644 solr/licenses/hadoop-auth-LICENSE-ASL.txt delete mode 100644 solr/licenses/hadoop-auth-NOTICE.txt delete mode 100644 solr/licenses/hadoop-common-LICENSE-ASL.txt delete mode 100644 solr/licenses/hadoop-common-NOTICE.txt delete mode 100644 solr/licenses/kerb-admin-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-admin-NOTICE.txt delete mode 100644 solr/licenses/kerb-client-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-client-NOTICE.txt delete mode 100644 solr/licenses/kerb-common-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-common-NOTICE.txt delete mode 100644 solr/licenses/kerb-core-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-core-NOTICE.txt delete mode 100644 solr/licenses/kerb-crypto-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-crypto-NOTICE.txt delete mode 100644 solr/licenses/kerb-identity-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-identity-NOTICE.txt delete mode 100644 solr/licenses/kerb-server-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-server-NOTICE.txt delete mode 100644 solr/licenses/kerb-simplekdc-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-simplekdc-NOTICE.txt delete mode 100644 solr/licenses/kerb-util-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerb-util-NOTICE.txt delete mode 100644 solr/licenses/kerby-asn1-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerby-asn1-NOTICE.txt delete mode 100644 solr/licenses/kerby-config-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerby-config-NOTICE.txt delete mode 100644 solr/licenses/kerby-pkix-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerby-pkix-NOTICE.txt delete mode 100644 solr/licenses/kerby-util-LICENSE-ASL.txt delete mode 100644 solr/licenses/kerby-util-NOTICE.txt diff --git a/solr/licenses/commons-configuration2-LICENSE-ASL.txt b/solr/licenses/commons-configuration2-LICENSE-ASL.txt deleted file mode 100644 index dd726f2eaf1..00000000000 --- a/solr/licenses/commons-configuration2-LICENSE-ASL.txt +++ /dev/null @@ -1,403 +0,0 @@ - - - Apache License - - Version 2.0, January 2004 - - http://www.apache.org/licenses/ - - - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - - - 1. Definitions. - - - - "License" shall mean the terms and conditions for use, reproduction, - - and distribution as defined by Sections 1 through 9 of this document. - - - - "Licensor" shall mean the copyright owner or entity authorized by - - the copyright owner that is granting the License. - - - - "Legal Entity" shall mean the union of the acting entity and all - - other entities that control, are controlled by, or are under common - - control with that entity. For the purposes of this definition, - - "control" means (i) the power, direct or indirect, to cause the - - direction or management of such entity, whether by contract or - - otherwise, or (ii) ownership of fifty percent (50%) or more of the - - outstanding shares, or (iii) beneficial ownership of such entity. - - - - "You" (or "Your") shall mean an individual or Legal Entity - - exercising permissions granted by this License. - - - - "Source" form shall mean the preferred form for making modifications, - - including but not limited to software source code, documentation - - source, and configuration files. - - - - "Object" form shall mean any form resulting from mechanical - - transformation or translation of a Source form, including but - - not limited to compiled object code, generated documentation, - - and conversions to other media types. - - - - "Work" shall mean the work of authorship, whether in Source or - - Object form, made available under the License, as indicated by a - - copyright notice that is included in or attached to the work - - (an example is provided in the Appendix below). - - - - "Derivative Works" shall mean any work, whether in Source or Object - - form, that is based on (or derived from) the Work and for which the - - editorial revisions, annotations, elaborations, or other modifications - - represent, as a whole, an original work of authorship. For the purposes - - of this License, Derivative Works shall not include works that remain - - separable from, or merely link (or bind by name) to the interfaces of, - - the Work and Derivative Works thereof. - - - - "Contribution" shall mean any work of authorship, including - - the original version of the Work and any modifications or additions - - to that Work or Derivative Works thereof, that is intentionally - - submitted to Licensor for inclusion in the Work by the copyright owner - - or by an individual or Legal Entity authorized to submit on behalf of - - the copyright owner. For the purposes of this definition, "submitted" - - means any form of electronic, verbal, or written communication sent - - to the Licensor or its representatives, including but not limited to - - communication on electronic mailing lists, source code control systems, - - and issue tracking systems that are managed by, or on behalf of, the - - Licensor for the purpose of discussing and improving the Work, but - - excluding communication that is conspicuously marked or otherwise - - designated in writing by the copyright owner as "Not a Contribution." - - - - "Contributor" shall mean Licensor and any individual or Legal Entity - - on behalf of whom a Contribution has been received by Licensor and - - subsequently incorporated within the Work. - - - - 2. Grant of Copyright License. Subject to the terms and conditions of - - this License, each Contributor hereby grants to You a perpetual, - - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - - copyright license to reproduce, prepare Derivative Works of, - - publicly display, publicly perform, sublicense, and distribute the - - Work and such Derivative Works in Source or Object form. - - - - 3. Grant of Patent License. Subject to the terms and conditions of - - this License, each Contributor hereby grants to You a perpetual, - - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - - (except as stated in this section) patent license to make, have made, - - use, offer to sell, sell, import, and otherwise transfer the Work, - - where such license applies only to those patent claims licensable - - by such Contributor that are necessarily infringed by their - - Contribution(s) alone or by combination of their Contribution(s) - - with the Work to which such Contribution(s) was submitted. If You - - institute patent litigation against any entity (including a - - cross-claim or counterclaim in a lawsuit) alleging that the Work - - or a Contribution incorporated within the Work constitutes direct - - or contributory patent infringement, then any patent licenses - - granted to You under this License for that Work shall terminate - - as of the date such litigation is filed. - - - - 4. Redistribution. You may reproduce and distribute copies of the - - Work or Derivative Works thereof in any medium, with or without - - modifications, and in Source or Object form, provided that You - - meet the following conditions: - - - - (a) You must give any other recipients of the Work or - - Derivative Works a copy of this License; and - - - - (b) You must cause any modified files to carry prominent notices - - stating that You changed the files; and - - - - (c) You must retain, in the Source form of any Derivative Works - - that You distribute, all copyright, patent, trademark, and - - attribution notices from the Source form of the Work, - - excluding those notices that do not pertain to any part of - - the Derivative Works; and - - - - (d) If the Work includes a "NOTICE" text file as part of its - - distribution, then any Derivative Works that You distribute must - - include a readable copy of the attribution notices contained - - within such NOTICE file, excluding those notices that do not - - pertain to any part of the Derivative Works, in at least one - - of the following places: within a NOTICE text file distributed - - as part of the Derivative Works; within the Source form or - - documentation, if provided along with the Derivative Works; or, - - within a display generated by the Derivative Works, if and - - wherever such third-party notices normally appear. The contents - - of the NOTICE file are for informational purposes only and - - do not modify the License. You may add Your own attribution - - notices within Derivative Works that You distribute, alongside - - or as an addendum to the NOTICE text from the Work, provided - - that such additional attribution notices cannot be construed - - as modifying the License. - - - - You may add Your own copyright statement to Your modifications and - - may provide additional or different license terms and conditions - - for use, reproduction, or distribution of Your modifications, or - - for any such Derivative Works as a whole, provided Your use, - - reproduction, and distribution of the Work otherwise complies with - - the conditions stated in this License. - - - - 5. Submission of Contributions. Unless You explicitly state otherwise, - - any Contribution intentionally submitted for inclusion in the Work - - by You to the Licensor shall be under the terms and conditions of - - this License, without any additional terms or conditions. - - Notwithstanding the above, nothing herein shall supersede or modify - - the terms of any separate license agreement you may have executed - - with Licensor regarding such Contributions. - - - - 6. Trademarks. This License does not grant permission to use the trade - - names, trademarks, service marks, or product names of the Licensor, - - except as required for reasonable and customary use in describing the - - origin of the Work and reproducing the content of the NOTICE file. - - - - 7. Disclaimer of Warranty. Unless required by applicable law or - - agreed to in writing, Licensor provides the Work (and each - - Contributor provides its Contributions) on an "AS IS" BASIS, - - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - - implied, including, without limitation, any warranties or conditions - - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - - PARTICULAR PURPOSE. You are solely responsible for determining the - - appropriateness of using or redistributing the Work and assume any - - risks associated with Your exercise of permissions under this License. - - - - 8. Limitation of Liability. In no event and under no legal theory, - - whether in tort (including negligence), contract, or otherwise, - - unless required by applicable law (such as deliberate and grossly - - negligent acts) or agreed to in writing, shall any Contributor be - - liable to You for damages, including any direct, indirect, special, - - incidental, or consequential damages of any character arising as a - - result of this License or out of the use or inability to use the - - Work (including but not limited to damages for loss of goodwill, - - work stoppage, computer failure or malfunction, or any and all - - other commercial damages or losses), even if such Contributor - - has been advised of the possibility of such damages. - - - - 9. Accepting Warranty or Additional Liability. While redistributing - - the Work or Derivative Works thereof, You may choose to offer, - - and charge a fee for, acceptance of support, warranty, indemnity, - - or other liability obligations and/or rights consistent with this - - License. However, in accepting such obligations, You may act only - - on Your own behalf and on Your sole responsibility, not on behalf - - of any other Contributor, and only if You agree to indemnify, - - defend, and hold each Contributor harmless for any liability - - incurred by, or claims asserted against, such Contributor by reason - - of your accepting any such warranty or additional liability. - - - - END OF TERMS AND CONDITIONS - - - - APPENDIX: How to apply the Apache License to your work. - - - - To apply the Apache License to your work, attach the following - - boilerplate notice, with the fields enclosed by brackets "[]" - - replaced with your own identifying information. (Don't include - - the brackets!) The text should be enclosed in the appropriate - - comment syntax for the file format. We also recommend that a - - file or class name and description of purpose be included on the - - same "printed page" as the copyright notice for easier - - identification within third-party archives. - - - - Copyright [yyyy] [name of copyright owner] - - - - Licensed under the Apache License, Version 2.0 (the "License"); - - you may not use this file except in compliance with the License. - - You may obtain a copy of the License at - - - - http://www.apache.org/licenses/LICENSE-2.0 - - - - Unless required by applicable law or agreed to in writing, software - - distributed under the License is distributed on an "AS IS" BASIS, - - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - - See the License for the specific language governing permissions and - - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/commons-configuration2-NOTICE.txt b/solr/licenses/commons-configuration2-NOTICE.txt deleted file mode 100644 index 51e4285634f..00000000000 --- a/solr/licenses/commons-configuration2-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Commons Configuration -Copyright 2001-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/hadoop-annotations-LICENSE-ASL.txt b/solr/licenses/hadoop-annotations-LICENSE-ASL.txt deleted file mode 100644 index 9a8e847ee84..00000000000 --- a/solr/licenses/hadoop-annotations-LICENSE-ASL.txt +++ /dev/null @@ -1,244 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -APACHE HADOOP SUBCOMPONENTS: - -The Apache Hadoop project contains subcomponents with separate copyright -notices and license terms. Your use of the source code for the these -subcomponents is subject to the terms and conditions of the following -licenses. - -For the org.apache.hadoop.util.bloom.* classes: - -/** - * - * Copyright (c) 2005, European Commission project OneLab under contract - * 034819 (http://www.one-lab.org) - * All rights reserved. - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the distribution. - * - Neither the name of the University Catholique de Louvain - UCL - * nor the names of its contributors may be used to endorse or - * promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ \ No newline at end of file diff --git a/solr/licenses/hadoop-annotations-NOTICE.txt b/solr/licenses/hadoop-annotations-NOTICE.txt deleted file mode 100644 index c56a5e4eac1..00000000000 --- a/solr/licenses/hadoop-annotations-NOTICE.txt +++ /dev/null @@ -1,2 +0,0 @@ -This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). \ No newline at end of file diff --git a/solr/licenses/hadoop-auth-LICENSE-ASL.txt b/solr/licenses/hadoop-auth-LICENSE-ASL.txt deleted file mode 100644 index 9a8e847ee84..00000000000 --- a/solr/licenses/hadoop-auth-LICENSE-ASL.txt +++ /dev/null @@ -1,244 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -APACHE HADOOP SUBCOMPONENTS: - -The Apache Hadoop project contains subcomponents with separate copyright -notices and license terms. Your use of the source code for the these -subcomponents is subject to the terms and conditions of the following -licenses. - -For the org.apache.hadoop.util.bloom.* classes: - -/** - * - * Copyright (c) 2005, European Commission project OneLab under contract - * 034819 (http://www.one-lab.org) - * All rights reserved. - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the distribution. - * - Neither the name of the University Catholique de Louvain - UCL - * nor the names of its contributors may be used to endorse or - * promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ \ No newline at end of file diff --git a/solr/licenses/hadoop-auth-NOTICE.txt b/solr/licenses/hadoop-auth-NOTICE.txt deleted file mode 100644 index c56a5e4eac1..00000000000 --- a/solr/licenses/hadoop-auth-NOTICE.txt +++ /dev/null @@ -1,2 +0,0 @@ -This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). \ No newline at end of file diff --git a/solr/licenses/hadoop-common-LICENSE-ASL.txt b/solr/licenses/hadoop-common-LICENSE-ASL.txt deleted file mode 100644 index 9a8e847ee84..00000000000 --- a/solr/licenses/hadoop-common-LICENSE-ASL.txt +++ /dev/null @@ -1,244 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -APACHE HADOOP SUBCOMPONENTS: - -The Apache Hadoop project contains subcomponents with separate copyright -notices and license terms. Your use of the source code for the these -subcomponents is subject to the terms and conditions of the following -licenses. - -For the org.apache.hadoop.util.bloom.* classes: - -/** - * - * Copyright (c) 2005, European Commission project OneLab under contract - * 034819 (http://www.one-lab.org) - * All rights reserved. - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the distribution. - * - Neither the name of the University Catholique de Louvain - UCL - * nor the names of its contributors may be used to endorse or - * promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ \ No newline at end of file diff --git a/solr/licenses/hadoop-common-NOTICE.txt b/solr/licenses/hadoop-common-NOTICE.txt deleted file mode 100644 index c56a5e4eac1..00000000000 --- a/solr/licenses/hadoop-common-NOTICE.txt +++ /dev/null @@ -1,2 +0,0 @@ -This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). \ No newline at end of file diff --git a/solr/licenses/kerb-admin-LICENSE-ASL.txt b/solr/licenses/kerb-admin-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-admin-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-admin-NOTICE.txt b/solr/licenses/kerb-admin-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-admin-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerb-client-LICENSE-ASL.txt b/solr/licenses/kerb-client-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-client-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-client-NOTICE.txt b/solr/licenses/kerb-client-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-client-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerb-common-LICENSE-ASL.txt b/solr/licenses/kerb-common-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-common-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-common-NOTICE.txt b/solr/licenses/kerb-common-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-common-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerb-core-LICENSE-ASL.txt b/solr/licenses/kerb-core-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-core-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-core-NOTICE.txt b/solr/licenses/kerb-core-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-core-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerb-crypto-LICENSE-ASL.txt b/solr/licenses/kerb-crypto-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-crypto-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-crypto-NOTICE.txt b/solr/licenses/kerb-crypto-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-crypto-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerb-identity-LICENSE-ASL.txt b/solr/licenses/kerb-identity-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-identity-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-identity-NOTICE.txt b/solr/licenses/kerb-identity-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-identity-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerb-server-LICENSE-ASL.txt b/solr/licenses/kerb-server-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-server-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-server-NOTICE.txt b/solr/licenses/kerb-server-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-server-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerb-simplekdc-LICENSE-ASL.txt b/solr/licenses/kerb-simplekdc-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-simplekdc-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-simplekdc-NOTICE.txt b/solr/licenses/kerb-simplekdc-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-simplekdc-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerb-util-LICENSE-ASL.txt b/solr/licenses/kerb-util-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerb-util-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerb-util-NOTICE.txt b/solr/licenses/kerb-util-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerb-util-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerby-asn1-LICENSE-ASL.txt b/solr/licenses/kerby-asn1-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerby-asn1-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerby-asn1-NOTICE.txt b/solr/licenses/kerby-asn1-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerby-asn1-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerby-config-LICENSE-ASL.txt b/solr/licenses/kerby-config-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerby-config-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerby-config-NOTICE.txt b/solr/licenses/kerby-config-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerby-config-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerby-pkix-LICENSE-ASL.txt b/solr/licenses/kerby-pkix-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerby-pkix-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerby-pkix-NOTICE.txt b/solr/licenses/kerby-pkix-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerby-pkix-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/solr/licenses/kerby-util-LICENSE-ASL.txt b/solr/licenses/kerby-util-LICENSE-ASL.txt deleted file mode 100644 index ad410e11302..00000000000 --- a/solr/licenses/kerby-util-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/solr/licenses/kerby-util-NOTICE.txt b/solr/licenses/kerby-util-NOTICE.txt deleted file mode 100644 index 373b85deba1..00000000000 --- a/solr/licenses/kerby-util-NOTICE.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache Kerby -Copyright 2015-2016 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). From 9569b958ab1f628ab62b86bd6c5b9874c664da1f Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Tue, 5 Nov 2024 17:20:20 -0500 Subject: [PATCH 12/36] Respond to feedback --- .../testing/randomization/policies/solr-tests.policy | 4 ---- solr/server/etc/security.policy | 10 ---------- 2 files changed, 14 deletions(-) diff --git a/gradle/testing/randomization/policies/solr-tests.policy b/gradle/testing/randomization/policies/solr-tests.policy index 61df0871a35..09f8691c95c 100644 --- a/gradle/testing/randomization/policies/solr-tests.policy +++ b/gradle/testing/randomization/policies/solr-tests.policy @@ -100,10 +100,6 @@ grant { permission java.lang.RuntimePermission "closeClassLoader"; // needed by HttpSolrClient permission java.lang.RuntimePermission "getFileSystemAttributes"; - // needed by hadoop auth (TODO: there is a cleaner way to handle this) - permission java.lang.RuntimePermission "loadLibrary.jaas"; - permission java.lang.RuntimePermission "loadLibrary.jaas_unix"; - permission java.lang.RuntimePermission "loadLibrary.jaas_nt"; // needed by hadoop common RawLocalFileSystem for java nio getOwner permission java.lang.RuntimePermission "accessUserInformation"; // needed by hadoop hdfs diff --git a/solr/server/etc/security.policy b/solr/server/etc/security.policy index c898ac8dbfe..047518233be 100644 --- a/solr/server/etc/security.policy +++ b/solr/server/etc/security.policy @@ -131,16 +131,6 @@ grant { permission javax.management.MBeanServerPermission "releaseMBeanServer"; permission javax.management.MBeanTrustPermission "register"; - // needed by hadoop auth - permission javax.security.auth.AuthPermission "getSubject"; - permission javax.security.auth.AuthPermission "modifyPrincipals"; - permission javax.security.auth.AuthPermission "doAs"; - permission javax.security.auth.AuthPermission "getLoginConfiguration"; - permission javax.security.auth.AuthPermission "setLoginConfiguration"; - permission javax.security.auth.AuthPermission "modifyPrivateCredentials"; - permission javax.security.auth.AuthPermission "modifyPublicCredentials"; - permission javax.security.auth.PrivateCredentialPermission "org.apache.hadoop.security.Credentials * \"*\"", "read"; - // needed by hadoop security permission java.security.SecurityPermission "putProviderProperty.SaslPlainServer"; permission java.security.SecurityPermission "insertProvider"; From fb3a0e0ec4a464af19599b67a618478aba34b42d Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Tue, 5 Nov 2024 17:22:13 -0500 Subject: [PATCH 13/36] One last eradication --- solr/webapp/web/js/angular/controllers/login.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solr/webapp/web/js/angular/controllers/login.js b/solr/webapp/web/js/angular/controllers/login.js index 6f1a63a8ef1..aead23a4e37 100644 --- a/solr/webapp/web/js/angular/controllers/login.js +++ b/solr/webapp/web/js/angular/controllers/login.js @@ -47,7 +47,7 @@ solrAdminApp.controller('LoginController', sessionStorage.setItem("auth.scheme", authScheme); } - var supportedSchemes = ['Basic', 'Bearer', 'Negotiate', 'Certificate']; + var supportedSchemes = ['Basic', 'Bearer', 'Certificate']; $scope.authSchemeSupported = supportedSchemes.includes(authScheme); if (authScheme === 'Bearer') { From 83a5d05148ca8711805c3df752956fbdc93af474 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Tue, 5 Nov 2024 17:28:44 -0500 Subject: [PATCH 14/36] Proper way to change htaccess. --- dev-tools/scripts/refguide/htaccess.txt | 2 +- dev-tools/scripts/refguide/mappings.csv | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dev-tools/scripts/refguide/htaccess.txt b/dev-tools/scripts/refguide/htaccess.txt index e067c8c5cae..419467d09dd 100644 --- a/dev-tools/scripts/refguide/htaccess.txt +++ b/dev-tools/scripts/refguide/htaccess.txt @@ -1,6 +1,6 @@ # Existing pages moved to sub path in the 9.0 guide RedirectMatch 301 ^/guide/(about-this-guide|relevance|solr-glossary|solr-tutorial)\.html /guide/solr/latest/getting-started/$1.html -RedirectMatch 301 ^/guide/(aliases|audit-logging|authentication-and-authorization-plugins|basic-authentication-plugin|circuit-breakers|client-apis|cloud-screens|cluster-node-management|collection-management|collections-core-admin|configuring-logging|enabling-ssl|indexupgrader-tool|installing-solr|jvm-settings|jwt-authentication-plugin|mbean-request-handler|metrics-reporting|performance-statistics-reference|ping|plugins-stats-screen|replica-management|rule-based-authorization-plugin|securing-solr|security-ui|shard-management|solr-control-script-reference|solrcloud-recoveries-and-write-tolerance|solrcloud-with-legacy-configuration-files|taking-solr-to-production|thread-dump|upgrading-a-solr-cluster|zookeeper-access-control|cert-authentication-plugin)\.html /guide/solr/latest/deployment-guide/$1.html +RedirectMatch 301 ^/guide/(aliases|audit-logging|authentication-and-authorization-plugins|basic-authentication-plugin|circuit-breakers|client-apis|cloud-screens|cluster-node-management|collection-management|collections-core-admin|configuring-logging|enabling-ssl|hadoop-authentication-plugin|indexupgrader-tool|installing-solr|jvm-settings|jwt-authentication-plugin|kerberos-authentication-plugin|mbean-request-handler|metrics-reporting|performance-statistics-reference|ping|plugins-stats-screen|replica-management|rule-based-authorization-plugin|securing-solr|security-ui|shard-management|solr-control-script-reference|solrcloud-recoveries-and-write-tolerance|solrcloud-with-legacy-configuration-files|taking-solr-to-production|thread-dump|upgrading-a-solr-cluster|zookeeper-access-control|cert-authentication-plugin)\.html /guide/solr/latest/deployment-guide/$1.html RedirectMatch 301 ^/guide/(analysis-screen|analyzers|charfilterfactories|content-streams|de-duplication|documents-screen|docvalues|dynamic-fields|field-properties-by-use-case|field-type-definitions-and-properties|field-types-included-with-solr|indexing-nested-documents|language-analysis|luke-request-handler|phonetic-matching|post-tool|reindexing|schema-api|schema-browser-screen|schema-designer|schemaless-mode|tokenizers|transforming-and-indexing-custom-json|language-detection|schema-elements|currencies-exchange-rates|indexing-with-update-handlers|indexing-with-tika)\.html /guide/solr/latest/indexing-guide/$1.html RedirectMatch 301 ^/guide/(analytics-expression-sources|analytics-mapping-functions|analytics-reduction-functions|analytics|collapse-and-expand-results|common-query-parameters|computational-geometry|curve-fitting|dsp|exporting-result-sets|faceting|function-queries|graph-traversal|graph|highlighting|json-facet-api|json-faceting-domain-changes|json-query-dsl|json-request-api|learning-to-rank|loading|logs|machine-learning|math-expressions|math-start|matrix-math|morelikethis|numerical-analysis|other-parsers|pagination-of-results|probability-distributions|query-re-ranking|query-screen|regression|response-writers|result-grouping|scalar-math|search-sample|searching-nested-documents|simulations|spatial-search|spell-checking|statistics|stream-api|stream-decorator-reference|stream-evaluator-reference|stream-screen|stream-source-reference|streaming-expressions|suggester|term-vectors|time-series|transform|variables|vector-math|visualization|result-clustering|query-syntax-and-parsers|edismax-query-parser|sql-query|query-elevation-component|join-query-parser|document-transformers)\.html /guide/solr/latest/query-guide/$1.html RedirectMatch 301 ^/guide/(codec-factory|collections-api|config-api|config-sets|configsets-api|configuring-solrconfig-xml|coreadmin-api|implicit-requesthandlers|libs|managed-resources|package-manager-internals|package-manager|realtime-get|request-parameters-api|resource-loading|solr-plugins|update-request-processors|v2-api|script-update-processor|core-discovery)\.html /guide/solr/latest/configuration-guide/$1.html diff --git a/dev-tools/scripts/refguide/mappings.csv b/dev-tools/scripts/refguide/mappings.csv index 910207af4fb..e86027fab29 100644 --- a/dev-tools/scripts/refguide/mappings.csv +++ b/dev-tools/scripts/refguide/mappings.csv @@ -138,6 +138,8 @@ rule-based-replica-placement.html;_8_11 putting-the-pieces-together.html;_8_11 blockjoin-faceting.html;_8_11 errata.html;_8_11 +hadoop-authentication-plugin.html;_9_7 +kerberos-authentication-plugin.html;_9_7 # Page links from the prereleased 9.0 codebase before the antora migration neural-search.html;dense-vector-search.adoc From 760b0c917c2737e7e576ce017feacf0b58e6b1c4 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Wed, 6 Nov 2024 07:24:13 -0500 Subject: [PATCH 15/36] Respond to warning from build --- solr/licenses/hadoop-minikdc-LICENSE-ASL.txt | 244 ------------------- solr/licenses/hadoop-minikdc-NOTICE.txt | 2 - 2 files changed, 246 deletions(-) delete mode 100644 solr/licenses/hadoop-minikdc-LICENSE-ASL.txt delete mode 100644 solr/licenses/hadoop-minikdc-NOTICE.txt diff --git a/solr/licenses/hadoop-minikdc-LICENSE-ASL.txt b/solr/licenses/hadoop-minikdc-LICENSE-ASL.txt deleted file mode 100644 index 9a8e847ee84..00000000000 --- a/solr/licenses/hadoop-minikdc-LICENSE-ASL.txt +++ /dev/null @@ -1,244 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -APACHE HADOOP SUBCOMPONENTS: - -The Apache Hadoop project contains subcomponents with separate copyright -notices and license terms. Your use of the source code for the these -subcomponents is subject to the terms and conditions of the following -licenses. - -For the org.apache.hadoop.util.bloom.* classes: - -/** - * - * Copyright (c) 2005, European Commission project OneLab under contract - * 034819 (http://www.one-lab.org) - * All rights reserved. - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the distribution. - * - Neither the name of the University Catholique de Louvain - UCL - * nor the names of its contributors may be used to endorse or - * promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ \ No newline at end of file diff --git a/solr/licenses/hadoop-minikdc-NOTICE.txt b/solr/licenses/hadoop-minikdc-NOTICE.txt deleted file mode 100644 index c56a5e4eac1..00000000000 --- a/solr/licenses/hadoop-minikdc-NOTICE.txt +++ /dev/null @@ -1,2 +0,0 @@ -This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). \ No newline at end of file From 029dc5b85518103dcd32224020e4120d1d748a41 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Wed, 6 Nov 2024 10:35:02 -0500 Subject: [PATCH 16/36] Restore some permissions that are used by the HDFS module Saw errors in tests when these are missing. --- gradle/testing/randomization/policies/solr-tests.policy | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gradle/testing/randomization/policies/solr-tests.policy b/gradle/testing/randomization/policies/solr-tests.policy index 09f8691c95c..6da4d6df43f 100644 --- a/gradle/testing/randomization/policies/solr-tests.policy +++ b/gradle/testing/randomization/policies/solr-tests.policy @@ -100,6 +100,10 @@ grant { permission java.lang.RuntimePermission "closeClassLoader"; // needed by HttpSolrClient permission java.lang.RuntimePermission "getFileSystemAttributes"; + // needed by hadoop hdfs (TODO: there is a cleaner way to handle this) + permission java.lang.RuntimePermission "loadLibrary.jaas"; + permission java.lang.RuntimePermission "loadLibrary.jaas_unix"; + permission java.lang.RuntimePermission "loadLibrary.jaas_nt"; // needed by hadoop common RawLocalFileSystem for java nio getOwner permission java.lang.RuntimePermission "accessUserInformation"; // needed by hadoop hdfs From a2cba0595130cea7924cf1db84ae1c7ca4efe8fd Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Wed, 6 Nov 2024 10:37:22 -0500 Subject: [PATCH 17/36] Back out change, we have another JIRA to cover this work. --- dev-tools/scripts/refguide/mappings.csv | 2 -- 1 file changed, 2 deletions(-) diff --git a/dev-tools/scripts/refguide/mappings.csv b/dev-tools/scripts/refguide/mappings.csv index e86027fab29..910207af4fb 100644 --- a/dev-tools/scripts/refguide/mappings.csv +++ b/dev-tools/scripts/refguide/mappings.csv @@ -138,8 +138,6 @@ rule-based-replica-placement.html;_8_11 putting-the-pieces-together.html;_8_11 blockjoin-faceting.html;_8_11 errata.html;_8_11 -hadoop-authentication-plugin.html;_9_7 -kerberos-authentication-plugin.html;_9_7 # Page links from the prereleased 9.0 codebase before the antora migration neural-search.html;dense-vector-search.adoc From 90316c3f45e66f82c16d7015acfc6a732079b840 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Wed, 6 Nov 2024 10:37:52 -0500 Subject: [PATCH 18/36] Format fix --- gradle/testing/randomization/policies/solr-tests.policy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/testing/randomization/policies/solr-tests.policy b/gradle/testing/randomization/policies/solr-tests.policy index 6da4d6df43f..e961d82d10a 100644 --- a/gradle/testing/randomization/policies/solr-tests.policy +++ b/gradle/testing/randomization/policies/solr-tests.policy @@ -100,7 +100,7 @@ grant { permission java.lang.RuntimePermission "closeClassLoader"; // needed by HttpSolrClient permission java.lang.RuntimePermission "getFileSystemAttributes"; - // needed by hadoop hdfs (TODO: there is a cleaner way to handle this) + // needed by hadoop hdfs (TODO: there is a cleaner way to handle this) permission java.lang.RuntimePermission "loadLibrary.jaas"; permission java.lang.RuntimePermission "loadLibrary.jaas_unix"; permission java.lang.RuntimePermission "loadLibrary.jaas_nt"; From d8fd76d3827b921a1a33ae175bc19db85a9fe0cf Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 16 Nov 2024 08:24:37 -0500 Subject: [PATCH 19/36] update from main --- solr/solr-ref-guide/build.gradle | 70 ++++++++++++++------------------ 1 file changed, 31 insertions(+), 39 deletions(-) diff --git a/solr/solr-ref-guide/build.gradle b/solr/solr-ref-guide/build.gradle index a5259de31b3..b548d9981af 100644 --- a/solr/solr-ref-guide/build.gradle +++ b/solr/solr-ref-guide/build.gradle @@ -59,15 +59,6 @@ dependencies { } ext { - antoraVersion = "3.1.4" - antoraLunrExtensionVersion = "1.0.0-alpha.8" - asciidoctorMathjaxVersion = "0.0.9" - asciidoctorTabsVersion = "1.0.0-beta.6" - linkCheckerVersion = "1.4.2" - gulpCliVersion = "2.3.0" - // Most recent commit as of 2022-06-24, this repo does not have tags - antoraDefaultUIVersion = "51ad811622394027afb4e182c2fdabc235ae04dd" - siteDir = "${buildDir}/site" antoraConfigBuildDir = "${buildDir}/antora-config" playbooksDir = "${project.ext.antoraConfigBuildDir}/playbooks" @@ -120,16 +111,17 @@ task buildLocalAntoraYaml { // Set these dependency versions as lazy gstrings so that they're resolved after evaluation. // These variable names must use underscores, not dashes or periods props.putAll([ - ["dep_version_commons_codec", "commons-codec", "commons-codec"], - ["dep_version_dropwizard", "io.dropwizard.metrics", "metrics-core"], - ["dep_version_log4j", "org.apache.logging.log4j", "log4j-core"], - ["dep_version_opennlp", "org.apache.opennlp", "opennlp-tools"], - ["dep_version_tika", "org.apache.tika", "tika-core"], - ["dep_version_zookeeper", "org.apache.zookeeper", "zookeeper"], - ["dep_version_lucene", "org.apache.lucene", "lucene-core"], - ["dep_version_opentelemetry", "io.opentelemetry", "opentelemetry-sdk"], - ].collectEntries { propKey, depGroup, depId -> - [propKey, "${-> depGroup == 'org.apache.lucene' ? luceneBaseVersionProvider.get() : project.getVersion(depGroup, depId)}"] }) + ["dep_version_commons_codec", libs.versions.commons.codec], + ["dep_version_dropwizard", libs.versions.dropwizard.metrics], + ["dep_version_hadoop", libs.versions.apache.hadoop.asProvider()], + ["dep_version_log4j", libs.versions.apache.log4j], + ["dep_version_opennlp", libs.versions.apache.opennlp], + ["dep_version_tika", libs.versions.apache.tika], + ["dep_version_zookeeper", libs.versions.apache.zookeeper], + ["dep_version_lucene", libs.versions.apache.lucene], + ["dep_version_opentelemetry", libs.versions.opentelemetry], + ].collectEntries { propKey, dependencyVersion -> + [propKey, "${-> dependencyVersion == libs.versions.apache.lucene ? luceneBaseVersionProvider.get() : dependencyVersion.get()}"] }) copy { @@ -216,41 +208,41 @@ dependencies { task downloadAntoraCli(type: NpmTask) { group = 'Build Dependency Download' - args = ["install", "@antora/cli@${project.ext.antoraVersion}"] + args = ["install", "@antora/cli@${libs.versions.antora.asProvider().get()}"] - inputs.property("Antora version", project.ext.antoraVersion) + inputs.property("Antora version", libs.versions.antora.asProvider().get()) outputs.dir("${project.ext.nodeProjectDir}/node_modules/@antora/cli") } task downloadAntoraSiteGenerator(type: NpmTask) { group = 'Build Dependency Download' - args = ["install", "@antora/site-generator-default@${project.ext.antoraVersion}"] + args = ["install", "@antora/site-generator-default@${libs.versions.antora.asProvider().get()}"] - inputs.property("Antora version", project.ext.antoraVersion) + inputs.property("Antora version", libs.versions.antora.asProvider().get()) outputs.dir("${project.ext.nodeProjectDir}/node_modules/@antora/site-generator-default") } task downloadAntoraLunrExtension(type: NpmTask) { group = 'Build Dependency Download' - args = ["install", "@antora/lunr-extension@${project.ext.antoraLunrExtensionVersion}"] + args = ["install", "@antora/lunr-extension@${libs.versions.antora.lunr.extension.get()}"] - inputs.property("Antora lunr-extension version", project.ext.antoraLunrExtensionVersion) + inputs.property("Antora lunr-extension version", libs.versions.antora.lunr.extension.get()) outputs.dir("${project.ext.nodeProjectDir}/node_modules/@antora/lunr-extension") } task downloadAsciidoctorMathjaxExtension(type: NpmTask) { group = 'Build Dependency Download' - args = ["install", "@djencks/asciidoctor-mathjax@${project.ext.asciidoctorMathjaxVersion}"] + args = ["install", "@djencks/asciidoctor-mathjax@${libs.versions.asciidoctor.mathjax.get()}"] - inputs.property("asciidoctor-mathjax version", project.ext.asciidoctorMathjaxVersion) + inputs.property("asciidoctor-mathjax version", libs.versions.asciidoctor.mathjax.get()) outputs.dir("${project.ext.nodeProjectDir}/node_modules/@djencks/asciidoctor-mathjax") } task downloadAsciidoctorTabsExtension(type: NpmTask) { group = 'Build Dependency Download' - args = ["install", "-D", "@asciidoctor/tabs@${project.ext.asciidoctorTabsVersion}"] + args = ["install", "-D", "@asciidoctor/tabs@${libs.versions.asciidoctor.tabs.get()}"] - inputs.property("asciidoctor-tabs version", project.ext.asciidoctorTabsVersion) + inputs.property("asciidoctor-tabs version", libs.versions.asciidoctor.tabs.get()) outputs.dir("${project.ext.nodeProjectDir}/node_modules/@asciidoctor/tabs") } @@ -267,17 +259,17 @@ task downloadAntora { task downloadLinkValidator(type: NpmTask) { group = 'Build Dependency Download' - args = ["install", "link-checker@${project.ext.linkCheckerVersion}"] + args = ["install", "link-checker@${libs.versions.link.checker.get()}"] - inputs.property("link-checker version", project.ext.linkCheckerVersion) + inputs.property("link-checker version", libs.versions.link.checker.get()) outputs.dir("${project.ext.nodeProjectDir}/node_modules/link-checker") } task downloadDefaultUITemplate(type: NpmTask) { group = 'Build Dependency Download' - args = ["install", "gitlab:antora/antora-ui-default#${project.ext.antoraDefaultUIVersion}", "--include=dev"] + args = ["install", "gitlab:antora/antora-ui-default#${libs.versions.antora.default.ui.get()}", "--include=dev"] - inputs.property("Antora default-ui version", project.ext.antoraDefaultUIVersion) + inputs.property("Antora default-ui version", libs.versions.antora.default.ui.get()) outputs.dir("${project.ext.nodeProjectDir}/node_modules/@antora/ui-default") } @@ -315,14 +307,14 @@ task downloadGulp(type: NpmTask) { group = 'Build Dependency Download' dependsOn tasks.startUIBuildDir - args = ["install", "gulp-cli@${project.ext.gulpCliVersion}", "--legacy-peer-deps"] + args = ["install", "gulp-cli@${libs.versions.gulp.cli.get()}", "--legacy-peer-deps"] execOverrides { // The it variable contains the `ExecSpec` workingDir = project.ext.uiBuildDir } - inputs.property("Antora version", project.ext.antoraVersion) - inputs.property("Gulp CLI version", project.ext.gulpCliVersion) + inputs.property("Antora version", libs.versions.antora.asProvider().get()) + inputs.property("Gulp CLI version", libs.versions.gulp.cli.get()) outputs.dir("${project.ext.uiBuildDir}/node_modules/") } @@ -418,7 +410,7 @@ task buildLocalAntoraSite(type: NpxTask) { environment = ["SITE_SEARCH_ENABLED": "true"] inputs.files(fileTree(project.ext.siteStagingDir)) - inputs.property("Antora version", project.ext.antoraVersion) + inputs.property("Antora version", libs.versions.antora.asProvider().get()) outputs.dir(project.ext.siteDir) } @@ -513,7 +505,7 @@ task buildOfficialSite(type: NpxTask) { environment = ["SITE_SEARCH_ENABLED": "true"] inputs.files(officialPlaybook) - inputs.property("Antora version", project.ext.antoraVersion) + inputs.property("Antora version", libs.versions.antora.asProvider().get()) outputs.dir(project.ext.siteDir) doLast { @@ -539,7 +531,7 @@ dependencies { testImplementation project(":solr:core") testImplementation project(":solr:solrj") testImplementation project(":solr:test-framework") - testImplementation 'junit:junit' + testImplementation libs.junit.junit } // Copy all the test resource files from SolrJ to the build/resources/test directory From 1b8894ed3106621250446b5e250f2b8545eee7e3 Mon Sep 17 00:00:00 2001 From: Christos Malliaridis Date: Sat, 16 Nov 2024 17:57:24 +0100 Subject: [PATCH 20/36] Update locks and sync commons-text version downgrade --- solr/licenses/commons-text-1.11.0.jar.sha1 | 1 - solr/licenses/commons-text-1.12.0.jar.sha1 | 1 + versions.lock | 10923 +++++++++---------- 3 files changed, 4929 insertions(+), 5996 deletions(-) delete mode 100644 solr/licenses/commons-text-1.11.0.jar.sha1 create mode 100644 solr/licenses/commons-text-1.12.0.jar.sha1 diff --git a/solr/licenses/commons-text-1.11.0.jar.sha1 b/solr/licenses/commons-text-1.11.0.jar.sha1 deleted file mode 100644 index c7b597f6550..00000000000 --- a/solr/licenses/commons-text-1.11.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -2bb044b7717ec2eccaf9ea7769c1509054b50e9a diff --git a/solr/licenses/commons-text-1.12.0.jar.sha1 b/solr/licenses/commons-text-1.12.0.jar.sha1 new file mode 100644 index 00000000000..bb6a5b706b5 --- /dev/null +++ b/solr/licenses/commons-text-1.12.0.jar.sha1 @@ -0,0 +1 @@ +66aa90dc099701c4d3b14bd256c328f592ccf0d6 diff --git a/versions.lock b/versions.lock index b2bec0363ed..791610fc810 100644 --- a/versions.lock +++ b/versions.lock @@ -12,32 +12,32 @@ "com.amazonaws:aws-java-sdk-s3:1.12.501" : "1e12e466,refs=2", "com.amazonaws:jmespath-java:1.12.501" : "1e12e466,refs=2", "com.beust:jcommander:1.82" : "50a667d1,refs=5", - "com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.8.1" : "06ca9183,refs=52", - "com.carrotsearch:hppc:0.10.0" : "3ff3bc39,refs=81", + "com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.8.1" : "4cdf113e,refs=50", + "com.carrotsearch:hppc:0.10.0" : "3ddaa92e,refs=77", "com.cybozu.labs:langdetect:1.1-20120112" : "69bf1b73,refs=5", "com.epam:parso:2.0.14" : "50a667d1,refs=5", - "com.fasterxml.jackson.core:jackson-annotations:2.18.0" : "4ce82561,refs=99", - "com.fasterxml.jackson.core:jackson-core:2.18.0" : "6a8501ec,refs=100", - "com.fasterxml.jackson.core:jackson-databind:2.18.0" : "f83d8628,refs=96", - "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.18.0" : "8b517977,refs=81", + "com.fasterxml.jackson.core:jackson-annotations:2.18.0" : "2dc1f356,refs=95", + "com.fasterxml.jackson.core:jackson-core:2.18.0" : "641a14bf,refs=94", + "com.fasterxml.jackson.core:jackson-databind:2.18.0" : "65fccf9d,refs=92", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.18.0" : "f0d49322,refs=77", "com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.18.0" : "4bf37e93,refs=3", - "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.18.0" : "ad8f08d7,refs=79", + "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.18.0" : "74e0f4cc,refs=75", "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.18.0" : "1e12e466,refs=2", "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.18.0" : "3b210678,refs=5", "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.0" : "1e12e466,refs=2", - "com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.18.0" : "ad8f08d7,refs=79", + "com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.18.0" : "74e0f4cc,refs=75", "com.fasterxml.jackson.module:jackson-module-kotlin:2.18.0" : "c77c5ec7,refs=1", "com.fasterxml.jackson.module:jackson-module-parameter-names:2.18.0" : "1e12e466,refs=2", "com.fasterxml.jackson.module:jackson-module-scala_2.13:2.18.0" : "4bf37e93,refs=3", - "com.fasterxml.jackson:jackson-bom:2.18.0" : "100652ac,refs=104", - "com.fasterxml.woodstox:woodstox-core:7.0.0" : "7bb67147,refs=82", - "com.github.ben-manes.caffeine:caffeine:3.1.8" : "5b2db4f4,refs=111", + "com.fasterxml.jackson:jackson-bom:2.18.0" : "0606b379,refs=98", + "com.fasterxml.woodstox:woodstox-core:7.0.0" : "9f8df2f2,refs=78", + "com.github.ben-manes.caffeine:caffeine:3.1.8" : "08efa395,refs=106", "com.github.jai-imageio:jai-imageio-core:1.4.0" : "50a667d1,refs=5", "com.github.junrar:junrar:7.5.3" : "50a667d1,refs=5", - "com.github.kevinstern:software-and-algorithms:1.0" : "e5b524d7,refs=26", + "com.github.kevinstern:software-and-algorithms:1.0" : "af677b6b,refs=25", "com.github.luben:zstd-jni:1.5.6-3" : "f493e7bb,refs=7", "com.github.openjson:openjson:1.0.12" : "50a667d1,refs=5", - "com.github.spotbugs:spotbugs-annotations:4.8.6" : "761c3c3c,refs=5", + "com.github.spotbugs:spotbugs-annotations:4.8.6" : "98f5d547,refs=4", "com.github.stephenc.jcip:jcip-annotations:1.0-1" : "e9990913,refs=4", "com.github.virtuald:curvesapi:1.07" : "50a667d1,refs=5", "com.google.android:annotations:4.1.1.4" : "dd724fae,refs=6", @@ -54,45 +54,45 @@ "com.google.apis:google-api-services-storage:v1-rev20240621-2.0.0" : "784a94ea,refs=5", "com.google.auth:google-auth-library-credentials:1.23.0" : "784a94ea,refs=5", "com.google.auth:google-auth-library-oauth2-http:1.23.0" : "784a94ea,refs=5", - "com.google.auto.service:auto-service-annotations:1.0.1" : "e5b524d7,refs=26", - "com.google.auto.value:auto-value-annotations:1.10.4" : "322f4a3c,refs=31", - "com.google.auto:auto-common:1.2.2" : "e5b524d7,refs=26", + "com.google.auto.service:auto-service-annotations:1.0.1" : "af677b6b,refs=25", + "com.google.auto.value:auto-value-annotations:1.10.4" : "78109566,refs=30", + "com.google.auto:auto-common:1.2.2" : "af677b6b,refs=25", "com.google.cloud:google-cloud-bom:0.224.0" : "784a94ea,refs=5", "com.google.cloud:google-cloud-core:2.40.0" : "784a94ea,refs=5", "com.google.cloud:google-cloud-core-grpc:2.40.0" : "784a94ea,refs=5", "com.google.cloud:google-cloud-core-http:2.40.0" : "784a94ea,refs=5", "com.google.cloud:google-cloud-nio:0.127.20" : "aa7a59c6,refs=2", "com.google.cloud:google-cloud-storage:2.40.1" : "784a94ea,refs=5", - "com.google.code.findbugs:jsr305:3.0.2" : "e5b524d7,refs=26", + "com.google.code.findbugs:jsr305:3.0.2" : "af677b6b,refs=25", "com.google.code.gson:gson:2.11.0" : "0a82b27c,refs=16", - "com.google.errorprone:error_prone_annotation:2.31.0" : "e5b524d7,refs=26", - "com.google.errorprone:error_prone_annotations:2.31.0" : "e80f7a3a,refs=149", - "com.google.errorprone:error_prone_check_api:2.31.0" : "e5b524d7,refs=26", - "com.google.errorprone:error_prone_core:2.31.0" : "e5b524d7,refs=26", - "com.google.errorprone:error_prone_type_annotations:2.31.0" : "e5b524d7,refs=26", - "com.google.guava:failureaccess:1.0.2" : "e80f7a3a,refs=149", - "com.google.guava:guava:33.1.0-jre" : "e80f7a3a,refs=149", - "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" : "e80f7a3a,refs=149", + "com.google.errorprone:error_prone_annotation:2.31.0" : "af677b6b,refs=25", + "com.google.errorprone:error_prone_annotations:2.31.0" : "d934c4b5,refs=142", + "com.google.errorprone:error_prone_check_api:2.31.0" : "af677b6b,refs=25", + "com.google.errorprone:error_prone_core:2.31.0" : "af677b6b,refs=25", + "com.google.errorprone:error_prone_type_annotations:2.31.0" : "af677b6b,refs=25", + "com.google.guava:failureaccess:1.0.2" : "d934c4b5,refs=142", + "com.google.guava:guava:33.1.0-jre" : "d934c4b5,refs=142", + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" : "d934c4b5,refs=142", "com.google.http-client:google-http-client:1.44.2" : "784a94ea,refs=5", "com.google.http-client:google-http-client-apache-v2:1.44.2" : "784a94ea,refs=5", "com.google.http-client:google-http-client-appengine:1.44.2" : "784a94ea,refs=5", "com.google.http-client:google-http-client-gson:1.44.2" : "784a94ea,refs=5", "com.google.http-client:google-http-client-jackson2:1.44.2" : "784a94ea,refs=5", - "com.google.j2objc:j2objc-annotations:3.0.0" : "a05ffa28,refs=49", + "com.google.j2objc:j2objc-annotations:3.0.0" : "a004847a,refs=47", "com.google.oauth-client:google-oauth-client:1.36.0" : "784a94ea,refs=5", - "com.google.protobuf:protobuf-java:3.25.3" : "7498dc3d,refs=48", + "com.google.protobuf:protobuf-java:3.25.3" : "ecd95ebb,refs=47", "com.google.protobuf:protobuf-java-util:3.25.3" : "a7f96198,refs=8", - "com.google.re2j:re2j:1.7" : "a5b348ef,refs=6", + "com.google.re2j:re2j:1.7" : "6fb73f3a,refs=3", "com.googlecode.json-simple:json-simple:1.1.1" : "8d0cef4c,refs=11", "com.googlecode.juniversalchardet:juniversalchardet:1.0.3" : "50a667d1,refs=5", "com.googlecode.plist:dd-plist:1.24" : "50a667d1,refs=5", "com.healthmarketscience.jackcess:jackcess:4.0.2" : "50a667d1,refs=5", "com.healthmarketscience.jackcess:jackcess-encrypt:4.0.1" : "50a667d1,refs=5", "com.helger:profiler:1.1.1" : "0769b123,refs=5", - "com.ibm.icu:icu4j:74.2" : "b4755bf3,refs=9", - "com.j256.simplemagic:simplemagic:1.17" : "ad8f08d7,refs=79", - "com.jayway.jsonpath:json-path:2.9.0" : "ad8f08d7,refs=79", - "com.lmax:disruptor:3.4.4" : "6ac4140f,refs=27", + "com.ibm.icu:icu4j:74.2" : "07070cdb,refs=8", + "com.j256.simplemagic:simplemagic:1.17" : "74e0f4cc,refs=75", + "com.jayway.jsonpath:json-path:2.9.0" : "74e0f4cc,refs=75", + "com.lmax:disruptor:3.4.4" : "b4164bb3,refs=26", "com.mchange:c3p0:0.9.5.5" : "50a667d1,refs=5", "com.mchange:mchange-commons-java:0.2.19" : "50a667d1,refs=5", "com.nimbusds:content-type:2.2" : "4f81d786,refs=2", @@ -108,17 +108,17 @@ "com.squareup.okio:okio-jvm:3.6.0" : "b6a343e2,refs=5", "com.sun.activation:jakarta.activation:1.2.2" : "e2f3f42e,refs=4", "com.sun.istack:istack-commons-runtime:3.0.12" : "debe9836,refs=7", - "com.tdunning:t-digest:3.3" : "ad8f08d7,refs=79", + "com.tdunning:t-digest:3.3" : "74e0f4cc,refs=75", "com.thoughtworks.paranamer:paranamer:2.8" : "4bf37e93,refs=3", "com.typesafe.scala-logging:scala-logging_2.13:3.9.4" : "4bf37e93,refs=3", "com.yammer.metrics:metrics-core:2.2.0" : "4bf37e93,refs=3", "com.zaxxer:SparseBitSet:1.2" : "50a667d1,refs=5", "commons-beanutils:commons-beanutils:1.9.4" : "4bf37e93,refs=3", - "commons-cli:commons-cli:1.9.0" : "e19ba4dc,refs=87", - "commons-codec:commons-codec:1.17.1" : "fed35e7f,refs=107", - "commons-collections:commons-collections:3.2.2" : "acc31ef6,refs=6", + "commons-cli:commons-cli:1.9.0" : "a8078111,refs=83", + "commons-codec:commons-codec:1.17.1" : "4685450c,refs=101", + "commons-collections:commons-collections:3.2.2" : "4bf37e93,refs=3", "commons-digester:commons-digester:2.1" : "4bf37e93,refs=3", - "commons-io:commons-io:2.15.1" : "7413b098,refs=124", + "commons-io:commons-io:2.15.1" : "2ba7bcab,refs=118", "commons-validator:commons-validator:1.7" : "4bf37e93,refs=3", "de.l3s.boilerpipe:boilerpipe:1.1.0" : "50a667d1,refs=5", "edu.ucar:cdm:4.5.5" : "50a667d1,refs=5", @@ -127,17 +127,17 @@ "edu.ucar:netcdf4:4.5.5" : "50a667d1,refs=5", "edu.ucar:udunits:4.5.5" : "50a667d1,refs=5", "edu.usc.ir:sentiment-analysis-parser:0.1" : "50a667d1,refs=5", - "io.dropwizard.metrics:metrics-annotation:4.2.26" : "1f5bde05,refs=47", - "io.dropwizard.metrics:metrics-core:4.2.26" : "87cd582a,refs=121", - "io.dropwizard.metrics:metrics-graphite:4.2.26" : "27f62655,refs=81", + "io.dropwizard.metrics:metrics-annotation:4.2.26" : "ddb9bbf9,refs=45", + "io.dropwizard.metrics:metrics-core:4.2.26" : "5752f9bd,refs=115", + "io.dropwizard.metrics:metrics-graphite:4.2.26" : "09fe814a,refs=77", "io.dropwizard.metrics:metrics-healthchecks:4.2.26" : "0769b123,refs=5", - "io.dropwizard.metrics:metrics-jetty10:4.2.26" : "1f5bde05,refs=47", - "io.dropwizard.metrics:metrics-jmx:4.2.26" : "27f62655,refs=81", + "io.dropwizard.metrics:metrics-jetty10:4.2.26" : "ddb9bbf9,refs=45", + "io.dropwizard.metrics:metrics-jmx:4.2.26" : "09fe814a,refs=77", "io.dropwizard.metrics:metrics-json:4.2.26" : "0769b123,refs=5", - "io.dropwizard.metrics:metrics-jvm:4.2.26" : "dc28f153,refs=83", + "io.dropwizard.metrics:metrics-jvm:4.2.26" : "e0da7b48,refs=79", "io.dropwizard.metrics:metrics-servlets:4.2.26" : "0769b123,refs=5", - "io.github.eisop:dataflow-errorprone:3.41.0-eisop1" : "e5b524d7,refs=26", - "io.github.java-diff-utils:java-diff-utils:4.12" : "e5b524d7,refs=26", + "io.github.eisop:dataflow-errorprone:3.41.0-eisop1" : "af677b6b,refs=25", + "io.github.java-diff-utils:java-diff-utils:4.12" : "af677b6b,refs=25", "io.github.microutils:kotlin-logging:3.0.5" : "c77c5ec7,refs=1", "io.github.microutils:kotlin-logging-jvm:3.0.5" : "c77c5ec7,refs=1", "io.grpc:grpc-alts:1.65.1" : "784a94ea,refs=5", @@ -160,28 +160,28 @@ "io.grpc:grpc-xds:1.65.1" : "6fb73f3a,refs=3", "io.micrometer:micrometer-core:1.9.12" : "1e12e466,refs=2", "io.netty:netty-bom:4.1.114.Final" : "0d28f997,refs=5", - "io.netty:netty-buffer:4.1.114.Final" : "7413b098,refs=124", - "io.netty:netty-codec:4.1.114.Final" : "7413b098,refs=124", + "io.netty:netty-buffer:4.1.114.Final" : "2ba7bcab,refs=118", + "io.netty:netty-codec:4.1.114.Final" : "2ba7bcab,refs=118", "io.netty:netty-codec-http:4.1.114.Final" : "c1e4e901,refs=4", "io.netty:netty-codec-http2:4.1.114.Final" : "5fcc0587,refs=3", "io.netty:netty-codec-socks:4.1.114.Final" : "5fcc0587,refs=3", - "io.netty:netty-common:4.1.114.Final" : "7413b098,refs=124", - "io.netty:netty-handler:4.1.114.Final" : "7413b098,refs=124", + "io.netty:netty-common:4.1.114.Final" : "2ba7bcab,refs=118", + "io.netty:netty-handler:4.1.114.Final" : "2ba7bcab,refs=118", "io.netty:netty-handler-proxy:4.1.114.Final" : "5fcc0587,refs=3", - "io.netty:netty-resolver:4.1.114.Final" : "7413b098,refs=124", - "io.netty:netty-tcnative-boringssl-static:2.0.66.Final" : "7413b098,refs=124", - "io.netty:netty-tcnative-classes:2.0.66.Final" : "7413b098,refs=124", - "io.netty:netty-transport:4.1.114.Final" : "7413b098,refs=124", - "io.netty:netty-transport-classes-epoll:4.1.114.Final" : "7413b098,refs=124", - "io.netty:netty-transport-native-epoll:4.1.114.Final" : "7413b098,refs=124", - "io.netty:netty-transport-native-unix-common:4.1.114.Final" : "7413b098,refs=124", + "io.netty:netty-resolver:4.1.114.Final" : "2ba7bcab,refs=118", + "io.netty:netty-tcnative-boringssl-static:2.0.66.Final" : "2ba7bcab,refs=118", + "io.netty:netty-tcnative-classes:2.0.66.Final" : "2ba7bcab,refs=118", + "io.netty:netty-transport:4.1.114.Final" : "2ba7bcab,refs=118", + "io.netty:netty-transport-classes-epoll:4.1.114.Final" : "2ba7bcab,refs=118", + "io.netty:netty-transport-native-epoll:4.1.114.Final" : "2ba7bcab,refs=118", + "io.netty:netty-transport-native-unix-common:4.1.114.Final" : "2ba7bcab,refs=118", "io.opencensus:opencensus-api:0.31.1" : "784a94ea,refs=5", "io.opencensus:opencensus-contrib-http-util:0.31.1" : "784a94ea,refs=5", "io.opencensus:opencensus-proto:0.2.0" : "6fb73f3a,refs=3", - "io.opentelemetry:opentelemetry-api:1.40.0" : "17e13daa,refs=119", + "io.opentelemetry:opentelemetry-api:1.40.0" : "e7a0ff3d,refs=113", "io.opentelemetry:opentelemetry-api-incubator:1.40.0-alpha" : "5fcc0587,refs=3", "io.opentelemetry:opentelemetry-bom:1.40.0" : "0d28f997,refs=5", - "io.opentelemetry:opentelemetry-context:1.40.0" : "17e13daa,refs=119", + "io.opentelemetry:opentelemetry-context:1.40.0" : "e7a0ff3d,refs=113", "io.opentelemetry:opentelemetry-exporter-common:1.40.0" : "5fcc0587,refs=3", "io.opentelemetry:opentelemetry-exporter-otlp:1.40.0" : "5fcc0587,refs=3", "io.opentelemetry:opentelemetry-exporter-otlp-common:1.40.0" : "5fcc0587,refs=3", @@ -195,27 +195,27 @@ "io.opentelemetry:opentelemetry-sdk-testing:1.40.0" : "015c5766,refs=2", "io.opentelemetry:opentelemetry-sdk-trace:1.40.0" : "0d28f997,refs=5", "io.perfmark:perfmark-api:0.27.0" : "dd724fae,refs=6", - "io.prometheus:prometheus-metrics-exposition-formats:1.1.0" : "ad8f08d7,refs=79", - "io.prometheus:prometheus-metrics-model:1.1.0" : "ad8f08d7,refs=79", + "io.prometheus:prometheus-metrics-exposition-formats:1.1.0" : "74e0f4cc,refs=75", + "io.prometheus:prometheus-metrics-model:1.1.0" : "74e0f4cc,refs=75", "io.prometheus:simpleclient:0.16.0" : "fa7556ff,refs=5", "io.prometheus:simpleclient_common:0.16.0" : "fa7556ff,refs=5", "io.prometheus:simpleclient_httpserver:0.16.0" : "fa7556ff,refs=5", - "io.sgr:s2-geometry-library-java:1.0.0" : "ad8f08d7,refs=79", - "io.swagger.core.v3:swagger-annotations-jakarta:2.2.22" : "420fd813,refs=130", + "io.sgr:s2-geometry-library-java:1.0.0" : "74e0f4cc,refs=75", + "io.swagger.core.v3:swagger-annotations-jakarta:2.2.22" : "15c9dc66,refs=124", "jakarta.activation:jakarta.activation-api:1.2.2" : "50a667d1,refs=5", - "jakarta.annotation:jakarta.annotation-api:2.1.1" : "78dd58c9,refs=80", - "jakarta.inject:jakarta.inject-api:2.0.1" : "ad8f08d7,refs=79", + "jakarta.annotation:jakarta.annotation-api:2.1.1" : "9bc8eb74,refs=76", + "jakarta.inject:jakarta.inject-api:2.0.1" : "74e0f4cc,refs=75", "jakarta.servlet:jakarta.servlet-api:4.0.4" : "1e12e466,refs=2", - "jakarta.validation:jakarta.validation-api:3.0.2" : "ad8f08d7,refs=79", + "jakarta.validation:jakarta.validation-api:3.0.2" : "74e0f4cc,refs=75", "jakarta.websocket:jakarta.websocket-api:1.1.2" : "1e12e466,refs=2", - "jakarta.ws.rs:jakarta.ws.rs-api:3.1.0" : "76db8e26,refs=87", + "jakarta.ws.rs:jakarta.ws.rs-api:3.1.0" : "3b2a799b,refs=83", "jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" : "debe9836,refs=7", - "javax.inject:javax.inject:1" : "a9dcee72,refs=28", + "javax.inject:javax.inject:1" : "52a29270,refs=27", "javax.measure:unit-api:1.0" : "50a667d1,refs=5", "joda-time:joda-time:2.8.1" : "debe9836,refs=7", - "junit:junit:4.13.2" : "06ca9183,refs=52", + "junit:junit:4.13.2" : "4cdf113e,refs=50", "net.arnx:jsonic:1.2.7" : "69bf1b73,refs=5", - "net.bytebuddy:byte-buddy:1.14.15" : "5f62bd8e,refs=18", + "net.bytebuddy:byte-buddy:1.14.15" : "b3899409,refs=16", "net.bytebuddy:byte-buddy-agent:1.14.15" : "23e8a2eb,refs=4", "net.java.dev.jna:jna:5.12.1" : "50a667d1,refs=5", "net.minidev:accessors-smart:2.4.9" : "4f81d786,refs=2", @@ -225,38 +225,32 @@ "net.sourceforge.argparse4j:argparse4j:0.7.0" : "4bf37e93,refs=3", "net.thisptr:jackson-jq:0.0.13" : "fa7556ff,refs=5", "no.nav.security:mock-oauth2-server:0.5.10" : "4f81d786,refs=2", - "org.antlr:antlr4-runtime:4.11.1" : "ebd3db47,refs=77", + "org.antlr:antlr4-runtime:4.11.1" : "23d07f3c,refs=73", "org.apache.calcite.avatica:avatica-core:1.25.0" : "93acde90,refs=6", "org.apache.calcite.avatica:avatica-metrics:1.25.0" : "93acde90,refs=6", "org.apache.calcite:calcite-core:1.37.0" : "93acde90,refs=6", "org.apache.calcite:calcite-linq4j:1.37.0" : "93acde90,refs=6", "org.apache.commons:commons-collections4:4.4" : "515616b6,refs=7", "org.apache.commons:commons-compress:1.26.1" : "515616b6,refs=7", - "org.apache.commons:commons-configuration2:2.11.0" : "280cfec8,refs=3", "org.apache.commons:commons-csv:1.9.0" : "50a667d1,refs=5", - "org.apache.commons:commons-exec:1.4.0" : "5b11e899,refs=81", - "org.apache.commons:commons-lang3:3.15.0" : "36393977,refs=83", - "org.apache.commons:commons-math3:3.6.1" : "21136b15,refs=87", - "org.apache.commons:commons-text:1.12.0" : "a6a1e3c5,refs=7", - "org.apache.curator:curator-client:5.7.1" : "703dff64,refs=123", - "org.apache.curator:curator-framework:5.7.1" : "703dff64,refs=123", - "org.apache.curator:curator-recipes:5.7.1" : "280cfec8,refs=3", - "org.apache.curator:curator-test:5.7.1" : "3c9a199e,refs=29", - "org.apache.hadoop.thirdparty:hadoop-shaded-guava:1.2.0" : "e972cbed,refs=5", - "org.apache.hadoop:hadoop-annotations:3.4.0" : "bf04d2b8,refs=5", - "org.apache.hadoop:hadoop-auth:3.4.0" : "bf04d2b8,refs=5", + "org.apache.commons:commons-exec:1.4.0" : "6cbe058e,refs=77", + "org.apache.commons:commons-lang3:3.15.0" : "54e28222,refs=79", + "org.apache.commons:commons-math3:3.6.1" : "37fc260a,refs=83", + "org.apache.commons:commons-text:1.12.0" : "20f1e0e0,refs=4", + "org.apache.curator:curator-client:5.7.1" : "ee381477,refs=117", + "org.apache.curator:curator-framework:5.7.1" : "ee381477,refs=117", + "org.apache.curator:curator-test:5.7.1" : "27769e90,refs=28", + "org.apache.hadoop.thirdparty:hadoop-shaded-guava:1.2.0" : "90aa62e6,refs=2", "org.apache.hadoop:hadoop-client-api:3.4.0" : "5f4312f3,refs=5", "org.apache.hadoop:hadoop-client-minicluster:3.4.0" : "4985a322,refs=1", "org.apache.hadoop:hadoop-client-runtime:3.4.0" : "26b9da63,refs=3", - "org.apache.hadoop:hadoop-common:3.4.0" : "bf04d2b8,refs=5", "org.apache.hadoop:hadoop-hdfs:3.4.0" : "90aa62e6,refs=2", - "org.apache.hadoop:hadoop-minikdc:3.4.0" : "f7508386,refs=2", "org.apache.httpcomponents.client5:httpclient5:5.2.1" : "20f1e0e0,refs=4", "org.apache.httpcomponents.core5:httpcore5:5.2.3" : "20f1e0e0,refs=4", "org.apache.httpcomponents.core5:httpcore5-h2:5.2" : "20f1e0e0,refs=4", - "org.apache.httpcomponents:httpclient:4.5.14" : "1b72eeae,refs=128", - "org.apache.httpcomponents:httpcore:4.4.16" : "1b72eeae,refs=128", - "org.apache.httpcomponents:httpmime:4.5.14" : "1b72eeae,refs=128", + "org.apache.httpcomponents:httpclient:4.5.14" : "a27cc341,refs=122", + "org.apache.httpcomponents:httpcore:4.4.16" : "a27cc341,refs=122", + "org.apache.httpcomponents:httpmime:4.5.14" : "a27cc341,refs=122", "org.apache.james:apache-mime4j-core:0.8.4" : "50a667d1,refs=5", "org.apache.james:apache-mime4j-dom:0.8.4" : "50a667d1,refs=5", "org.apache.kafka:kafka-clients:3.7.1" : "c6acb8a9,refs=11", @@ -270,52 +264,39 @@ "org.apache.kafka:kafka-streams:3.7.1" : "934e1fc5,refs=4", "org.apache.kafka:kafka-tools-api:3.7.1" : "4bf37e93,refs=3", "org.apache.kafka:kafka_2.13:3.7.1" : "4bf37e93,refs=3", - "org.apache.kerby:kerb-admin:2.0.3" : "f7508386,refs=2", - "org.apache.kerby:kerb-client:2.0.3" : "f7508386,refs=2", - "org.apache.kerby:kerb-common:2.0.3" : "f7508386,refs=2", - "org.apache.kerby:kerb-core:2.0.3" : "1643ad05,refs=4", - "org.apache.kerby:kerb-crypto:2.0.3" : "1643ad05,refs=4", - "org.apache.kerby:kerb-identity:2.0.3" : "f7508386,refs=2", - "org.apache.kerby:kerb-server:2.0.3" : "f7508386,refs=2", - "org.apache.kerby:kerb-simplekdc:2.0.3" : "f7508386,refs=2", - "org.apache.kerby:kerb-util:2.0.3" : "1643ad05,refs=4", - "org.apache.kerby:kerby-asn1:2.0.3" : "1643ad05,refs=4", - "org.apache.kerby:kerby-config:2.0.3" : "1643ad05,refs=4", - "org.apache.kerby:kerby-pkix:2.0.3" : "1643ad05,refs=4", - "org.apache.kerby:kerby-util:2.0.3" : "1643ad05,refs=4", - "org.apache.logging.log4j:log4j-1.2-api:2.21.0" : "1640bbba,refs=20", - "org.apache.logging.log4j:log4j-api:2.21.0" : "bc8e8214,refs=87", - "org.apache.logging.log4j:log4j-core:2.21.0" : "72c9c512,refs=85", - "org.apache.logging.log4j:log4j-layout-template-json:2.21.0" : "6351de37,refs=19", - "org.apache.logging.log4j:log4j-slf4j2-impl:2.21.0" : "08ef8dc6,refs=81", - "org.apache.logging.log4j:log4j-web:2.21.0" : "6351de37,refs=19", - "org.apache.lucene:lucene-analysis-common:9.11.1" : "17e13daa,refs=119", - "org.apache.lucene:lucene-analysis-icu:9.11.1" : "b4755bf3,refs=9", - "org.apache.lucene:lucene-analysis-kuromoji:9.11.1" : "ebd3db47,refs=77", - "org.apache.lucene:lucene-analysis-morfologik:9.11.1" : "727aea63,refs=7", - "org.apache.lucene:lucene-analysis-nori:9.11.1" : "ebd3db47,refs=77", - "org.apache.lucene:lucene-analysis-opennlp:9.11.1" : "b4755bf3,refs=9", - "org.apache.lucene:lucene-analysis-phonetic:9.11.1" : "ebd3db47,refs=77", - "org.apache.lucene:lucene-analysis-smartcn:9.11.1" : "727aea63,refs=7", - "org.apache.lucene:lucene-analysis-stempel:9.11.1" : "727aea63,refs=7", - "org.apache.lucene:lucene-backward-codecs:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-classification:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-codecs:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-core:9.11.1" : "17e13daa,refs=119", - "org.apache.lucene:lucene-expressions:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-grouping:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-highlighter:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-join:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-memory:9.11.1" : "ebd3db47,refs=77", - "org.apache.lucene:lucene-misc:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-queries:9.11.1" : "17e13daa,refs=119", - "org.apache.lucene:lucene-queryparser:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-sandbox:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-spatial-extras:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-spatial3d:9.11.1" : "ad8f08d7,refs=79", - "org.apache.lucene:lucene-suggest:9.11.1" : "b3b7541b,refs=81", - "org.apache.lucene:lucene-test-framework:9.11.1" : "06ca9183,refs=52", - "org.apache.opennlp:opennlp-tools:1.9.4" : "e6d93f27,refs=19", + "org.apache.logging.log4j:log4j-1.2-api:2.21.0" : "d697c7e6,refs=19", + "org.apache.logging.log4j:log4j-api:2.21.0" : "90609489,refs=83", + "org.apache.logging.log4j:log4j-core:2.21.0" : "f0410687,refs=81", + "org.apache.logging.log4j:log4j-layout-template-json:2.21.0" : "9b129c8b,refs=18", + "org.apache.logging.log4j:log4j-slf4j2-impl:2.21.0" : "216f493b,refs=77", + "org.apache.logging.log4j:log4j-web:2.21.0" : "9b129c8b,refs=18", + "org.apache.lucene:lucene-analysis-common:9.11.1" : "e7a0ff3d,refs=113", + "org.apache.lucene:lucene-analysis-icu:9.11.1" : "07070cdb,refs=8", + "org.apache.lucene:lucene-analysis-kuromoji:9.11.1" : "23d07f3c,refs=73", + "org.apache.lucene:lucene-analysis-morfologik:9.11.1" : "e3ddf06b,refs=6", + "org.apache.lucene:lucene-analysis-nori:9.11.1" : "23d07f3c,refs=73", + "org.apache.lucene:lucene-analysis-opennlp:9.11.1" : "07070cdb,refs=8", + "org.apache.lucene:lucene-analysis-phonetic:9.11.1" : "23d07f3c,refs=73", + "org.apache.lucene:lucene-analysis-smartcn:9.11.1" : "e3ddf06b,refs=6", + "org.apache.lucene:lucene-analysis-stempel:9.11.1" : "e3ddf06b,refs=6", + "org.apache.lucene:lucene-backward-codecs:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-classification:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-codecs:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-core:9.11.1" : "e7a0ff3d,refs=113", + "org.apache.lucene:lucene-expressions:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-grouping:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-highlighter:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-join:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-memory:9.11.1" : "23d07f3c,refs=73", + "org.apache.lucene:lucene-misc:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-queries:9.11.1" : "e7a0ff3d,refs=113", + "org.apache.lucene:lucene-queryparser:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-sandbox:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-spatial-extras:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-spatial3d:9.11.1" : "74e0f4cc,refs=75", + "org.apache.lucene:lucene-suggest:9.11.1" : "30598210,refs=77", + "org.apache.lucene:lucene-test-framework:9.11.1" : "4cdf113e,refs=50", + "org.apache.opennlp:opennlp-tools:1.9.4" : "fbf7fa7b,refs=18", "org.apache.pdfbox:fontbox:2.0.26" : "50a667d1,refs=5", "org.apache.pdfbox:jbig2-imageio:3.0.4" : "50a667d1,refs=5", "org.apache.pdfbox:jempbox:1.8.16" : "50a667d1,refs=5", @@ -338,9 +319,9 @@ "org.apache.tomcat.embed:tomcat-embed-el:9.0.76" : "1e12e466,refs=2", "org.apache.tomcat:annotations-api:6.0.53" : "781655d3,refs=1", "org.apache.xmlbeans:xmlbeans:5.0.3" : "50a667d1,refs=5", - "org.apache.zookeeper:zookeeper:3.9.2" : "7413b098,refs=124", - "org.apache.zookeeper:zookeeper-jute:3.9.2" : "7413b098,refs=124", - "org.apiguardian:apiguardian-api:1.1.2" : "5d98342f,refs=33", + "org.apache.zookeeper:zookeeper:3.9.2" : "2ba7bcab,refs=118", + "org.apache.zookeeper:zookeeper-jute:3.9.2" : "2ba7bcab,refs=118", + "org.apiguardian:apiguardian-api:1.1.2" : "cbe4f021,refs=32", "org.bitbucket.b_c:jose4j:0.9.6" : "9bcc8206,refs=8", "org.bouncycastle:bcmail-jdk15on:1.70" : "50a667d1,refs=5", "org.bouncycastle:bcpkix-jdk15on:1.70" : "8ba2f0f7,refs=6", @@ -351,62 +332,62 @@ "org.bouncycastle:bcutil-jdk18on:1.78.1" : "4f81d786,refs=2", "org.brotli:dec:0.1.2" : "50a667d1,refs=5", "org.carrot2:carrot2-core:4.5.1" : "f5acb352,refs=5", - "org.carrot2:morfologik-fsa:2.1.9" : "727aea63,refs=7", - "org.carrot2:morfologik-polish:2.1.9" : "727aea63,refs=7", - "org.carrot2:morfologik-stemming:2.1.9" : "727aea63,refs=7", + "org.carrot2:morfologik-fsa:2.1.9" : "e3ddf06b,refs=6", + "org.carrot2:morfologik-polish:2.1.9" : "e3ddf06b,refs=6", + "org.carrot2:morfologik-stemming:2.1.9" : "e3ddf06b,refs=6", "org.ccil.cowan.tagsoup:tagsoup:1.2.1" : "50a667d1,refs=5", - "org.checkerframework:checker-qual:3.44.0" : "e80f7a3a,refs=149", + "org.checkerframework:checker-qual:3.44.0" : "d934c4b5,refs=142", "org.codehaus.janino:commons-compiler:3.1.11" : "20f1e0e0,refs=4", "org.codehaus.janino:janino:3.1.11" : "20f1e0e0,refs=4", - "org.codehaus.woodstox:stax2-api:4.2.2" : "5b11e899,refs=81", + "org.codehaus.woodstox:stax2-api:4.2.2" : "6cbe058e,refs=77", "org.codelibs:jhighlight:1.1.0" : "50a667d1,refs=5", "org.conscrypt:conscrypt-openjdk-uber:2.5.2" : "784a94ea,refs=5", - "org.eclipse.jetty.http2:http2-client:10.0.22" : "1b72eeae,refs=128", - "org.eclipse.jetty.http2:http2-common:10.0.22" : "84afbb60,refs=130", - "org.eclipse.jetty.http2:http2-hpack:10.0.22" : "84afbb60,refs=130", - "org.eclipse.jetty.http2:http2-http-client-transport:10.0.22" : "f9ff6c21,refs=84", - "org.eclipse.jetty.http2:http2-server:10.0.22" : "5967e690,refs=32", - "org.eclipse.jetty.toolchain:jetty-servlet-api:4.0.6" : "5e82f1c0,refs=109", - "org.eclipse.jetty:jetty-alpn-client:10.0.22" : "1b72eeae,refs=128", - "org.eclipse.jetty:jetty-alpn-java-client:10.0.22" : "f9ff6c21,refs=84", - "org.eclipse.jetty:jetty-alpn-java-server:10.0.22" : "1069c1cc,refs=30", - "org.eclipse.jetty:jetty-alpn-server:10.0.22" : "5967e690,refs=32", - "org.eclipse.jetty:jetty-client:10.0.22" : "7f2dd9d5,refs=90", + "org.eclipse.jetty.http2:http2-client:10.0.22" : "a27cc341,refs=122", + "org.eclipse.jetty.http2:http2-common:10.0.22" : "b9b57d73,refs=124", + "org.eclipse.jetty.http2:http2-hpack:10.0.22" : "b9b57d73,refs=124", + "org.eclipse.jetty.http2:http2-http-client-transport:10.0.22" : "fbca8d16,refs=80", + "org.eclipse.jetty.http2:http2-server:10.0.22" : "20226b5e,refs=31", + "org.eclipse.jetty.toolchain:jetty-servlet-api:4.0.6" : "83e7fb0d,refs=103", + "org.eclipse.jetty:jetty-alpn-client:10.0.22" : "a27cc341,refs=122", + "org.eclipse.jetty:jetty-alpn-java-client:10.0.22" : "fbca8d16,refs=80", + "org.eclipse.jetty:jetty-alpn-java-server:10.0.22" : "681a38a2,refs=29", + "org.eclipse.jetty:jetty-alpn-server:10.0.22" : "20226b5e,refs=31", + "org.eclipse.jetty:jetty-client:10.0.22" : "24fbc768,refs=84", "org.eclipse.jetty:jetty-deploy:10.0.22" : "24396a00,refs=4", - "org.eclipse.jetty:jetty-http:10.0.22" : "84afbb60,refs=130", - "org.eclipse.jetty:jetty-io:10.0.22" : "84afbb60,refs=130", + "org.eclipse.jetty:jetty-http:10.0.22" : "b9b57d73,refs=124", + "org.eclipse.jetty:jetty-io:10.0.22" : "b9b57d73,refs=124", "org.eclipse.jetty:jetty-jmx:10.0.22" : "24396a00,refs=4", - "org.eclipse.jetty:jetty-rewrite:10.0.22" : "5967e690,refs=32", - "org.eclipse.jetty:jetty-security:10.0.22" : "0e779887,refs=59", - "org.eclipse.jetty:jetty-server:10.0.22" : "d008b72a,refs=107", - "org.eclipse.jetty:jetty-servlet:10.0.22" : "0e779887,refs=59", + "org.eclipse.jetty:jetty-rewrite:10.0.22" : "20226b5e,refs=31", + "org.eclipse.jetty:jetty-security:10.0.22" : "cb6a0942,refs=57", + "org.eclipse.jetty:jetty-server:10.0.22" : "e79faede,refs=102", + "org.eclipse.jetty:jetty-servlet:10.0.22" : "cb6a0942,refs=57", "org.eclipse.jetty:jetty-servlets:10.0.22" : "24396a00,refs=4", - "org.eclipse.jetty:jetty-util:10.0.22" : "84afbb60,refs=130", + "org.eclipse.jetty:jetty-util:10.0.22" : "b9b57d73,refs=124", "org.eclipse.jetty:jetty-webapp:10.0.22" : "062c26b4,refs=7", "org.eclipse.jetty:jetty-xml:10.0.22" : "062c26b4,refs=7", "org.freemarker:freemarker:2.3.32" : "c77c5ec7,refs=1", "org.gagravarr:vorbis-java-core:0.8" : "50a667d1,refs=5", "org.gagravarr:vorbis-java-tika:0.8" : "50a667d1,refs=5", - "org.glassfish.hk2.external:aopalliance-repackaged:3.1.1" : "ad8f08d7,refs=79", - "org.glassfish.hk2:hk2-api:3.1.1" : "ad8f08d7,refs=79", - "org.glassfish.hk2:hk2-locator:3.1.1" : "ad8f08d7,refs=79", - "org.glassfish.hk2:hk2-utils:3.1.1" : "ad8f08d7,refs=79", - "org.glassfish.hk2:osgi-resource-locator:1.0.3" : "ad8f08d7,refs=79", + "org.glassfish.hk2.external:aopalliance-repackaged:3.1.1" : "74e0f4cc,refs=75", + "org.glassfish.hk2:hk2-api:3.1.1" : "74e0f4cc,refs=75", + "org.glassfish.hk2:hk2-locator:3.1.1" : "74e0f4cc,refs=75", + "org.glassfish.hk2:hk2-utils:3.1.1" : "74e0f4cc,refs=75", + "org.glassfish.hk2:osgi-resource-locator:1.0.3" : "74e0f4cc,refs=75", "org.glassfish.jaxb:jaxb-runtime:2.3.8" : "debe9836,refs=7", "org.glassfish.jaxb:txw2:2.3.8" : "debe9836,refs=7", - "org.glassfish.jersey.containers:jersey-container-jetty-http:2.39.1" : "ad8f08d7,refs=79", - "org.glassfish.jersey.core:jersey-client:3.1.9" : "ad8f08d7,refs=79", - "org.glassfish.jersey.core:jersey-common:3.1.9" : "ad8f08d7,refs=79", - "org.glassfish.jersey.core:jersey-server:3.1.9" : "ad8f08d7,refs=79", - "org.glassfish.jersey.ext:jersey-entity-filtering:3.1.9" : "ad8f08d7,refs=79", - "org.glassfish.jersey.inject:jersey-hk2:3.1.9" : "ad8f08d7,refs=79", - "org.glassfish.jersey.media:jersey-media-json-jackson:3.1.9" : "ad8f08d7,refs=79", - "org.hamcrest:hamcrest:3.0" : "06ca9183,refs=52", + "org.glassfish.jersey.containers:jersey-container-jetty-http:2.39.1" : "74e0f4cc,refs=75", + "org.glassfish.jersey.core:jersey-client:3.1.9" : "74e0f4cc,refs=75", + "org.glassfish.jersey.core:jersey-common:3.1.9" : "74e0f4cc,refs=75", + "org.glassfish.jersey.core:jersey-server:3.1.9" : "74e0f4cc,refs=75", + "org.glassfish.jersey.ext:jersey-entity-filtering:3.1.9" : "74e0f4cc,refs=75", + "org.glassfish.jersey.inject:jersey-hk2:3.1.9" : "74e0f4cc,refs=75", + "org.glassfish.jersey.media:jersey-media-json-jackson:3.1.9" : "74e0f4cc,refs=75", + "org.hamcrest:hamcrest:3.0" : "4cdf113e,refs=50", "org.hdrhistogram:HdrHistogram:2.1.12" : "1e12e466,refs=2", "org.hsqldb:hsqldb:2.7.2" : "970f2ee7,refs=1", "org.immutables:value-annotations:2.10.1" : "d3d191b2,refs=1", "org.itadaki:bzip2:0.9.1" : "50a667d1,refs=5", - "org.javassist:javassist:3.30.2-GA" : "ad8f08d7,refs=79", + "org.javassist:javassist:3.30.2-GA" : "74e0f4cc,refs=75", "org.jctools:jctools-core:4.0.5" : "52ada00b,refs=4", "org.jdom:jdom2:2.0.6.1" : "50a667d1,refs=5", "org.jetbrains.kotlin:kotlin-reflect:1.8.22" : "c77c5ec7,refs=1", @@ -415,31 +396,31 @@ "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10" : "b6a343e2,refs=5", "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10" : "b6a343e2,refs=5", "org.jetbrains:annotations:13.0" : "b6a343e2,refs=5", - "org.jspecify:jspecify:1.0.0" : "e5b524d7,refs=26", - "org.junit.jupiter:junit-jupiter-api:5.6.2" : "3c9a199e,refs=29", - "org.junit.platform:junit-platform-commons:1.6.2" : "3c9a199e,refs=29", - "org.junit:junit-bom:5.6.2" : "3c9a199e,refs=29", + "org.jspecify:jspecify:1.0.0" : "af677b6b,refs=25", + "org.junit.jupiter:junit-jupiter-api:5.6.2" : "27769e90,refs=28", + "org.junit.platform:junit-platform-commons:1.6.2" : "27769e90,refs=28", + "org.junit:junit-bom:5.6.2" : "27769e90,refs=28", "org.latencyutils:LatencyUtils:2.0.3" : "7df0e72e,refs=1", "org.locationtech.jts.io:jts-io-common:1.19.0" : "93acde90,refs=6", "org.locationtech.jts:jts-core:1.19.0" : "93acde90,refs=6", "org.locationtech.proj4j:proj4j:1.2.2" : "93acde90,refs=6", - "org.locationtech.spatial4j:spatial4j:0.8" : "ad8f08d7,refs=79", + "org.locationtech.spatial4j:spatial4j:0.8" : "74e0f4cc,refs=75", "org.lz4:lz4-java:1.8.0" : "f493e7bb,refs=7", - "org.mockito:mockito-core:5.12.0" : "5f62bd8e,refs=18", - "org.mockito:mockito-subclass:5.12.0" : "ef8aea8b,refs=7", - "org.objenesis:objenesis:3.3" : "9e97e18c,refs=9", + "org.mockito:mockito-core:5.12.0" : "b3899409,refs=16", + "org.mockito:mockito-subclass:5.12.0" : "ff425b57,refs=6", + "org.objenesis:objenesis:3.3" : "0d2a0036,refs=8", "org.opengis:geoapi:3.0.1" : "50a667d1,refs=5", "org.openjdk.jmh:jmh-core:1.37" : "c718e885,refs=5", "org.openjdk.jmh:jmh-generator-annprocess:1.37" : "2d06957b,refs=1", - "org.opentest4j:opentest4j:1.2.0" : "3c9a199e,refs=29", + "org.opentest4j:opentest4j:1.2.0" : "27769e90,refs=28", "org.osgi:org.osgi.resource:1.0.0" : "5fc760f2,refs=1", "org.osgi:org.osgi.service.serviceloader:1.0.0" : "5fc760f2,refs=1", "org.osgi:osgi.annotation:8.1.0" : "5fc760f2,refs=1", - "org.ow2.asm:asm:9.3" : "ddc123c8,refs=80", - "org.ow2.asm:asm-analysis:7.2" : "ebd3db47,refs=77", - "org.ow2.asm:asm-commons:7.2" : "ebd3db47,refs=77", - "org.ow2.asm:asm-tree:7.2" : "ebd3db47,refs=77", - "org.pcollections:pcollections:4.0.1" : "bddbe009,refs=29", + "org.ow2.asm:asm:9.3" : "2c52ed73,refs=76", + "org.ow2.asm:asm-analysis:7.2" : "23d07f3c,refs=73", + "org.ow2.asm:asm-commons:7.2" : "23d07f3c,refs=73", + "org.ow2.asm:asm-tree:7.2" : "23d07f3c,refs=73", + "org.pcollections:pcollections:4.0.1" : "42c391f9,refs=28", "org.quicktheories:quicktheories:0.26" : "52ada00b,refs=4", "org.reactivestreams:reactive-streams:1.0.4" : "87cc13ff,refs=5", "org.rocksdb:rocksdbjni:7.9.2" : "934e1fc5,refs=4", @@ -447,10 +428,10 @@ "org.scala-lang.modules:scala-java8-compat_2.13:1.0.2" : "4bf37e93,refs=3", "org.scala-lang:scala-library:2.13.15" : "4bf37e93,refs=3", "org.scala-lang:scala-reflect:2.13.12" : "4bf37e93,refs=3", - "org.semver4j:semver4j:5.3.0" : "b57e9bf6,refs=85", - "org.slf4j:jcl-over-slf4j:2.0.13" : "a6fb6a35,refs=86", - "org.slf4j:jul-to-slf4j:2.0.13" : "58171492,refs=26", - "org.slf4j:slf4j-api:2.0.13" : "5fb053e8,refs=132", + "org.semver4j:semver4j:5.3.0" : "069cef6b,refs=81", + "org.slf4j:jcl-over-slf4j:2.0.13" : "ff00b52a,refs=82", + "org.slf4j:jul-to-slf4j:2.0.13" : "c5a3813a,refs=25", + "org.slf4j:slf4j-api:2.0.13" : "a5151bfb,refs=126", "org.springframework.boot:spring-boot:2.7.13" : "1e12e466,refs=2", "org.springframework.boot:spring-boot-actuator:2.7.13" : "1e12e466,refs=2", "org.springframework.boot:spring-boot-actuator-autoconfigure:2.7.13" : "1e12e466,refs=2", @@ -475,7 +456,7 @@ "org.tallison:metadata-extractor:2.17.1.0" : "50a667d1,refs=5", "org.threeten:threetenbp:1.6.9" : "784a94ea,refs=5", "org.tukaani:xz:1.9" : "50a667d1,refs=5", - "org.xerial.snappy:snappy-java:1.1.10.5" : "99b82a6c,refs=82", + "org.xerial.snappy:snappy-java:1.1.10.5" : "45e54ea1,refs=78", "org.yaml:snakeyaml:1.30" : "1e12e466,refs=2", "software.amazon.awssdk:annotations:2.26.19" : "87cc13ff,refs=5", "software.amazon.awssdk:apache-client:2.26.19" : "87cc13ff,refs=5", @@ -509,7 +490,7 @@ "software.amazon.awssdk:utils:2.26.19" : "87cc13ff,refs=5", "software.amazon.eventstream:eventstream:1.0.1" : "87cc13ff,refs=5", "software.amazon.ion:ion-java:1.0.2" : "1e12e466,refs=2", - "ua.net.nlp:morfologik-ukrainian-search:4.9.1" : "727aea63,refs=7", + "ua.net.nlp:morfologik-ukrainian-search:4.9.1" : "e3ddf06b,refs=6", "xerces:xercesImpl:2.12.2" : "50a667d1,refs=5" } }, @@ -524,76 +505,90 @@ "projectPath" : ":solr:modules:opentelemetry" } ], - "062c26b4" : [ + "0606b379" : [ { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:api" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:server" + "projectPath" : ":solr:api" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:api" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:api" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - } - ], - "06ca9183" : [ + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" + }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:core" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testCompileClasspath", @@ -604,13 +599,25 @@ "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" + }, + { + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj" @@ -620,7 +627,7 @@ "projectPath" : ":solr:solrj" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj-streaming" }, { @@ -628,7 +635,7 @@ "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, { @@ -636,23 +643,27 @@ "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "compileClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, { @@ -660,7 +671,15 @@ "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, { @@ -668,7 +687,15 @@ "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, { @@ -676,177 +703,301 @@ "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testCompileClasspath", + "configuration" : "compileClasspath", "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "0769b123" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - } - ], - "08ef8dc6" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "libExt", + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" + } + ], + "062c26b4" : [ + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" + }, + { + "configuration" : "serverLib", "projectPath" : ":solr:server" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + } + ], + "069cef6b" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" @@ -859,14 +1010,26 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-streaming" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -879,10 +1042,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" - }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" @@ -967,22 +1126,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -1112,97 +1255,65 @@ "projectPath" : ":solr:modules:sql" } ], - "0a82b27c" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, + "07070cdb" : [ { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:core" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:sql" } ], - "0d28f997" : [ + "0769b123" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" } ], - "0e779887" : [ + "08efa395" : [ { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:api" }, { @@ -1210,7 +1321,7 @@ "projectPath" : ":solr:api" }, { - "configuration" : "compileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:benchmark" }, { @@ -1218,12 +1329,24 @@ "projectPath" : ":solr:benchmark" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:core" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" }, { "configuration" : "testCompileClasspath", @@ -1234,7 +1357,7 @@ "projectPath" : ":solr:core" }, { - "configuration" : "compileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:cross-dc-manager" }, { @@ -1249,32 +1372,52 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "compileClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:server" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" }, { - "configuration" : "serverLib", + "configuration" : "solrCore", "projectPath" : ":solr:server" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:solr-ref-guide" }, { @@ -1282,7 +1425,7 @@ "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:solrj" }, { @@ -1290,7 +1433,7 @@ "projectPath" : ":solr:solrj" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:solrj-streaming" }, { @@ -1298,7 +1441,7 @@ "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:solrj-zookeeper" }, { @@ -1306,7 +1449,7 @@ "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "compileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:test-framework" }, { @@ -1314,19 +1457,31 @@ "projectPath" : ":solr:test-framework" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:webapp" }, { - "configuration" : "serverLib", + "configuration" : "solrCore", "projectPath" : ":solr:webapp" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, { @@ -1334,7 +1489,19 @@ "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, { @@ -1342,7 +1509,19 @@ "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, { @@ -1350,7 +1529,19 @@ "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, { @@ -1358,20 +1549,44 @@ "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testCompileClasspath", @@ -1382,7 +1597,19 @@ "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, { @@ -1390,7 +1617,19 @@ "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, { @@ -1398,7 +1637,19 @@ "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, { @@ -1406,7 +1657,19 @@ "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, { @@ -1414,7 +1677,19 @@ "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, { @@ -1422,35 +1697,47 @@ "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "testCompileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "100652ac" : [ + "projectPath" : ":solr:modules:scripting" + }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:api" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:sql" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" + } + ], + "09fe814a" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -1483,10 +1770,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -1499,37 +1782,21 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "compileClasspath", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "libExt", + "projectPath" : ":solr:server" }, { "configuration" : "runtimeClasspath", @@ -1543,34 +1810,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -1583,6 +1830,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" @@ -1635,10 +1886,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -1651,18 +1898,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -1675,38 +1914,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -1723,10 +1934,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -1739,10 +1946,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -1807,10 +2010,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -1831,10 +2030,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -1847,34 +2042,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "1069c1cc" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" - }, + "0a82b27c" : [ { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "runtimeLibs", "projectPath" : ":solr:cross-dc-manager" }, { @@ -1882,270 +2061,202 @@ "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:server" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:opentelemetry" + } + ], + "0d28f997" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, + "projectPath" : ":solr:modules:opentelemetry" + } + ], + "0d2a0036" : [ { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:solrj" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:s3-repository" } ], - "1640bbba" : [ + "15c9dc66" : [ { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:api" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:api" }, { - "configuration" : "libExt", - "projectPath" : ":solr:server" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:core" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" - } - ], - "1643ad05" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - } - ], - "17e13daa" : [ - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "solrPlatformLibs", @@ -2175,6 +2286,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj" @@ -2183,6 +2302,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-streaming" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-streaming" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-streaming" @@ -2191,6 +2318,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -2339,30 +2474,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:hdfs" @@ -2556,173 +2667,247 @@ "projectPath" : ":solr:modules:sql" } ], - "1b72eeae" : [ + "1e12e466" : [ { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + } + ], + "20226b5e" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, { - "configuration" : "compileClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:server" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" + "configuration" : "serverLib", + "projectPath" : ":solr:server" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:solrj" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:test-framework" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "solrCore", - "projectPath" : ":solr:server" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, + "projectPath" : ":solr:modules:sql" + } + ], + "20f1e0e0" : [ { - "configuration" : "compileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "projectPath" : ":solr:modules:sql" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, + "projectPath" : ":solr:modules:sql" + } + ], + "216f493b" : [ { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:benchmark" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:core" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "libExt", + "projectPath" : ":solr:server" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" + }, + { + "configuration" : "solrCore", + "projectPath" : ":solr:server" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solr-ref-guide" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, + { + "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, { @@ -2730,12 +2915,12 @@ "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrCore", + "configuration" : "serverLib", "projectPath" : ":solr:webapp" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { "configuration" : "runtimeClasspath", @@ -2749,18 +2934,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -2773,18 +2950,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -2797,18 +2966,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -2821,18 +2982,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -2845,42 +2998,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -2893,18 +3014,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -2917,18 +3030,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:langid" @@ -2941,18 +3046,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -2965,18 +3062,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -2989,18 +3078,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -3013,18 +3094,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -3037,18 +3110,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -3061,26 +3126,12 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "1e12e466" : [ - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - } - ], - "1f5bde05" : [ + "23d07f3c" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -3093,10 +3144,26 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" @@ -3114,11 +3181,11 @@ "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "libExt", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" }, { - "configuration" : "runtimeClasspath", + "configuration" : "solrCore", "projectPath" : ":solr:server" }, { @@ -3138,24 +3205,24 @@ "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "compileClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "solrPlatformLibs", @@ -3165,6 +3232,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" @@ -3174,36 +3249,60 @@ "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:extraction" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "solrPlatformLibs", @@ -3213,6 +3312,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" @@ -3221,6 +3328,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" @@ -3229,6 +3344,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" @@ -3237,6 +3360,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" @@ -3245,6 +3376,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" @@ -3254,26 +3393,20 @@ "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:scripting" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "20f1e0e0" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "runtimeClasspath", @@ -3283,30 +3416,58 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:sql" }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "21136b15" : [ + "23e8a2eb" : [ + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:benchmark" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" + } + ], + "24396a00" : [ + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:server" }, { - "configuration" : "testCompileClasspath", + "configuration" : "serverLib", + "projectPath" : ":solr:server" + }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + } + ], + "24fbc768" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, { @@ -3349,6 +3510,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" @@ -3369,26 +3538,34 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-streaming" + "projectPath" : ":solr:solrj" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "projectPath" : ":solr:solrj" }, { "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -3453,10 +3630,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -3469,10 +3642,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -3493,22 +3662,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -3525,6 +3678,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -3537,6 +3694,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -3638,42 +3799,6 @@ "projectPath" : ":solr:modules:sql" } ], - "23e8a2eb" : [ - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" - } - ], - "24396a00" : [ - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:server" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" - } - ], "26b9da63" : [ { "configuration" : "runtimeClasspath", @@ -3688,7 +3813,7 @@ "projectPath" : ":solr:modules:hdfs" } ], - "27f62655" : [ + "27769e90" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -3701,18 +3826,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:core" @@ -3721,42 +3834,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "libExt", - "projectPath" : ":solr:server" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:server" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" @@ -3774,393 +3859,549 @@ "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeClasspath", + "configuration" : "compileClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" + } + ], + "2ba7bcab" : [ { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:benchmark" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:core" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:core" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:core" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:server" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:test-framework" + }, + { + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "280cfec8" : [ + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - } - ], - "2d06957b" : [ - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:benchmark" - } - ], - "322f4a3c" : [ - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:api" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:benchmark" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:core" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:server" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:webapp" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:clustering" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "compileClasspath", "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "annotationProcessor", + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "compileClasspath", "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "annotationProcessor", + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "compileClasspath", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "annotationProcessor", + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "compileClasspath", "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "annotationProcessor", + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "36393977" : [ + "2c52ed73" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -4173,10 +4414,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:core" @@ -4185,10 +4422,6 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:core" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" @@ -4229,10 +4462,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" @@ -4345,22 +4574,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -4373,10 +4586,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -4393,6 +4602,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -4494,29 +4707,25 @@ "projectPath" : ":solr:modules:sql" } ], - "3b210678" : [ + "2d06957b" : [ { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, + "configuration" : "annotationProcessor", + "projectPath" : ":solr:benchmark" + } + ], + "2dc1f356" : [ { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:api" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:api" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:api" }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - } - ], - "3c9a199e" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -4530,186 +4739,112 @@ "projectPath" : ":solr:benchmark" }, { - "configuration" : "testCompileClasspath", + "configuration" : "compileClasspath", "projectPath" : ":solr:core" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:core" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:core" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "3ff3bc39" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:solrj" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" + "projectPath" : ":solr:solrj" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:solrj" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:solrj" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:server" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "testRuntimeClasspath", @@ -4743,10 +4878,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -4759,10 +4890,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -4783,6 +4910,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -4795,6 +4926,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -4815,22 +4950,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -4859,6 +4978,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -4923,6 +5046,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -4943,6 +5070,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -4955,40 +5086,24 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "420fd813" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" - }, + "30598210" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" @@ -5013,10 +5128,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -5029,34 +5140,14 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -5070,60 +5161,20 @@ "projectPath" : ":solr:server" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "projectPath" : ":solr:solrj" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "compileClasspath", @@ -5145,10 +5196,6 @@ "configuration" : "solrCore", "projectPath" : ":solr:webapp" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -5161,18 +5208,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -5185,18 +5224,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -5209,18 +5240,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -5233,18 +5256,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -5257,42 +5272,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -5305,18 +5288,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -5329,18 +5304,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:langid" @@ -5353,18 +5320,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -5377,18 +5336,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -5401,18 +5352,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -5425,18 +5368,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -5449,18 +5384,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -5473,54 +5400,30 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "4985a322" : [ + "37fc260a" : [ { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" - } - ], - "4bf37e93" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:api" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:benchmark" }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - } - ], - "4ce82561" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:benchmark" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, { @@ -5547,10 +5450,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -5563,34 +5462,14 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -5608,32 +5487,24 @@ "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", @@ -5739,22 +5610,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -5783,10 +5638,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -5851,10 +5702,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -5875,10 +5722,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -5891,332 +5734,368 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "4f81d786" : [ - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" - } - ], - "50a667d1" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, + "3b210678" : [ { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:s3-repository" } ], - "515616b6" : [ + "3b2a799b" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:api" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:api" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:api" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:api" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" - } - ], - "52ada00b" : [ + "projectPath" : ":solr:benchmark" + }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:core" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - } - ], - "58171492" : [ + "projectPath" : ":solr:core" + }, { - "configuration" : "solrPlatformLibs", + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeLibs", "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "libExt", - "projectPath" : ":solr:server" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" - } - ], - "5967e690" : [ + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:server" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "5b11e899" : [ + "3ddaa92e" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -6325,6 +6204,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -6337,6 +6220,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -6357,10 +6244,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -6373,10 +6256,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -6397,22 +6276,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -6542,51 +6405,19 @@ "projectPath" : ":solr:modules:sql" } ], - "5b2db4f4" : [ + "42c391f9" : [ { "configuration" : "annotationProcessor", "projectPath" : ":solr:api" }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" - }, { "configuration" : "annotationProcessor", "projectPath" : ":solr:benchmark" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - }, { "configuration" : "annotationProcessor", "projectPath" : ":solr:core" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" - }, { "configuration" : "annotationProcessor", "projectPath" : ":solr:cross-dc-manager" @@ -6599,10 +6430,6 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -6612,216 +6439,262 @@ "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:server" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:server" + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:webapp" }, { - "configuration" : "solrCore", - "projectPath" : ":solr:server" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:solr-ref-guide" + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-streaming" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:webapp" + "projectPath" : ":solr:modules:sql" + } + ], + "45e54ea1" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" }, { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:core" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:core" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:core" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:test-framework" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:test-framework" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "compileClasspath", @@ -6847,10 +6720,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -6867,10 +6736,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:langid" @@ -6887,10 +6752,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -6907,10 +6768,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -6927,10 +6784,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -6947,10 +6800,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -6967,10 +6816,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -6988,328 +6833,194 @@ "projectPath" : ":solr:modules:sql" } ], - "5d98342f" : [ + "4685450c" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, { - "configuration" : "runtimeClasspath", + "configuration" : "compileClasspath", "projectPath" : ":solr:benchmark" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:benchmark" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:core" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "compileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:solrj" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "5e82f1c0" : [ + "projectPath" : ":solr:solrj-streaming" + }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:test-framework" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:test-framework" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:test-framework" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:server" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:server" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeClasspath", @@ -7331,6 +7042,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -7351,6 +7066,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -7371,30 +7090,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -7451,10 +7146,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" @@ -7471,10 +7162,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -7492,12 +7179,12 @@ "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "runtimeClasspath", @@ -7531,10 +7218,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -7551,367 +7234,143 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "5f4312f3" : [ + "4985a322" : [ { - "configuration" : "compileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" - }, + } + ], + "4bf37e93" : [ { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:cross-dc-manager" } ], - "5f62bd8e" : [ + "4cdf113e" : [ { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:api" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:api" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:core" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:solrj" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:solrj" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - } - ], - "5fb053e8" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:test-framework" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:test-framework" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "libExt", - "projectPath" : ":solr:server" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:server" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:server" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "testCompileClasspath", @@ -7921,22 +7380,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:extraction" @@ -7945,22 +7388,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -7969,46 +7396,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:hdfs" @@ -8017,22 +7404,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -8041,22 +7412,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:langid" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:langid" @@ -8065,22 +7420,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:ltr" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:ltr" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:ltr" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:ltr" @@ -8089,22 +7428,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -8114,199 +7437,221 @@ "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "compileClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:sql" + } + ], + "4f81d786" : [ + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + } + ], + "50a667d1" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" - }, + "projectPath" : ":solr:modules:extraction" + } + ], + "515616b6" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "5fc760f2" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:hdfs" } ], - "5fcc0587" : [ + "52a29270" : [ { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:api" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" - } - ], - "6351de37" : [ + "configuration" : "annotationProcessor", + "projectPath" : ":solr:core" + }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "libExt", + "configuration" : "annotationProcessor", "projectPath" : ":solr:server" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solr-ref-guide" + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj-streaming" + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj-zookeeper" + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "serverLib", + "configuration" : "annotationProcessor", "projectPath" : ":solr:webapp" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:langid" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:sql" } ], - "69bf1b73" : [ + "52ada00b" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:benchmark" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:benchmark" } ], - "6a8501ec" : [ + "54e28222" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -8339,10 +7684,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -8355,34 +7696,14 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -8399,14 +7720,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj" @@ -8415,18 +7728,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -8515,10 +7820,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -8531,48 +7832,24 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "runtimeLibs", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:hdfs" }, { @@ -8591,10 +7868,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -8652,187 +7925,51 @@ "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "6ac4140f" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "libExt", - "projectPath" : ":solr:server" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" - } - ], - "6fb73f3a" : [ { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:sql" } ], - "703dff64" : [ + "5752f9bd" : [ { "configuration" : "testCompileClasspath", "projectPath" : ":solr:api" @@ -8901,14 +8038,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" @@ -8921,6 +8050,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, + { + "configuration" : "libExt", + "projectPath" : ":solr:server" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" @@ -8953,14 +8086,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -8985,6 +8110,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" @@ -9109,30 +8238,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:hdfs" @@ -9326,37 +8431,49 @@ "projectPath" : ":solr:modules:sql" } ], - "727aea63" : [ + "5f4312f3" : [ { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:hdfs" + } + ], + "5fc760f2" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + } + ], + "5fcc0587" : [ + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:opentelemetry" } ], - "72c9c512" : [ + "641a14bf" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -9389,6 +8506,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -9401,10 +8522,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -9418,12 +8547,12 @@ "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "libExt", - "projectPath" : ":solr:server" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", @@ -9438,37 +8567,45 @@ "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj" }, { "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" - }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" @@ -9521,6 +8658,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -9533,10 +8674,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -9550,24 +8699,12 @@ "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", @@ -9597,6 +8734,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -9661,6 +8802,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -9681,6 +8826,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -9693,32 +8842,24 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "7413b098" : [ - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" - }, + "65fccf9d" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" @@ -9800,12 +8941,16 @@ "projectPath" : ":solr:server" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" }, { "configuration" : "testCompileClasspath", @@ -9816,41 +8961,25 @@ "projectPath" : ":solr:solrj" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" @@ -9859,10 +8988,6 @@ "configuration" : "solrCore", "projectPath" : ":solr:webapp" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -9875,18 +9000,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -9896,21 +9013,13 @@ "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "testCompileClasspath", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -9923,10 +9032,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -9955,10 +9060,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -9971,42 +9072,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -10019,18 +9088,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -10051,10 +9112,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:langid" @@ -10067,18 +9124,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -10091,18 +9140,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -10115,18 +9156,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -10147,10 +9180,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -10163,10 +9192,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -10196,235 +9221,147 @@ "projectPath" : ":solr:modules:sql" } ], - "7498dc3d" : [ + "681a38a2" : [ { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, { - "configuration" : "annotationProcessor", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:core" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:core" }, { - "configuration" : "runtimeClasspath", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "runtimeLibs", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" }, { - "configuration" : "annotationProcessor", + "configuration" : "serverLib", "projectPath" : ":solr:server" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "annotationProcessor", + "configuration" : "serverLib", "projectPath" : ":solr:webapp" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "annotationProcessor", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" - }, + } + ], + "69bf1b73" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "761c3c3c" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:langid" } ], - "76db8e26" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" - }, + "6cbe058e" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -10469,17 +9406,9 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", @@ -10501,26 +9430,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -10585,6 +9502,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -10597,6 +9518,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -10617,22 +9542,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -10762,51 +9671,7 @@ "projectPath" : ":solr:modules:sql" } ], - "778d978f" : [ - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - } - ], - "781655d3" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - } - ], - "784a94ea" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, + "6fb73f3a" : [ { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -10815,16 +9680,12 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" } ], - "78dd58c9" : [ + "74e0f4cc" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -10997,22 +9858,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -11105,389 +9950,239 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "7accccef" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" - } - ], - "7bb67147" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:server" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:sql" + } + ], + "778d978f" : [ + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:benchmark" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:benchmark" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:benchmark" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + } + ], + "78109566" : [ + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:api" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:core" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:server" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:webapp" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "runtimeLibs", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:sql" + } + ], + "781655d3" : [ { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:opentelemetry" + } + ], + "784a94ea" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" - }, + "projectPath" : ":solr:modules:gcs-repository" + } + ], + "7accccef" : [ { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:s3-repository" } ], "7df0e72e" : [ @@ -11496,15 +10191,27 @@ "projectPath" : ":solr:modules:s3-repository" } ], - "7f2dd9d5" : [ + "83e7fb0d" : [ + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" @@ -11529,6 +10236,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -11542,19 +10253,19 @@ "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "runtimeLibs", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:prometheus-exporter" }, { @@ -11566,20 +10277,20 @@ "projectPath" : ":solr:server" }, { - "configuration" : "solrCore", + "configuration" : "serverLib", "projectPath" : ":solr:server" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testCompileClasspath", @@ -11590,7 +10301,7 @@ "projectPath" : ":solr:solrj" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-streaming" }, { @@ -11598,21 +10309,33 @@ "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" @@ -11629,6 +10352,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -11642,7 +10369,11 @@ "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:clustering" }, { @@ -11661,6 +10392,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -11677,6 +10412,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -11693,33 +10432,13 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", @@ -11733,6 +10452,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -11773,6 +10496,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" @@ -11789,6 +10516,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -11805,6 +10536,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -11821,6 +10556,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -11837,6 +10576,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -11853,167 +10596,197 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "84afbb60" : [ + "87cc13ff" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" - }, + "projectPath" : ":solr:modules:s3-repository" + } + ], + "8ba2f0f7" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + } + ], + "8d0cef4c" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:sql" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" + } + ], + "90609489" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:benchmark" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:core" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:core" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:core" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:core" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:server" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrCore", - "projectPath" : ":solr:server" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "libExt", + "projectPath" : ":solr:server" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "projectPath" : ":solr:server" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", @@ -12043,10 +10816,6 @@ "configuration" : "solrCore", "projectPath" : ":solr:webapp" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -12059,18 +10828,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -12083,18 +10844,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -12107,10 +10860,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -12136,60 +10885,24 @@ "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", @@ -12203,18 +10916,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -12227,18 +10932,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:langid" @@ -12251,18 +10948,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -12275,18 +10964,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -12299,18 +10980,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -12323,18 +10996,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -12347,18 +11012,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -12372,55 +11029,169 @@ "projectPath" : ":solr:modules:sql" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" + } + ], + "90aa62e6" : [ + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:hdfs" } ], - "87cc13ff" : [ + "934e1fc5" : [ + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + } + ], + "93acde90" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" + }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:sql" + } + ], + "970f2ee7" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" } ], - "87cd582a" : [ + "98f5d547" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:core" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:test-framework" + } + ], + "9b129c8b" : [ + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "libExt", + "projectPath" : ":solr:server" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:server" }, { - "configuration" : "testCompileClasspath", + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + } + ], + "9bc8eb74" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, { @@ -12447,10 +11218,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -12463,10 +11230,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -12475,18 +11238,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "libExt", - "projectPath" : ":solr:server" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" @@ -12495,66 +11250,34 @@ "configuration" : "solrCore", "projectPath" : ":solr:server" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -12567,18 +11290,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -12591,18 +11306,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -12615,18 +11322,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -12639,18 +11338,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -12663,42 +11354,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -12711,18 +11370,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -12735,18 +11386,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:langid" @@ -12759,18 +11402,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -12783,18 +11418,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -12807,18 +11434,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -12839,10 +11458,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -12855,18 +11470,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -12880,15 +11487,45 @@ "projectPath" : ":solr:modules:sql" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" + } + ], + "9bcc8206" : [ + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" } ], - "8b517977" : [ + "9f8df2f2" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -12957,10 +11594,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" @@ -13033,6 +11666,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -13045,6 +11682,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -13065,22 +11706,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -13175,190 +11800,264 @@ }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" + } + ], + "a004847a" : [ + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "8ba2f0f7" : [ + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "compileClasspath", "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" - } - ], - "8d0cef4c" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "90aa62e6" : [ + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" - } - ], - "934e1fc5" : [ + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:ltr" + }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - } - ], - "93acde90" : [ + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "runtimeLibs", + "configuration" : "compileClasspath", "projectPath" : ":solr:modules:sql" }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" } ], - "970f2ee7" : [ + "a27cc341" : [ { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" - } - ], - "99b82a6c" : [ + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:core" @@ -13375,6 +12074,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -13387,14 +12090,34 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -13407,18 +12130,58 @@ "configuration" : "solrCore", "projectPath" : ":solr:server" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-streaming" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-streaming" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-streaming" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -13443,6 +12206,10 @@ "configuration" : "solrCore", "projectPath" : ":solr:webapp" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -13455,10 +12222,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -13471,10 +12246,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -13487,10 +12270,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -13503,10 +12294,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -13520,24 +12319,12 @@ "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "compileClasspath", @@ -13563,6 +12350,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -13575,10 +12366,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:langid" @@ -13591,10 +12390,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -13607,10 +12414,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -13623,10 +12438,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -13639,10 +12462,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -13655,10 +12486,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -13671,12 +12510,68 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "9bcc8206" : [ + "a5151bfb" : [ + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:core" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -13685,172 +12580,232 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" - } - ], - "9e97e18c" : [ + "projectPath" : ":solr:prometheus-exporter" + }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "configuration" : "libExt", + "projectPath" : ":solr:server" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "serverLib", + "projectPath" : ":solr:server" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "solrCore", + "projectPath" : ":solr:server" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - } - ], - "a05ffa28" : [ + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-streaming" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-streaming" + }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:solrj-streaming" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:solrj-zookeeper" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:solrj-zookeeper" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:test-framework" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:test-framework" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:test-framework" + }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, + { + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "compileClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, { @@ -13865,6 +12820,10 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:gcs-repository" }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -13875,134 +12834,232 @@ }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "compileClasspath", + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:hdfs" }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:hdfs" + }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "testCompileClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "a5b348ef" : [ + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:sql" } ], - "a6a1e3c5" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, + "a7f96198" : [ { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:gcs-repository" } ], - "a6fb6a35" : [ + "a8078111" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -14015,6 +13072,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:core" @@ -14023,6 +13084,10 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:core" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" @@ -14043,6 +13108,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -14056,12 +13125,12 @@ "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "libExt", - "projectPath" : ":solr:server" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", @@ -14075,41 +13144,33 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "solrCore", @@ -14163,10 +13224,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -14176,11 +13233,7 @@ "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "testCompileClasspath", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, { @@ -14204,20 +13257,8 @@ "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "runtimeClasspath", @@ -14231,6 +13272,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -14348,31 +13393,7 @@ "projectPath" : ":solr:modules:sql" } ], - "a7f96198" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, + "aa7a59c6" : [ { "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -14382,7 +13403,7 @@ "projectPath" : ":solr:modules:gcs-repository" } ], - "a9dcee72" : [ + "af677b6b" : [ { "configuration" : "annotationProcessor", "projectPath" : ":solr:api" @@ -14451,18 +13472,6 @@ "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:hdfs" @@ -14496,17 +13505,81 @@ "projectPath" : ":solr:modules:sql" } ], - "aa7a59c6" : [ + "b3899409" : [ { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:core" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" } ], - "acc31ef6" : [ + "b4164bb3" : [ + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -14516,31 +13589,179 @@ "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "libExt", + "projectPath" : ":solr:server" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:server" + }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + } + ], + "b6a343e2" : [ + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + } + ], + "b6f115a3" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:langid" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:langid" } ], - "ad8f08d7" : [ + "b9b57d73" : [ + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" @@ -14565,6 +13786,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -14578,661 +13803,655 @@ "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "compileClasspath", "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:server" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:server" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "serverLib", + "projectPath" : ":solr:server" }, { "configuration" : "solrCore", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:server" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:solrj" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "b3b7541b" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "solrCore", - "projectPath" : ":solr:server" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:sql" + } + ], + "c1e4e901" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, + "projectPath" : ":solr:modules:opentelemetry" + } + ], + "c5a3813a" : [ { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "libExt", + "projectPath" : ":solr:server" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:server" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "runtimeLibs", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + } + ], + "c6acb8a9" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:cross-dc" } ], - "b4755bf3" : [ + "c718e885" : [ { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:benchmark" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:benchmark" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:benchmark" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" - }, + "projectPath" : ":solr:benchmark" + } + ], + "c77c5ec7" : [ { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:jwt-auth" } ], - "b57e9bf6" : [ + "cb6a0942" : [ { - "configuration" : "compileClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:api" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:benchmark" }, { @@ -15240,16 +14459,16 @@ "projectPath" : ":solr:benchmark" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:core" }, { - "configuration" : "runtimeLibs", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", @@ -15264,19 +14483,15 @@ "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:prometheus-exporter" }, { @@ -15288,15 +14503,19 @@ "projectPath" : ":solr:server" }, { - "configuration" : "solrCore", + "configuration" : "serverLib", "projectPath" : ":solr:server" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj" }, { @@ -15304,7 +14523,7 @@ "projectPath" : ":solr:solrj" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-streaming" }, { @@ -15312,7 +14531,7 @@ "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-zookeeper" }, { @@ -15320,27 +14539,27 @@ "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeClasspath", + "configuration" : "compileClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:analysis-extras" }, { @@ -15348,196 +14567,214 @@ "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "runtimeLibs", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:modules:sql" + } + ], + "cbe4f021" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:benchmark" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:core" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeClasspath", @@ -15548,7 +14785,7 @@ "projectPath" : ":solr:modules:sql" }, { - "configuration" : "solrPlatformLibs", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:sql" }, { @@ -15556,14 +14793,26 @@ "projectPath" : ":solr:modules:sql" } ], - "b6a343e2" : [ + "cef2dbfe" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", @@ -15578,61 +14827,127 @@ "projectPath" : ":solr:modules:opentelemetry" } ], - "b6f115a3" : [ + "d3d191b2" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:sql" + } + ], + "d697c7e6" : [ + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "libExt", + "projectPath" : ":solr:server" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:server" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" }, { - "configuration" : "testCompileClasspath", + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:clustering" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:cross-dc" + }, + { + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" + }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "runtimeClasspath", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" } ], - "bc8e8214" : [ + "d934c4b5" : [ + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:api" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:core" + }, { "configuration" : "compileClasspath", "projectPath" : ":solr:core" @@ -15653,6 +14968,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:cross-dc-manager" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -15665,10 +14988,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -15681,12 +15012,16 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "libExt", + "configuration" : "annotationProcessor", "projectPath" : ":solr:server" }, { @@ -15698,515 +15033,455 @@ "projectPath" : ":solr:server" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:solr-ref-guide" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:test-framework" + "projectPath" : ":solr:solrj" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" - }, - { - "configuration" : "serverLib", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:solrj" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:clustering" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:solrj-zookeeper" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:test-framework" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:test-framework" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:test-framework" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:webapp" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "solrCore", + "projectPath" : ":solr:webapp" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:ltr" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "bddbe009" : [ - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:api" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:benchmark" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:cross-dc-manager" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:server" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solr-ref-guide" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-streaming" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-zookeeper" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:test-framework" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:webapp" + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:clustering" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:cross-dc" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:extraction" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:gcs-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:langid" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:langid" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "annotationProcessor", + "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:opentelemetry" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:ltr" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:sql" - } - ], - "bf04d2b8" : [ + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - } - ], - "c1e4e901" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "runtimeClasspath", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "runtimeLibs", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" - } - ], - "c6acb8a9" : [ + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:modules:scripting" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" - } - ], - "c718e885" : [ + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:sql" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" - } - ], - "c77c5ec7" : [ + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:sql" } ], - "cef2dbfe" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, + "dd724fae" : [ { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -16215,10 +15490,6 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -16236,71 +15507,27 @@ "projectPath" : ":solr:modules:opentelemetry" } ], - "d008b72a" : [ - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" - }, + "ddb9bbf9" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:core" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -16309,54 +15536,30 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:server" - }, - { - "configuration" : "serverLib", + "configuration" : "libExt", "projectPath" : ":solr:server" }, { - "configuration" : "solrCore", + "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solr-ref-guide" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -16381,298 +15584,142 @@ "configuration" : "serverLib", "projectPath" : ":solr:webapp" }, - { - "configuration" : "solrCore", - "projectPath" : ":solr:webapp" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:jwt-auth" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:jwt-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:ltr" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "runtimeClasspath", + "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, { - "configuration" : "runtimeLibs", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:sql" + } + ], + "debe9836" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:extraction" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:s3-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "d3d191b2" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:modules:s3-repository" } ], - "dc28f153" : [ + "e0da7b48" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -16861,22 +15908,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -17006,45 +16037,79 @@ "projectPath" : ":solr:modules:sql" } ], - "dd724fae" : [ + "e2f3f42e" : [ { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + } + ], + "e3ddf06b" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:core" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:hdfs" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" } ], - "ddc123c8" : [ + "e79faede" : [ + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:api" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:benchmark" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:core" @@ -17053,10 +16118,18 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:core" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -17069,6 +16142,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -17077,6 +16154,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -17085,34 +16166,66 @@ "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:server" + }, { "configuration" : "solrCore", "projectPath" : ":solr:server" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-streaming" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" @@ -17129,6 +16242,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -17145,6 +16262,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -17162,12 +16283,12 @@ "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:cross-dc" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeClasspath", @@ -17202,24 +16323,12 @@ "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", @@ -17233,6 +16342,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:hdfs" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -17269,6 +16382,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" @@ -17285,6 +16402,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -17301,6 +16422,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -17317,6 +16442,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -17333,6 +16462,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -17349,48 +16482,34 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "debe9836" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" - }, + "e7a0ff3d" : [ { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:api" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:api" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "configuration" : "compileClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - } - ], - "e19ba4dc" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" }, { - "configuration" : "runtimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:benchmark" }, { @@ -17417,6 +16536,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:cross-dc-manager" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -17430,20 +16553,12 @@ "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", @@ -17465,18 +16580,34 @@ "configuration" : "solrCore", "projectPath" : ":solr:server" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solr-ref-guide" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-streaming" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:solrj-zookeeper" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -17501,6 +16632,10 @@ "configuration" : "solrCore", "projectPath" : ":solr:webapp" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -17513,10 +16648,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:analysis-extras" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:clustering" @@ -17529,10 +16672,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:clustering" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -17545,10 +16696,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:cross-dc" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -17561,10 +16720,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:extraction" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:gcs-repository" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -17578,24 +16745,12 @@ "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", + "configuration" : "testCompileClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "compileClasspath", @@ -17621,6 +16776,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -17633,10 +16792,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:langid" @@ -17649,10 +16816,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:ltr" @@ -17665,10 +16840,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:ltr" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -17681,10 +16864,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -17697,10 +16888,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:scripting" @@ -17713,10 +16912,18 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:sql" @@ -17729,30 +16936,34 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:sql" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:sql" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } ], - "e2f3f42e" : [ + "e9990913" : [ { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" }, { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "configuration" : "compileClasspath", + "projectPath" : ":solr:solrj" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:jwt-auth" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:jwt-auth" } ], - "e5b524d7" : [ + "ecd95ebb" : [ { "configuration" : "annotationProcessor", "projectPath" : ":solr:api" @@ -17770,188 +16981,186 @@ "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:server" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solr-ref-guide" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-streaming" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-zookeeper" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:test-framework" + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:webapp" + "configuration" : "runtimeLibs", + "projectPath" : ":solr:cross-dc-manager" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:analysis-extras" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:clustering" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:cross-dc" + "projectPath" : ":solr:server" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:solr-ref-guide" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:gcs-repository" + "projectPath" : ":solr:solrj" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hadoop-auth" + "projectPath" : ":solr:solrj-streaming" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj-streaming" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:jwt-auth" + "projectPath" : ":solr:solrj-zookeeper" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:test-framework" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:ltr" + "projectPath" : ":solr:webapp" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:sql" - } - ], - "e6d93f27" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:extraction" + "projectPath" : ":solr:modules:gcs-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:hdfs" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:jwt-auth" }, { - "configuration" : "compileClasspath", + "configuration" : "annotationProcessor", "projectPath" : ":solr:modules:langid" }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:opentelemetry" + }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:opentelemetry" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:langid" + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:langid" + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:s3-repository" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" - } - ], - "e80f7a3a" : [ + "configuration" : "annotationProcessor", + "projectPath" : ":solr:modules:scripting" + }, { "configuration" : "annotationProcessor", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:sql" }, { "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" + } + ], + "ee381477" : [ + { + "configuration" : "testCompileClasspath", "projectPath" : ":solr:api" }, { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:benchmark" + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" }, { "configuration" : "compileClasspath", @@ -17969,10 +17178,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:core" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:core" @@ -17993,10 +17198,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -18021,10 +17222,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -18045,10 +17242,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:server" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" @@ -18057,10 +17250,6 @@ "configuration" : "solrCore", "projectPath" : ":solr:server" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solr-ref-guide" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solr-ref-guide" @@ -18069,10 +17258,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj" @@ -18081,10 +17266,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj-streaming" @@ -18093,10 +17274,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -18113,10 +17290,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:test-framework" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:test-framework" @@ -18133,18 +17306,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:webapp" - }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:analysis-extras" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:analysis-extras" @@ -18169,10 +17334,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:analysis-extras" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:clustering" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:clustering" @@ -18197,10 +17358,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -18225,10 +17382,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:extraction" @@ -18253,10 +17406,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -18281,38 +17430,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:hdfs" @@ -18337,10 +17454,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -18365,10 +17478,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:langid" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:langid" @@ -18393,10 +17502,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:langid" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:ltr" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:ltr" @@ -18421,10 +17526,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:ltr" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:opentelemetry" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:opentelemetry" @@ -18449,10 +17550,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -18477,10 +17574,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:scripting" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:scripting" @@ -18505,10 +17598,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:scripting" }, - { - "configuration" : "annotationProcessor", - "projectPath" : ":solr:modules:sql" - }, { "configuration" : "compileClasspath", "projectPath" : ":solr:modules:sql" @@ -18534,47 +17623,7 @@ "projectPath" : ":solr:modules:sql" } ], - "e972cbed" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hdfs" - } - ], - "e9990913" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" - } - ], - "ebd3db47" : [ + "f0410687" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -18587,6 +17636,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:benchmark" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:core" @@ -18595,6 +17648,10 @@ "configuration" : "runtimeLibs", "projectPath" : ":solr:core" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" @@ -18615,6 +17672,14 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:prometheus-exporter" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:prometheus-exporter" + }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" @@ -18623,6 +17688,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, + { + "configuration" : "libExt", + "projectPath" : ":solr:server" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:server" @@ -18647,14 +17716,26 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:test-framework" + }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:test-framework" + }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, + { + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" + }, { "configuration" : "solrCore", "projectPath" : ":solr:webapp" @@ -18739,22 +17820,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -18884,99 +17949,7 @@ "projectPath" : ":solr:modules:sql" } ], - "ef8aea8b" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:core" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:analysis-extras" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:ltr" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" - } - ], - "f493e7bb" : [ - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:cross-dc" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:cross-dc" - } - ], - "f5acb352" : [ - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:clustering" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:clustering" - } - ], - "f7508386" : [ - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - } - ], - "f83d8628" : [ + "f0d49322" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -19009,10 +17982,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:core" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:cross-dc-manager" @@ -19025,34 +17994,14 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:cross-dc-manager" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "solrPlatformLibs", "projectPath" : ":solr:prometheus-exporter" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -19069,14 +18018,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testCompileClasspath", "projectPath" : ":solr:solrj" @@ -19085,18 +18026,10 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:solrj-zookeeper" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" @@ -19161,10 +18094,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -19177,10 +18106,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:extraction" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" @@ -19201,22 +18126,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -19245,10 +18154,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -19287,82 +18192,148 @@ }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:opentelemetry" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:scripting" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "solrPlatformLibs", + "projectPath" : ":solr:modules:sql" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" + } + ], + "f493e7bb" : [ + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:opentelemetry" + "projectPath" : ":solr:cross-dc-manager" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:s3-repository" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:cross-dc" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:s3-repository" + "projectPath" : ":solr:modules:cross-dc" + } + ], + "f5acb352" : [ + { + "configuration" : "compileClasspath", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:scripting" + "projectPath" : ":solr:modules:clustering" }, { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:scripting" + "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:clustering" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:scripting" - }, + "projectPath" : ":solr:modules:clustering" + } + ], + "fa7556ff" : [ { "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:sql" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:prometheus-exporter" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:sql" + "projectPath" : ":solr:prometheus-exporter" } ], - "f9ff6c21" : [ + "fbca8d16" : [ { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:api" @@ -19555,22 +18526,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -19700,63 +18655,99 @@ "projectPath" : ":solr:modules:sql" } ], - "fa7556ff" : [ + "fbf7fa7b" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:core" + }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:prometheus-exporter" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" - } - ], - "fed35e7f" : [ - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:api" + "projectPath" : ":solr:modules:analysis-extras" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "runtimeLibs", + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testCompileClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:extraction" }, { "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:benchmark" + "projectPath" : ":solr:modules:extraction" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:hdfs" }, { "configuration" : "compileClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "runtimeClasspath", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "runtimeLibs", - "projectPath" : ":solr:core" + "projectPath" : ":solr:modules:langid" }, { "configuration" : "testCompileClasspath", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:langid" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:sql" + } + ], + "ff00b52a" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:api" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:benchmark" + }, + { + "configuration" : "runtimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "runtimeLibs", "projectPath" : ":solr:core" }, { @@ -19779,10 +18770,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:cross-dc-manager" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:prometheus-exporter" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:prometheus-exporter" @@ -19796,12 +18783,12 @@ "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:prometheus-exporter" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:prometheus-exporter" + "configuration" : "libExt", + "projectPath" : ":solr:server" }, { "configuration" : "runtimeClasspath", @@ -19815,34 +18802,18 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solr-ref-guide" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:solrj-streaming" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:solrj-streaming" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-streaming" @@ -19855,21 +18826,17 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:solrj-zookeeper" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:test-framework" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "testCompileClasspath", + "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:test-framework" }, { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:test-framework" + "configuration" : "serverLib", + "projectPath" : ":solr:webapp" }, { "configuration" : "solrCore", @@ -19907,10 +18874,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:clustering" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -19923,10 +18886,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:cross-dc" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:cross-dc" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:cross-dc" @@ -19955,10 +18914,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:extraction" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:gcs-repository" @@ -19971,38 +18926,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:gcs-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:gcs-repository" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "runtimeLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "solrPlatformLibs", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, - { - "configuration" : "testRuntimeClasspath", - "projectPath" : ":solr:modules:hadoop-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:hdfs" @@ -20015,18 +18942,10 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:hdfs" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:hdfs" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -20039,10 +18958,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:jwt-auth" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:jwt-auth" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:jwt-auth" @@ -20095,10 +19010,6 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:opentelemetry" }, - { - "configuration" : "compileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "runtimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -20111,10 +19022,6 @@ "configuration" : "solrPlatformLibs", "projectPath" : ":solr:modules:s3-repository" }, - { - "configuration" : "testCompileClasspath", - "projectPath" : ":solr:modules:s3-repository" - }, { "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:s3-repository" @@ -20151,6 +19058,32 @@ "configuration" : "testRuntimeClasspath", "projectPath" : ":solr:modules:sql" } + ], + "ff425b57" : [ + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:core" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:solrj" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:analysis-extras" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:jwt-auth" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:ltr" + }, + { + "configuration" : "testRuntimeClasspath", + "projectPath" : ":solr:modules:s3-repository" + } ] } } \ No newline at end of file From 70754d86bbd017303c54bc537e1fc9dbcc7ef7aa Mon Sep 17 00:00:00 2001 From: Christos Malliaridis Date: Sat, 16 Nov 2024 19:40:43 +0100 Subject: [PATCH 21/36] Remove unused dependencies from catalogs --- gradle/libs.versions.toml | 7 ------- gradle/validation/dependencies.gradle | 3 --- 2 files changed, 10 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5bfb64e36d8..9f2e4d5d57d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -38,7 +38,6 @@ apache-httpcomponents-httpclient = "4.5.14" apache-httpcomponents-httpcore = "4.4.16" apache-httpcomponents-httpmime = "4.5.14" apache-kafka = "3.7.1" -apache-kerby = "2.0.3" apache-log4j = "2.21.0" apache-lucene = "9.11.1" apache-opennlp = "1.9.4" @@ -228,14 +227,10 @@ apache-curator-client = { module = "org.apache.curator:curator-client", version. apache-curator-framework = { module = "org.apache.curator:curator-framework", version.ref = "apache-curator" } apache-curator-recipes = { module = "org.apache.curator:curator-recipes", version.ref = "apache-curator" } apache-curator-test = { module = "org.apache.curator:curator-test", version.ref = "apache-curator" } -apache-hadoop-annotations = { module = "org.apache.hadoop:hadoop-annotations", version.ref = "apache-hadoop" } -apache-hadoop-auth = { module = "org.apache.hadoop:hadoop-auth", version.ref = "apache-hadoop" } apache-hadoop-client-api = { module = "org.apache.hadoop:hadoop-client-api", version.ref = "apache-hadoop" } apache-hadoop-client-minicluster = { module = "org.apache.hadoop:hadoop-client-minicluster", version.ref = "apache-hadoop" } apache-hadoop-client-runtime = { module = "org.apache.hadoop:hadoop-client-runtime", version.ref = "apache-hadoop" } -apache-hadoop-common = { module = "org.apache.hadoop:hadoop-common", version.ref = "apache-hadoop" } apache-hadoop-hdfs = { module = "org.apache.hadoop:hadoop-hdfs", version.ref = "apache-hadoop" } -apache-hadoop-minikdc = { module = "org.apache.hadoop:hadoop-minikdc", version.ref = "apache-hadoop" } apache-hadoop-thirdparty-shadedguava = { module = "org.apache.hadoop.thirdparty:hadoop-shaded-guava", version.ref = "apache-hadoop-thirdparty" } apache-httpcomponents-httpclient = { module = "org.apache.httpcomponents:httpclient", version.ref = "apache-httpcomponents-httpclient" } apache-httpcomponents-httpcore = { module = "org.apache.httpcomponents:httpcore", version.ref = "apache-httpcomponents-httpcore" } @@ -244,8 +239,6 @@ apache-kafka-clients = { module = "org.apache.kafka:kafka-clients", version.ref apache-kafka-kafka213 = { module = "org.apache.kafka:kafka_2.13", version.ref = "apache-kafka" } apache-kafka-server-common = { module = "org.apache.kafka:kafka-server-common", version.ref = "apache-kafka" } apache-kafka-streams = { module = "org.apache.kafka:kafka-streams", version.ref = "apache-kafka" } -apache-kerby-core = { module = "org.apache.kerby:kerb-core", version.ref = "apache-kerby" } -apache-kerby-util = { module = "org.apache.kerby:kerb-util", version.ref = "apache-kerby" } apache-log4j-api = { module = "org.apache.logging.log4j:log4j-api", version.ref = "apache-log4j" } apache-log4j-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "apache-log4j" } apache-log4j-jul = { module = "org.apache.logging.log4j:log4j-jul", version.ref = "apache-log4j" } diff --git a/gradle/validation/dependencies.gradle b/gradle/validation/dependencies.gradle index f83a7d825c6..cfb78ee15a2 100644 --- a/gradle/validation/dependencies.gradle +++ b/gradle/validation/dependencies.gradle @@ -179,9 +179,6 @@ allprojects { handler.add(conf.name, libs.apache.httpcomponents.httpmime, { because 'version alignment for consistency across project' }) - handler.add(conf.name, libs.apache.kerby.core, { - because 'version alignment for consistency across project' - }) handler.add(conf.name, libs.apache.zookeeper.zookeeper, { because 'version alignment for consistency across project' }) From d8b3d00d0ff74aa3f2b116045fbcb7c6f54db4e9 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Fri, 22 Nov 2024 08:00:35 -0500 Subject: [PATCH 22/36] Strip out kerberous support in Auth tool. Leaving overall structure as we want to add in JWT or other auth options into Solr that are partially supported but not fully in to replace Kerberos. Maybe a case of YAGNI? --- solr/bin/solr | 7 +- solr/bin/solr.cmd | 12 +- .../java/org/apache/solr/cli/AuthTool.java | 173 +----------------- 3 files changed, 12 insertions(+), 180 deletions(-) diff --git a/solr/bin/solr b/solr/bin/solr index f51011444e1..0c0dc007e48 100755 --- a/solr/bin/solr +++ b/solr/bin/solr @@ -318,13 +318,13 @@ fi if [ -z "${SOLR_AUTH_TYPE:-}" ] && [ -n "${SOLR_AUTHENTICATION_OPTS:-}" ]; then echo "WARNING: SOLR_AUTHENTICATION_OPTS environment variable configured without associated SOLR_AUTH_TYPE variable" echo " Please configure SOLR_AUTH_TYPE environment variable with the authentication type to be used." - echo " Currently supported authentication types are [kerberos, basic]" + echo " Currently supported authentication types are [basic]" fi if [ -n "${SOLR_AUTH_TYPE:-}" ] && [ -n "${SOLR_AUTHENTICATION_CLIENT_BUILDER:-}" ]; then echo "WARNING: SOLR_AUTHENTICATION_CLIENT_BUILDER and SOLR_AUTH_TYPE environment variables are configured together." echo " Use SOLR_AUTH_TYPE environment variable to configure authentication type to be used. " - echo " Currently supported authentication types are [kerberos, basic]" + echo " Currently supported authentication types are [basic]" echo " The value of SOLR_AUTHENTICATION_CLIENT_BUILDER environment variable will be ignored" fi @@ -333,9 +333,6 @@ if [ -n "${SOLR_AUTH_TYPE:-}" ]; then basic) SOLR_AUTHENTICATION_CLIENT_BUILDER="org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory" ;; - kerberos) - SOLR_AUTHENTICATION_CLIENT_BUILDER="org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder" - ;; *) echo "ERROR: Value specified for SOLR_AUTH_TYPE environment variable is invalid." exit 1 diff --git a/solr/bin/solr.cmd b/solr/bin/solr.cmd index 9f875926517..7dbd249116c 100755 --- a/solr/bin/solr.cmd +++ b/solr/bin/solr.cmd @@ -203,7 +203,7 @@ IF NOT DEFINED SOLR_AUTH_TYPE ( IF DEFINED SOLR_AUTHENTICATION_OPTS ( echo WARNING: SOLR_AUTHENTICATION_OPTS variable configured without associated SOLR_AUTH_TYPE variable echo Please configure SOLR_AUTH_TYPE variable with the authentication type to be used. - echo Currently supported authentication types are [kerberos, basic] + echo Currently supported authentication types are [basic] ) ) @@ -211,7 +211,7 @@ IF DEFINED SOLR_AUTH_TYPE ( IF DEFINED SOLR_AUTHENTICATION_CLIENT_BUILDER ( echo WARNING: SOLR_AUTHENTICATION_CLIENT_BUILDER and SOLR_AUTH_TYPE variables are configured together echo Use SOLR_AUTH_TYPE variable to configure authentication type to be used - echo Currently supported authentication types are [kerberos, basic] + echo Currently supported authentication types are [basic] echo The value of SOLR_AUTHENTICATION_CLIENT_BUILDER configuration variable will be ignored ) ) @@ -220,12 +220,8 @@ IF DEFINED SOLR_AUTH_TYPE ( IF /I "%SOLR_AUTH_TYPE%" == "basic" ( set SOLR_AUTHENTICATION_CLIENT_BUILDER="org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory" ) ELSE ( - IF /I "%SOLR_AUTH_TYPE%" == "kerberos" ( - set SOLR_AUTHENTICATION_CLIENT_BUILDER="org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory" - ) ELSE ( - echo ERROR: Value specified for SOLR_AUTH_TYPE configuration variable is invalid. - goto err - ) + echo ERROR: Value specified for SOLR_AUTH_TYPE configuration variable is invalid. + goto err ) ) diff --git a/solr/core/src/java/org/apache/solr/cli/AuthTool.java b/solr/core/src/java/org/apache/solr/cli/AuthTool.java index 45b609a2943..e0d51cf05f8 100644 --- a/solr/core/src/java/org/apache/solr/cli/AuthTool.java +++ b/solr/core/src/java/org/apache/solr/cli/AuthTool.java @@ -30,7 +30,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Arrays; -import java.util.Base64; import java.util.List; import java.util.Locale; import java.util.stream.Collectors; @@ -39,7 +38,6 @@ import org.apache.commons.cli.Options; import org.apache.lucene.util.Constants; import org.apache.solr.common.cloud.SolrZkClient; -import org.apache.solr.common.util.StrUtils; import org.apache.solr.core.SolrCore; import org.apache.solr.security.Sha256AuthenticationProvider; import org.apache.zookeeper.KeeperException; @@ -52,7 +50,7 @@ public class AuthTool extends ToolBase { .longOpt("type") .hasArg() .desc( - "The authentication mechanism to enable (basicAuth or kerberos). Defaults to 'basicAuth'.") + "The authentication mechanism to enable (currently only basicAuth). Defaults to 'basicAuth'.") .build(); private static final Option PROMPT_OPTION = @@ -64,14 +62,6 @@ public class AuthTool extends ToolBase { "Prompts the user to provide the credentials. Use either --credentials or --prompt, not both.") .build(); - private static final Option CONFIG_OPTION = - Option.builder() - .longOpt("config") - .hasArgs() - .desc( - "Configuration parameters (Solr startup parameters). Required for Kerberos authentication.") - .build(); - private static final Option BLOCK_UNKNOWN_OPTION = Option.builder() .longOpt("block-unknown") @@ -152,7 +142,6 @@ public Options getOptions() { return super.getOptions() .addOption(TYPE_OPTION) .addOption(PROMPT_OPTION) - .addOption(CONFIG_OPTION) .addOption(BLOCK_UNKNOWN_OPTION) .addOption(SOLR_INCLUDE_FILE_OPTION) .addOption(UPDATE_INCLUDE_FILE_OPTION) @@ -176,118 +165,6 @@ private void ensureArgumentIsValidBooleanIfPresent(CommandLine cli, Option optio } } - private void handleKerberos(CommandLine cli) throws Exception { - String cmd = cli.getArgs()[0]; - boolean updateIncludeFileOnly = - Boolean.parseBoolean(cli.getOptionValue(UPDATE_INCLUDE_FILE_OPTION, "false")); - String securityJson = - "{" - + "\n \"authentication\":{" - + "\n \"class\":\"solr.KerberosPlugin\"" - + "\n }" - + "\n}"; - - switch (cmd) { - case "enable": - String zkHost = null; - boolean zkInaccessible = false; - - if (!updateIncludeFileOnly) { - try { - zkHost = CLIUtils.getZkHost(cli); - } catch (Exception ex) { - CLIO.out( - "Unable to access ZooKeeper. Please add the following security.json to ZooKeeper (in case of SolrCloud):\n" - + securityJson - + "Dsolr.httpclient.config=[basicAuthConfFile]\n"); - zkInaccessible = true; - } - if (zkHost == null) { - if (!zkInaccessible) { - CLIO.out( - "Unable to access ZooKeeper. Please add the following security.json to ZooKeeper (in case of SolrCloud):\n" - + securityJson - + "\n"); - zkInaccessible = true; - } - } - - // check if security is already enabled or not - if (!zkInaccessible) { - try (SolrZkClient zkClient = CLIUtils.getSolrZkClient(cli, zkHost)) { - checkSecurityJsonExists(zkClient); - } catch (Exception ex) { - CLIO.out( - "Unable to access ZooKeeper. Please add the following security.json to ZooKeeper (in case of SolrCloud):\n" - + securityJson - + "\n"); - zkInaccessible = true; - } - } - } - - if (!updateIncludeFileOnly) { - if (!zkInaccessible) { - echoIfVerbose("Uploading following security.json: " + securityJson); - try (SolrZkClient zkClient = CLIUtils.getSolrZkClient(cli, zkHost)) { - zkClient.setData( - "/security.json", securityJson.getBytes(StandardCharsets.UTF_8), true); - } catch (Exception ex) { - CLIO.out( - "Unable to access ZooKeeper. Please add the following security.json to ZooKeeper (in case of SolrCloud):\n" - + securityJson); - } - } - } - - String config = StrUtils.join(Arrays.asList(cli.getOptionValues(CONFIG_OPTION)), ' '); - // config is base64 encoded (to get around parsing problems), decode it - config = config.replace(" ", ""); - config = - new String( - Base64.getDecoder().decode(config.getBytes(StandardCharsets.UTF_8)), - StandardCharsets.UTF_8); - config = config.replace("\n", "").replace("\r", ""); - - String solrIncludeFilename = cli.getOptionValue(SOLR_INCLUDE_FILE_OPTION); - File includeFile = new File(solrIncludeFilename); - if (!includeFile.exists() || !includeFile.canWrite()) { - CLIO.out( - "Solr include file " + solrIncludeFilename + " doesn't exist or is not writeable."); - printAuthEnablingInstructions(config); - System.exit(0); - } - - // update the solr.in.sh file to contain the necessary authentication lines - updateIncludeFileEnableAuth(includeFile.toPath(), null, config); - echo( - "Successfully enabled Kerberos authentication; please restart any running Solr nodes."); - return; - case "disable": - clearSecurityJson(cli, updateIncludeFileOnly); - - solrIncludeFilename = cli.getOptionValue(SOLR_INCLUDE_FILE_OPTION); - includeFile = new File(solrIncludeFilename); - if (!includeFile.exists() || !includeFile.canWrite()) { - CLIO.out( - "Solr include file " + solrIncludeFilename + " doesn't exist or is not writeable."); - CLIO.out( - "Security has been disabled. Please remove any SOLR_AUTH_TYPE or SOLR_AUTHENTICATION_OPTS configuration from solr.in.sh/solr.in.cmd.\n"); - System.exit(0); - } - - // update the solr.in.sh file to comment out the necessary authentication lines - updateIncludeFileDisableAuth(includeFile.toPath()); - return; - default: - CLIO.out("Valid auth commands are: enable, disable."); - SolrCLI.exit(1); - } - - CLIO.out("Options not understood."); - SolrCLI.exit(1); - } - private void handleBasicAuth(CommandLine cli) throws Exception { String cmd = cli.getArgs()[0]; boolean prompt = Boolean.parseBoolean(cli.getOptionValue(PROMPT_OPTION, "false")); @@ -409,8 +286,7 @@ private void handleBasicAuth(CommandLine cli) throws Exception { StandardCharsets.UTF_8); // update the solr.in.sh file to contain the necessary authentication lines - updateIncludeFileEnableAuth( - includeFile.toPath(), basicAuthConfFile.getAbsolutePath(), null); + updateIncludeFileEnableAuth(includeFile.toPath(), basicAuthConfFile.getAbsolutePath()); final String successMessage = String.format( Locale.ROOT, @@ -498,26 +374,6 @@ private void printAuthEnablingInstructions(String username, String password) { } } - private void printAuthEnablingInstructions(String kerberosConfig) { - if (Constants.WINDOWS) { - CLIO.out( - "\nAdd the following lines to the solr.in.cmd file so that the solr.cmd script can use subsequently.\n"); - CLIO.out( - "set SOLR_AUTH_TYPE=kerberos\n" - + "set SOLR_AUTHENTICATION_OPTS=\"" - + kerberosConfig - + "\"\n"); - } else { - CLIO.out( - "\nAdd the following lines to the solr.in.sh file so that the ./solr script can use subsequently.\n"); - CLIO.out( - "SOLR_AUTH_TYPE=\"kerberos\"\n" - + "SOLR_AUTHENTICATION_OPTS=\"" - + kerberosConfig - + "\"\n"); - } - } - /** * This will update the include file (e.g. solr.in.sh / solr.in.cmd) with the authentication * parameters. @@ -525,13 +381,9 @@ private void printAuthEnablingInstructions(String kerberosConfig) { * @param includeFile The include file * @param basicAuthConfFile If basicAuth, the path of the file containing credentials. If not, * null. - * @param kerberosConfig If kerberos, the config string containing startup parameters. If not, - * null. */ - private void updateIncludeFileEnableAuth( - Path includeFile, String basicAuthConfFile, String kerberosConfig) throws IOException { - assert !(basicAuthConfFile != null - && kerberosConfig != null); // only one of the two needs to be populated + private void updateIncludeFileEnableAuth(Path includeFile, String basicAuthConfFile) + throws IOException { List includeFileLines = Files.readAllLines(includeFile, StandardCharsets.UTF_8); for (int i = 0; i < includeFileLines.size(); i++) { String line = includeFileLines.get(i); @@ -558,17 +410,6 @@ private void updateIncludeFileEnableAuth( includeFileLines.add( "SOLR_AUTHENTICATION_OPTS=\"-Dsolr.httpclient.config=" + basicAuthConfFile + "\""); } - } else { // for kerberos - if (Constants.WINDOWS) { - includeFileLines.add("REM The following lines added by solr.cmd for enabling BasicAuth"); - includeFileLines.add("set SOLR_AUTH_TYPE=kerberos"); - includeFileLines.add( - "set SOLR_AUTHENTICATION_OPTS=\"-Dsolr.httpclient.config=basicAuthConfFile\""); - } else { - includeFileLines.add("# The following lines added by ./solr for enabling BasicAuth"); - includeFileLines.add("SOLR_AUTH_TYPE=\"kerberos\""); - includeFileLines.add("SOLR_AUTHENTICATION_OPTS=\"" + kerberosConfig + "\""); - } } String lines = includeFileLines.stream().collect(Collectors.joining(System.lineSeparator())); @@ -609,15 +450,13 @@ public void runImpl(CommandLine cli) throws Exception { ensureArgumentIsValidBooleanIfPresent(cli, UPDATE_INCLUDE_FILE_OPTION); String type = cli.getOptionValue(TYPE_OPTION, "basicAuth"); + // switch structure is here to support future auth options like oAuth switch (type) { case "basicAuth": handleBasicAuth(cli); break; - case "kerberos": - handleKerberos(cli); - break; default: - throw new IllegalStateException("Only type=basicAuth or kerberos supported at the moment."); + throw new IllegalStateException("Only type=basicAuth supported at the moment."); } } } From 9f8f9c51b3a8f58392c2d795317a68eed4672a92 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Fri, 22 Nov 2024 08:20:18 -0500 Subject: [PATCH 23/36] Strip kerberos out of the hdfs module --- .../solr/hdfs/HdfsDirectoryFactory.java | 59 +------------------ .../deployment-guide/pages/solr-on-hdfs.adoc | 12 ---- 2 files changed, 1 insertion(+), 70 deletions(-) diff --git a/solr/modules/hdfs/src/java/org/apache/solr/hdfs/HdfsDirectoryFactory.java b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/HdfsDirectoryFactory.java index e0b3a879a7b..7784c59281e 100644 --- a/solr/modules/hdfs/src/java/org/apache/solr/hdfs/HdfsDirectoryFactory.java +++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/HdfsDirectoryFactory.java @@ -16,8 +16,6 @@ */ package org.apache.solr.hdfs; -import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION; - import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.RemovalCause; import com.google.common.annotations.VisibleForTesting; @@ -40,7 +38,6 @@ import org.apache.hadoop.fs.Options; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.PathFilter; -import org.apache.hadoop.security.UserGroupInformation; import org.apache.lucene.store.Directory; import org.apache.lucene.store.IOContext; import org.apache.lucene.store.LockFactory; @@ -102,10 +99,6 @@ public class HdfsDirectoryFactory extends CachingDirectoryFactory public static final String LOCALITYMETRICS_ENABLED = "solr.hdfs.locality.metrics.enabled"; - public static final String KERBEROS_ENABLED = "solr.hdfs.security.kerberos.enabled"; - public static final String KERBEROS_KEYTAB = "solr.hdfs.security.kerberos.keytabfile"; - public static final String KERBEROS_PRINCIPAL = "solr.hdfs.security.kerberos.principal"; - public static final String HDFS_HOME = "solr.hdfs.home"; public static final String CONFIG_DIRECTORY = "solr.hdfs.confdir"; @@ -128,7 +121,6 @@ public class HdfsDirectoryFactory extends CachingDirectoryFactory private static BlockCache globalBlockCache; public static Metrics metrics; - private static Boolean kerberosInit; // we use this cache for FileSystem instances when we don't have access to a long lived instance private final com.github.benmanes.caffeine.cache.Cache tmpFsCache = @@ -179,13 +171,7 @@ public void init(NamedList args) { } cacheMerges = getConfig(CACHE_MERGES, false); cacheReadOnce = getConfig(CACHE_READONCE, false); - boolean kerberosEnabled = getConfig(KERBEROS_ENABLED, false); - if (log.isInfoEnabled()) { - log.info("Solr Kerberos Authentication {}", (kerberosEnabled ? "enabled" : "disabled")); - } - if (kerberosEnabled) { - initKerberos(); - } + if (StrUtils.isNullOrEmpty( EnvUtils.getProperty(SplitShardCmd.SHARDSPLIT_CHECKDISKSPACE_ENABLED))) { System.setProperty(SplitShardCmd.SHARDSPLIT_CHECKDISKSPACE_ENABLED, "false"); @@ -530,49 +516,6 @@ public String getConfDir() { return confDir; } - private void initKerberos() { - String keytabFile = getConfig(KERBEROS_KEYTAB, "").trim(); - if (keytabFile.length() == 0) { - throw new IllegalArgumentException( - KERBEROS_KEYTAB + " required because " + KERBEROS_ENABLED + " set to true"); - } - String principal = getConfig(KERBEROS_PRINCIPAL, ""); - if (principal.length() == 0) { - throw new IllegalArgumentException( - KERBEROS_PRINCIPAL + " required because " + KERBEROS_ENABLED + " set to true"); - } - synchronized (HdfsDirectoryFactory.class) { - if (kerberosInit == null) { - kerberosInit = Boolean.TRUE; - final Configuration conf = getConf(null); - final String authVal = conf.get(HADOOP_SECURITY_AUTHENTICATION); - final String kerberos = "kerberos"; - if (authVal != null && !authVal.equals(kerberos)) { - throw new IllegalArgumentException( - HADOOP_SECURITY_AUTHENTICATION - + " set to: " - + authVal - + ", not kerberos, but attempting to " - + " connect to HDFS via kerberos"); - } - // let's avoid modifying the supplied configuration, just to be conservative - final Configuration ugiConf = new Configuration(getConf(null)); - ugiConf.set(HADOOP_SECURITY_AUTHENTICATION, kerberos); - UserGroupInformation.setConfiguration(ugiConf); - log.info( - "Attempting to acquire kerberos ticket with keytab: {}, principal: {} ", - keytabFile, - principal); - try { - UserGroupInformation.loginUserFromKeytab(principal, keytabFile); - } catch (IOException ioe) { - throw new RuntimeException(ioe); - } - log.info("Got Kerberos ticket"); - } - } - } - @Override public void initializeMetrics(SolrMetricsContext parentContext, String scope) { MetricsHolder.metrics.initializeMetrics(parentContext, scope); diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc index 25548bfac2c..f7e1393bc4c 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc @@ -276,15 +276,3 @@ Here is a sample `solrconfig.xml` configuration for storing Solr indexes on HDFS 192 ---- - -If using Kerberos, you will need to add the three Kerberos related properties to the `` element in `solrconfig.xml`, such as: - -[source,xml] ----- - - ... - true - /etc/krb5.keytab - solr/admin@KERBEROS.COM - ----- From fd24abc17105bbf4a35c43b54a12b92266086869 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Fri, 22 Nov 2024 08:24:51 -0500 Subject: [PATCH 24/36] Remove Kerberos specific functions from HttpSolrClient --- .../impl/DelegationTokenHttpSolrClient.java | 46 --- .../client/solrj/impl/HttpSolrClient.java | 27 +- .../solrj/impl/Krb5HttpClientBuilder.java | 263 ------------------ .../solrj/impl/BasicHttpSolrClientTest.java | 18 -- 4 files changed, 1 insertion(+), 353 deletions(-) delete mode 100644 solr/solrj/src/java/org/apache/solr/client/solrj/impl/DelegationTokenHttpSolrClient.java delete mode 100644 solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/DelegationTokenHttpSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/DelegationTokenHttpSolrClient.java deleted file mode 100644 index 8aad9ee6ef8..00000000000 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/DelegationTokenHttpSolrClient.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.client.solrj.impl; - -import java.io.IOException; -import org.apache.http.client.methods.HttpRequestBase; -import org.apache.solr.client.solrj.SolrRequest; -import org.apache.solr.client.solrj.SolrServerException; -import org.apache.solr.common.params.SolrParams; - -public class DelegationTokenHttpSolrClient extends HttpSolrClient { - public static final String DELEGATION_TOKEN_PARAM = "delegation"; - - /** - * Constructor for use by {@linkplain org.apache.solr.client.solrj.impl.HttpSolrClient.Builder}. - * - * @lucene.internal - */ - protected DelegationTokenHttpSolrClient(Builder builder) { - super(builder); - } - - @Override - protected HttpRequestBase createMethod(final SolrRequest request, String collection) - throws IOException, SolrServerException { - SolrParams params = request.getParams(); - if (params != null && params.getParams(DELEGATION_TOKEN_PARAM) != null) { - throw new IllegalArgumentException(DELEGATION_TOKEN_PARAM + " parameter not supported"); - } - return super.createMethod(request, collection); - } -} diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java index 9c1ed46d7b5..bff1a819407 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java @@ -34,7 +34,6 @@ import java.util.Base64; import java.util.Collection; import java.util.Collections; -import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Locale; @@ -870,17 +869,6 @@ public Builder allowCompression(boolean compression) { return this; } - /** Use a delegation token for authenticating via the KerberosPlugin */ - public Builder withKerberosDelegationToken(String delegationToken) { - if (this.invariantParams.get(DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM) != null) { - throw new IllegalStateException( - DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM + " is already defined!"); - } - this.invariantParams.add( - DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM, delegationToken); - return this; - } - /** * Adds to the set of params that the created {@link HttpSolrClient} will add on all requests * @@ -907,20 +895,7 @@ public HttpSolrClient build() { "Cannot create HttpSolrClient without a valid baseSolrUrl!"); } - if (this.invariantParams.get(DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM) == null) { - return new HttpSolrClient(this); - } else { - urlParamNames = - urlParamNames == null - ? Set.of(DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM) - : urlParamNames; - if (!urlParamNames.contains(DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM)) { - urlParamNames = new HashSet<>(urlParamNames); - urlParamNames.add(DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM); - } - urlParamNames = Set.copyOf(urlParamNames); - return new DelegationTokenHttpSolrClient(this); - } + return new HttpSolrClient(this); } @Override diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java deleted file mode 100644 index 0355c1a1b75..00000000000 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.client.solrj.impl; - -import java.lang.invoke.MethodHandles; -import java.net.URI; -import java.nio.file.Paths; -import java.security.Principal; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import javax.security.auth.login.AppConfigurationEntry; -import javax.security.auth.login.Configuration; -import org.apache.http.HttpEntity; -import org.apache.http.HttpEntityEnclosingRequest; -import org.apache.http.HttpRequestInterceptor; -import org.apache.http.auth.AuthSchemeProvider; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.Credentials; -import org.apache.http.client.CredentialsProvider; -import org.apache.http.client.config.AuthSchemes; -import org.apache.http.config.Lookup; -import org.apache.http.config.RegistryBuilder; -import org.apache.http.cookie.CookieSpecProvider; -import org.apache.http.entity.BufferedHttpEntity; -import org.apache.http.impl.auth.SPNegoSchemeFactory; -import org.apache.http.impl.client.BasicCredentialsProvider; -import org.eclipse.jetty.client.HttpAuthenticationStore; -import org.eclipse.jetty.client.WWWAuthenticationProtocolHandler; -import org.eclipse.jetty.client.util.SPNEGOAuthentication; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** Kerberos-enabled SolrHttpClientBuilder */ -public class Krb5HttpClientBuilder implements HttpClientBuilderFactory { - - public static final String LOGIN_CONFIG_PROP = "java.security.auth.login.config"; - private static final String SPNEGO_OID = "1.3.6.1.5.5.2"; - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - private static Configuration jaasConfig = new SolrJaasConfiguration(); - - public Krb5HttpClientBuilder() {} - - /** - * The jaasConfig is static, which makes it problematic for testing in the same jvm. Call this - * function to regenerate the static config (this is not thread safe). Note: only used for tests - */ - public static void regenerateJaasConfiguration() { - jaasConfig = new SolrJaasConfiguration(); - } - - public SolrHttpClientBuilder getBuilder() { - return getBuilder(HttpClientUtil.getHttpClientBuilder()); - } - - @Override - public void close() { - HttpClientUtil.removeRequestInterceptor(bufferedEntityInterceptor); - } - - @Override - public SolrHttpClientBuilder getHttpClientBuilder(SolrHttpClientBuilder builder) { - return builder == null ? getBuilder() : getBuilder(builder); - } - - private SPNEGOAuthentication createSPNEGOAuthentication() { - SPNEGOAuthentication authentication = - new SPNEGOAuthentication(null) { - - @Override - public boolean matches(String type, URI uri, String realm) { - return this.getType().equals(type); - } - }; - String clientAppName = System.getProperty("solr.kerberos.jaas.appname", "Client"); - AppConfigurationEntry[] entries = jaasConfig.getAppConfigurationEntry(clientAppName); - if (entries == null) { - log.warn( - "Could not find login configuration entry for {}. SPNego authentication may not be successful.", - (Object) clientAppName); - return authentication; - } - if (entries.length != 1) { - log.warn("Multiple login modules are specified in the configuration file"); - return authentication; - } - - Map options = entries[0].getOptions(); - setAuthenticationOptions(authentication, options, (String) options.get("principal")); - return authentication; - } - - static void setAuthenticationOptions( - SPNEGOAuthentication authentication, Map options, String username) { - String keyTab = (String) options.get("keyTab"); - if (keyTab != null) { - authentication.setUserKeyTabPath(Paths.get(keyTab)); - } - authentication.setServiceName("HTTP"); - authentication.setUserName(username); - if ("true".equalsIgnoreCase((String) options.get("useTicketCache"))) { - authentication.setUseTicketCache(true); - String ticketCachePath = (String) options.get("ticketCache"); - if (ticketCachePath != null) { - authentication.setTicketCachePath(Paths.get(ticketCachePath)); - } - authentication.setRenewTGT("true".equalsIgnoreCase((String) options.get("renewTGT"))); - } - } - - @Override - public void setup(Http2SolrClient http2Client) { - HttpAuthenticationStore authenticationStore = new HttpAuthenticationStore(); - authenticationStore.addAuthentication(createSPNEGOAuthentication()); - http2Client.setAuthenticationStore(authenticationStore); - http2Client - .getProtocolHandlers() - .put(new WWWAuthenticationProtocolHandler(http2Client.getHttpClient())); - } - - public SolrHttpClientBuilder getBuilder(SolrHttpClientBuilder builder) { - if (System.getProperty(LOGIN_CONFIG_PROP) != null) { - String configValue = System.getProperty(LOGIN_CONFIG_PROP); - - if (configValue != null) { - log.info("Setting up SPNego auth with config: {}", configValue); - final String useSubjectCredsProp = "javax.security.auth.useSubjectCredsOnly"; - String useSubjectCredsVal = System.getProperty(useSubjectCredsProp); - - // "javax.security.auth.useSubjectCredsOnly" should be false so that the underlying - // authentication mechanism can load the credentials from the JAAS configuration. - if (useSubjectCredsVal == null) { - System.setProperty(useSubjectCredsProp, "false"); - } else if (!useSubjectCredsVal.toLowerCase(Locale.ROOT).equals("false")) { - // Don't overwrite the prop value if it's already been written to something else, - // but log because it is likely the Credentials won't be loaded correctly. - log.warn( - "System Property: {} set to: {} not false. SPNego authentication may not be successful.", - useSubjectCredsProp, - useSubjectCredsVal); - } - - javax.security.auth.login.Configuration.setConfiguration(jaasConfig); - // Enable only SPNEGO authentication scheme. - - builder.setAuthSchemeRegistryProvider( - () -> { - Lookup authProviders = - RegistryBuilder.create() - .register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory(true, false)) - .build(); - return authProviders; - }); - // Get the credentials from the JAAS configuration rather than here - Credentials useJaasCreds = - new Credentials() { - @Override - public String getPassword() { - return null; - } - - @Override - public Principal getUserPrincipal() { - return null; - } - }; - - HttpClientUtil.setCookiePolicy(SolrPortAwareCookieSpecFactory.POLICY_NAME); - - builder.setCookieSpecRegistryProvider( - () -> { - SolrPortAwareCookieSpecFactory cookieFactory = new SolrPortAwareCookieSpecFactory(); - - Lookup cookieRegistry = - RegistryBuilder.create() - .register(SolrPortAwareCookieSpecFactory.POLICY_NAME, cookieFactory) - .build(); - - return cookieRegistry; - }); - - builder.setDefaultCredentialsProvider( - () -> { - CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); - credentialsProvider.setCredentials(AuthScope.ANY, useJaasCreds); - return credentialsProvider; - }); - HttpClientUtil.addRequestInterceptor(bufferedEntityInterceptor); - } - } else { - log.warn( - "{} is configured without specifying system property '{}'", - getClass().getName(), - LOGIN_CONFIG_PROP); - } - - return builder; - } - - // Set a buffered entity based request interceptor - private HttpRequestInterceptor bufferedEntityInterceptor = - (request, context) -> { - if (request instanceof HttpEntityEnclosingRequest enclosingRequest) { - HttpEntity requestEntity = enclosingRequest.getEntity(); - enclosingRequest.setEntity(new BufferedHttpEntity(requestEntity)); - } - }; - - public static class SolrJaasConfiguration extends javax.security.auth.login.Configuration { - - private javax.security.auth.login.Configuration baseConfig; - - // the com.sun.security.jgss appNames - private Set initiateAppNames = - new HashSet<>( - Arrays.asList("com.sun.security.jgss.krb5.initiate", "com.sun.security.jgss.initiate")); - - public SolrJaasConfiguration() { - try { - - this.baseConfig = javax.security.auth.login.Configuration.getConfiguration(); - } catch (SecurityException e) { - this.baseConfig = null; - } - } - - @Override - public AppConfigurationEntry[] getAppConfigurationEntry(String appName) { - if (baseConfig == null) return null; - - if (log.isDebugEnabled()) { - log.debug("Login prop: {}", System.getProperty(LOGIN_CONFIG_PROP)); - } - - String clientAppName = System.getProperty("solr.kerberos.jaas.appname", "Client"); - if (initiateAppNames.contains(appName)) { - log.debug( - "Using AppConfigurationEntry for appName '{}' instead of: '{}'", - clientAppName, - appName); - return baseConfig.getAppConfigurationEntry(clientAppName); - } - return baseConfig.getAppConfigurationEntry(appName); - } - } -} diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java index 30299f0b572..2074a4c8a48 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java @@ -890,23 +890,5 @@ public void testInvariantParams() throws IOException { .build()) { assertEquals(2, createdClient.getInvariantParams().getParams("fq").length); } - - try (SolrClient createdClient = - new HttpSolrClient.Builder() - .withBaseSolrUrl(getBaseUrl()) - .withKerberosDelegationToken("mydt") - .withInvariantParams( - SolrTestCaseJ4.params(DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM, "mydt")) - .build()) { - fail(); - } catch (Exception ex) { - if (!ex.getMessage() - .equals( - "parameter " - + DelegationTokenHttpSolrClient.DELEGATION_TOKEN_PARAM - + " is redefined.")) { - throw ex; - } - } } } From 30f4bd611cb7e8cf150b5518258e667b33d6b58e Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Fri, 22 Nov 2024 08:29:21 -0500 Subject: [PATCH 25/36] Doc cleanups --- .../java/org/apache/solr/request/json/RequestUtil.java | 2 +- .../org/apache/solr/security/AuthorizationContext.java | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/request/json/RequestUtil.java b/solr/core/src/java/org/apache/solr/request/json/RequestUtil.java index 55f3681e13f..3cba7e0ec2c 100644 --- a/solr/core/src/java/org/apache/solr/request/json/RequestUtil.java +++ b/solr/core/src/java/org/apache/solr/request/json/RequestUtil.java @@ -78,7 +78,7 @@ public static void processParams( for (ContentStream cs : req.getContentStreams()) { // if BinaryResponseParser.BINARY_CONTENT_TYPE, let the following fail below - we may have // adjusted the content without updating the content type - // problem in this case happens in a few tests, one seems to happen with kerberos and remote + // problem in this case happens in a few tests including a remote // node query (HttpSolrCall's request proxy) String contentType = cs.getContentType(); diff --git a/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java b/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java index c2fd9215e33..715294720c2 100644 --- a/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java +++ b/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java @@ -42,10 +42,9 @@ public String toString() { /** * This method returns the {@link Principal} corresponding to the authenticated user for the * current request. The value returned by {@link Principal#getName()} depends on the - * authentication mechanism used (e.g. for user "foo" with BASIC authentication the result would - * be "foo". On the other hand with KERBEROS it would be foo@REALMNAME). The {@link - * #getUserName()} method may be preferred to extract the identity of the authenticated user - * instead of this method. + * authentication mechanism used. For example for the user "foo" with BASIC authentication the + * result would be "foo". The {@link #getUserName()} method may be preferred to extract the + * identity of the authenticated user instead of this method. * * @return user principal in case of an authenticated request null in case of unauthenticated * request @@ -56,7 +55,7 @@ public String toString() { * This method returns the name of the authenticated user for the current request. The return * value of this method is agnostic of the underlying authentication mechanism used. * - * @return user name in case of an authenticated user null in case of unauthenticated request + * @return username in case of an authenticated user null in case of unauthenticated request */ public abstract String getUserName(); From 930d17f00304159239e062b8fe115f3275f0b3f6 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Fri, 22 Nov 2024 11:35:01 -0500 Subject: [PATCH 26/36] Strip out Kerberos --- .../pages/authentication-and-authorization-plugins.adoc | 6 +++--- .../pages/solr-control-script-reference.adoc | 2 -- .../modules/getting-started/pages/solr-admin-ui.adoc | 3 --- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/authentication-and-authorization-plugins.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/authentication-and-authorization-plugins.adoc index 5e895664268..176fc3a5932 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/authentication-and-authorization-plugins.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/authentication-and-authorization-plugins.adoc @@ -85,10 +85,10 @@ Create the file `security.json` with the contents: [source,json] ---- -{"authentication": {"class": "solr.KerberosPlugin"}} +{"authentication": {"class": "solr.BasicAuthPlugin"}} ---- -Note that this example defines the `KerberosPlugin` for authentication. +Note that this example defines the `BasicAuthPlugin` for authentication. You will want to modify this section as appropriate for the plugin you are using. Then use the `bin/solr zk` command to upload the file: @@ -127,7 +127,7 @@ A custom plugin can be implemented by extending the AuthenticationPlugin class. An authentication plugin consists of two parts: -. Server-side component, which intercepts and authenticates incoming requests to Solr using a mechanism defined in the plugin, such as Kerberos, Basic Auth or others. +. Server-side component, which intercepts and authenticates incoming requests to Solr using a mechanism defined in the plugin, such as Basic Auth. . Client-side component, i.e., an extension of `HttpClientConfigurer`, which enables a SolrJ client to make requests to a secure Solr instance using the authentication mechanism which the server understands. === Enabling an Authentication Plugin diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc index 49b4ffab143..6cab3f6789a 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc @@ -870,7 +870,6 @@ The `bin/solr` script allows enabling or disabling Authentication, allowing you Currently this command is only available when using SolrCloud mode and must be run on the machine hosting Solr. For Basic Authentication the script provides https://github.com/apache/solr/blob/main/solr/core/resources/security.json[user roles and permission mappings], and maps the created user to the `superadmin` role. -For Kerberos it only enables the security.json, it doesn't set up any users or role mappings. === Enabling Basic Authentication @@ -900,7 +899,6 @@ Here are some example usages: ---- Usage: solr auth enable [--type basicAuth] --credentials user:pass [--block-unknown ] [--update-include-file-only ] [-v] solr auth enable [--type basicAuth] --prompt [--block-unknown ] [--update-include-file-only ] [-v] - solr auth enable --type kerberos --config [--update-include-file-only ] [-v] solr auth disable [--update-include-file-only ] [-v] ---- diff --git a/solr/solr-ref-guide/modules/getting-started/pages/solr-admin-ui.adoc b/solr/solr-ref-guide/modules/getting-started/pages/solr-admin-ui.adoc index 83f013d5649..df8db6f401c 100644 --- a/solr/solr-ref-guide/modules/getting-started/pages/solr-admin-ui.adoc +++ b/solr/solr-ref-guide/modules/getting-started/pages/solr-admin-ui.adoc @@ -59,9 +59,6 @@ See the section xref:deployment-guide:basic-authentication-plugin.adoc[] for det Once logged in, the left-hand navigation will show the current user with an option to logout. -If Kerberos is enabled and the user has a valid ticket, the login screen will be skipped. -However, if the user does not have a valid ticket, they will see a message that they need to obtain a valid ticket before continuing. - === Getting Assistance At the bottom of each screen of the Admin UI is a set of links that can be used to get more assistance with configuring and using Solr. From a3a8acc194b82c3f390dded090b100e8f69f1bc3 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Fri, 22 Nov 2024 11:41:58 -0500 Subject: [PATCH 27/36] useShortName was only implemented in Kerberos, so remove it. --- .../RuleBasedAuthorizationPlugin.java | 9 +----- .../BaseTestRuleBasedAuthorizationPlugin.java | 30 ------------------- .../rule-based-authorization-plugin.adoc | 12 -------- 3 files changed, 1 insertion(+), 50 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java index 9788d8bef9e..7611b5559bb 100644 --- a/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java +++ b/solr/core/src/java/org/apache/solr/security/RuleBasedAuthorizationPlugin.java @@ -29,7 +29,6 @@ */ public class RuleBasedAuthorizationPlugin extends RuleBasedAuthorizationPluginBase { private final Map> usersVsRoles = new HashMap<>(); - private boolean useShortName; @Override public void init(Map initInfo) { @@ -41,17 +40,11 @@ public void init(Map initInfo) { String roleName = e.getKey(); usersVsRoles.put(roleName, Permission.readValueAsSet(map, roleName)); } - useShortName = - Boolean.parseBoolean(initInfo.getOrDefault("useShortName", Boolean.FALSE).toString()); } @Override public Set getUserRoles(AuthorizationContext context) { - if (useShortName) { - return usersVsRoles.get(context.getUserName()); - } else { - return getUserRoles(context.getUserPrincipal()); - } + return getUserRoles(context.getUserPrincipal()); } /** diff --git a/solr/core/src/test/org/apache/solr/security/BaseTestRuleBasedAuthorizationPlugin.java b/solr/core/src/test/org/apache/solr/security/BaseTestRuleBasedAuthorizationPlugin.java index 04d4f7e3cba..196120ca628 100644 --- a/solr/core/src/test/org/apache/solr/security/BaseTestRuleBasedAuthorizationPlugin.java +++ b/solr/core/src/test/org/apache/solr/security/BaseTestRuleBasedAuthorizationPlugin.java @@ -22,9 +22,6 @@ import static java.util.Collections.singletonMap; import static org.apache.solr.common.util.CommandOperation.captureErrors; import static org.apache.solr.common.util.Utils.getObjectByPath; -import static org.hamcrest.CoreMatchers.instanceOf; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assume.assumeThat; import java.io.IOException; import java.io.StringReader; @@ -676,33 +673,6 @@ public void testAllPermissionDeniesActionsWhenUserIsNotCorrectRole() { FORBIDDEN); } - @Test - public void testShortNameResolvesPermissions() { - assumeThat( - "ExternalRBAPlugin doesn't use short name", - createPlugin(), - is(instanceOf(RuleBasedAuthorizationPlugin.class))); - - setUserRole("admin", "admin"); - addPermission("all", "admin"); - - Map values = - Map.of( - "userPrincipal", "admin@EXAMPLE", - "userName", "admin", - "resource", "/admin/info/properties", - "requestType", RequestType.ADMIN, - "handler", new PropertiesRequestHandler()); - - // Short names disabled, admin should fail, admin@EXAMPLE should succeed - rules.put("useShortName", "false"); - checkRules(values, FORBIDDEN); - - // Short names enabled, admin should succeed, admin@EXAMPLE should fail - rules.put("useShortName", "true"); - checkRules(values, STATUS_OK); - } - @Test public void testGetPermissionNamesForRoles() { // Tests the method that maps role(s) to permissions, used by SystemInfoHandler to provide UI diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/rule-based-authorization-plugin.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/rule-based-authorization-plugin.adoc index 36023ff2984..c6dde76583d 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/rule-based-authorization-plugin.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/rule-based-authorization-plugin.adoc @@ -140,18 +140,6 @@ For example: } ---- -`useShortName`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `false` -|=== -+ -Determines if user-role mappings will resolve using the full principal or a shortened name provided by the authentication plugin. -For example, the `KerberosAuthPlugin` may provide a full principal as `user@EXAMPLE.COM`, while the corresponding short name would be `user`. -+ -For some plugins the principal name and short name may be the same. - === Example for RuleBasedAuthorizationPlugin and BasicAuth This example `security.json` shows how the xref:basic-authentication-plugin.adoc[] can work with the `RuleBasedAuthorizationPlugin` plugin: From 3ed7ddf7c34c9e4e6115324c40f270564bdc7467 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Fri, 22 Nov 2024 11:42:21 -0500 Subject: [PATCH 28/36] No longer support Kerberos for Solr on HDFS --- .../deployment-guide/pages/solr-on-hdfs.adoc | 35 ------------------- 1 file changed, 35 deletions(-) diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc index f7e1393bc4c..4e4f07f341f 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc @@ -210,41 +210,6 @@ NRTCachingDirectory max cache size. + Pass the location of HDFS client configuration files - needed for HDFS HA for example. -=== Kerberos Authentication Settings - -Hadoop can be configured to use the Kerberos protocol to verify user identity when trying to access core services like HDFS. -If your HDFS directories are protected using Kerberos, then you need to configure Solr's HdfsDirectoryFactory to authenticate using Kerberos in order to read and write to HDFS. -To enable Kerberos authentication from Solr, you need to set the following parameters: - -`solr.hdfs.security.kerberos.enabled`:: -+ -[%autowidth,frame=none] -|=== -|Optional |Default: `false` -|=== -+ -Set to `true` to enable Kerberos authentication. - -`solr.hdfs.security.kerberos.keytabfile`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -A keytab file contains pairs of Kerberos principals and encrypted keys which allows for password-less authentication when Solr attempts to authenticate with secure Hadoop. -+ -This file will need to be present on all Solr servers at the same path provided in this parameter. - -`solr.hdfs.security.kerberos.principal`:: -+ -[%autowidth,frame=none] -|=== -s|Required |Default: none -|=== -+ -The Kerberos principal that Solr should use to authenticate to secure Hadoop; the format of a typical Kerberos V5 principal is: `primary/instance@realm`. - == Update Log settings When using HDFS to store Solr indexes, it is recommended to also store the transaction logs on HDFS. This can be done by using the `solr.HdfsUpdateLog` update log hander class. The solrconfig.xml is often used to define an update log handler class name either using a variable reference or direct specification, for example: From b42274e124c9b3196fa4dd7793a4be1d5569f584 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sat, 23 Nov 2024 11:16:39 -0500 Subject: [PATCH 29/36] Track that Kerberos has been removed --- .../modules/upgrade-notes/pages/major-changes-in-solr-10.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc index 33440aec93b..0aed6915cb4 100644 --- a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc +++ b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc @@ -85,3 +85,5 @@ Please note this also removes the ability to share resource intensive objects ac * The language specific Response Writers, which were deprecated in 9.8 in favour of more widely used formats like JSON have been removed. The removed writer types (invoked as part of the `wt` parameter) include `python`, `ruby`, `php`, and `phps`. + +* Kerberos based authentication has been removed. This results in changes to SolrJ, the Solr Admin app, and the removeal of the `hadoop-auth` module. From 7de517b245109b45e074bc5304ccf29f911e2439 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sun, 24 Nov 2024 06:00:34 -0500 Subject: [PATCH 30/36] Align changes to both files to reflect each other. --- .../testing/randomization/policies/solr-tests.policy | 10 ---------- solr/server/etc/security.policy | 2 +- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/gradle/testing/randomization/policies/solr-tests.policy b/gradle/testing/randomization/policies/solr-tests.policy index e961d82d10a..f2a2788d2f4 100644 --- a/gradle/testing/randomization/policies/solr-tests.policy +++ b/gradle/testing/randomization/policies/solr-tests.policy @@ -136,16 +136,6 @@ grant { permission javax.management.MBeanServerPermission "releaseMBeanServer"; permission javax.management.MBeanTrustPermission "register"; - // needed by hadoop auth - permission javax.security.auth.AuthPermission "getSubject"; - permission javax.security.auth.AuthPermission "modifyPrincipals"; - permission javax.security.auth.AuthPermission "doAs"; - permission javax.security.auth.AuthPermission "getLoginConfiguration"; - permission javax.security.auth.AuthPermission "setLoginConfiguration"; - permission javax.security.auth.AuthPermission "modifyPrivateCredentials"; - permission javax.security.auth.AuthPermission "modifyPublicCredentials"; - permission javax.security.auth.PrivateCredentialPermission "org.apache.hadoop.security.Credentials * \"*\"", "read"; - // needed by hadoop security permission java.security.SecurityPermission "putProviderProperty.SaslPlainServer"; permission java.security.SecurityPermission "insertProvider"; diff --git a/solr/server/etc/security.policy b/solr/server/etc/security.policy index 047518233be..12e945a939a 100644 --- a/solr/server/etc/security.policy +++ b/solr/server/etc/security.policy @@ -95,7 +95,7 @@ grant { permission java.lang.RuntimePermission "closeClassLoader"; // needed by HttpSolrClient permission java.lang.RuntimePermission "getFileSystemAttributes"; - // needed by hadoop auth (TODO: there is a cleaner way to handle this) + // needed by hadoop hdfs (TODO: there is a cleaner way to handle this) permission java.lang.RuntimePermission "loadLibrary.jaas"; permission java.lang.RuntimePermission "loadLibrary.jaas_unix"; permission java.lang.RuntimePermission "loadLibrary.jaas_nt"; From 66d5d1d815da184660db7d2e0da21aa304960472 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sun, 24 Nov 2024 06:03:49 -0500 Subject: [PATCH 31/36] Revert "No longer support Kerberos for Solr on HDFS" This reverts commit 3ed7ddf7c34c9e4e6115324c40f270564bdc7467. --- .../deployment-guide/pages/solr-on-hdfs.adoc | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc index 4e4f07f341f..f7e1393bc4c 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc @@ -210,6 +210,41 @@ NRTCachingDirectory max cache size. + Pass the location of HDFS client configuration files - needed for HDFS HA for example. +=== Kerberos Authentication Settings + +Hadoop can be configured to use the Kerberos protocol to verify user identity when trying to access core services like HDFS. +If your HDFS directories are protected using Kerberos, then you need to configure Solr's HdfsDirectoryFactory to authenticate using Kerberos in order to read and write to HDFS. +To enable Kerberos authentication from Solr, you need to set the following parameters: + +`solr.hdfs.security.kerberos.enabled`:: ++ +[%autowidth,frame=none] +|=== +|Optional |Default: `false` +|=== ++ +Set to `true` to enable Kerberos authentication. + +`solr.hdfs.security.kerberos.keytabfile`:: ++ +[%autowidth,frame=none] +|=== +s|Required |Default: none +|=== ++ +A keytab file contains pairs of Kerberos principals and encrypted keys which allows for password-less authentication when Solr attempts to authenticate with secure Hadoop. ++ +This file will need to be present on all Solr servers at the same path provided in this parameter. + +`solr.hdfs.security.kerberos.principal`:: ++ +[%autowidth,frame=none] +|=== +s|Required |Default: none +|=== ++ +The Kerberos principal that Solr should use to authenticate to secure Hadoop; the format of a typical Kerberos V5 principal is: `primary/instance@realm`. + == Update Log settings When using HDFS to store Solr indexes, it is recommended to also store the transaction logs on HDFS. This can be done by using the `solr.HdfsUpdateLog` update log hander class. The solrconfig.xml is often used to define an update log handler class name either using a variable reference or direct specification, for example: From 716ee09ee4536daad937b5a91069206496eb62b3 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sun, 24 Nov 2024 06:47:28 -0500 Subject: [PATCH 32/36] restore removed docs that are still relevant --- .../modules/deployment-guide/pages/solr-on-hdfs.adoc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc index f7e1393bc4c..25548bfac2c 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-on-hdfs.adoc @@ -276,3 +276,15 @@ Here is a sample `solrconfig.xml` configuration for storing Solr indexes on HDFS 192 ---- + +If using Kerberos, you will need to add the three Kerberos related properties to the `` element in `solrconfig.xml`, such as: + +[source,xml] +---- + + ... + true + /etc/krb5.keytab + solr/admin@KERBEROS.COM + +---- From 5425d736caef787650fbf83c8948596039aeef91 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Sun, 24 Nov 2024 07:20:13 -0500 Subject: [PATCH 33/36] Restore permissions needed by hdfs and crossdc --- .../randomization/policies/solr-tests.policy | 14 +++++++++++++- solr/server/etc/security.policy | 12 ++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/gradle/testing/randomization/policies/solr-tests.policy b/gradle/testing/randomization/policies/solr-tests.policy index f2a2788d2f4..d1bef13c3aa 100644 --- a/gradle/testing/randomization/policies/solr-tests.policy +++ b/gradle/testing/randomization/policies/solr-tests.policy @@ -135,7 +135,19 @@ grant { permission javax.management.MBeanServerPermission "findMBeanServer"; permission javax.management.MBeanServerPermission "releaseMBeanServer"; permission javax.management.MBeanTrustPermission "register"; - + + // needed by hadoop hdfs + permission javax.security.auth.AuthPermission "getSubject"; + permission javax.security.auth.AuthPermission "modifyPrincipals"; + permission javax.security.auth.AuthPermission "doAs"; + permission javax.security.auth.AuthPermission "modifyPrivateCredentials"; + permission javax.security.auth.AuthPermission "modifyPublicCredentials"; + permission javax.security.auth.PrivateCredentialPermission "org.apache.hadoop.security.Credentials * \"*\"", "read"; + + // needed by crossdc + permission javax.security.auth.AuthPermission "getLoginConfiguration"; + permission javax.security.auth.AuthPermission "setLoginConfiguration"; + // needed by hadoop security permission java.security.SecurityPermission "putProviderProperty.SaslPlainServer"; permission java.security.SecurityPermission "insertProvider"; diff --git a/solr/server/etc/security.policy b/solr/server/etc/security.policy index 12e945a939a..d20d81d5356 100644 --- a/solr/server/etc/security.policy +++ b/solr/server/etc/security.policy @@ -131,6 +131,18 @@ grant { permission javax.management.MBeanServerPermission "releaseMBeanServer"; permission javax.management.MBeanTrustPermission "register"; + // needed by hadoop hdfs + permission javax.security.auth.AuthPermission "getSubject"; + permission javax.security.auth.AuthPermission "modifyPrincipals"; + permission javax.security.auth.AuthPermission "doAs"; + permission javax.security.auth.AuthPermission "modifyPrivateCredentials"; + permission javax.security.auth.AuthPermission "modifyPublicCredentials"; + permission javax.security.auth.PrivateCredentialPermission "org.apache.hadoop.security.Credentials * \"*\"", "read"; + + // needed by crossdc + permission javax.security.auth.AuthPermission "getLoginConfiguration"; + permission javax.security.auth.AuthPermission "setLoginConfiguration"; + // needed by hadoop security permission java.security.SecurityPermission "putProviderProperty.SaslPlainServer"; permission java.security.SecurityPermission "insertProvider"; From a20d77522a0e32e8fdef80a467239966fcf66f8d Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Wed, 27 Nov 2024 06:46:16 -0500 Subject: [PATCH 34/36] Simplify method signature --- solr/core/src/java/org/apache/solr/cli/AuthTool.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/cli/AuthTool.java b/solr/core/src/java/org/apache/solr/cli/AuthTool.java index ef92c1f941d..7379de0c93d 100644 --- a/solr/core/src/java/org/apache/solr/cli/AuthTool.java +++ b/solr/core/src/java/org/apache/solr/cli/AuthTool.java @@ -285,7 +285,7 @@ private void handleBasicAuth(CommandLine cli) throws Exception { StandardCharsets.UTF_8); // update the solr.in.sh file to contain the necessary authentication lines - updateIncludeFileEnableAuth(includeFile, basicAuthConfFile.toAbsolutePath().toString()); + updateIncludeFileEnableAuth(includeFile, basicAuthConfFile); final String successMessage = String.format( Locale.ROOT, @@ -381,7 +381,7 @@ private void printAuthEnablingInstructions(String username, String password) { * @param basicAuthConfFile If basicAuth, the path of the file containing credentials. If not, * null. */ - private void updateIncludeFileEnableAuth(Path includeFile, String basicAuthConfFile) + private void updateIncludeFileEnableAuth(Path includeFile, Path basicAuthConfFile) throws IOException { List includeFileLines = Files.readAllLines(includeFile, StandardCharsets.UTF_8); for (int i = 0; i < includeFileLines.size(); i++) { From 69d58315dd8c27c89153de0af1898c0425d947d4 Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Wed, 27 Nov 2024 08:13:31 -0500 Subject: [PATCH 35/36] Update major-changes-in-solr-10.adoc --- .../modules/upgrade-notes/pages/major-changes-in-solr-10.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc index 0aed6915cb4..ba91a442edc 100644 --- a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc +++ b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc @@ -86,4 +86,4 @@ Please note this also removes the ability to share resource intensive objects ac * The language specific Response Writers, which were deprecated in 9.8 in favour of more widely used formats like JSON have been removed. The removed writer types (invoked as part of the `wt` parameter) include `python`, `ruby`, `php`, and `phps`. -* Kerberos based authentication has been removed. This results in changes to SolrJ, the Solr Admin app, and the removeal of the `hadoop-auth` module. +* Kerberos based authentication has been removed. This results in changes to SolrJ, the Solr Admin app, and the removal of the `hadoop-auth` module. From 6ca7d16cc668689b164c7cc129a5ccb71fccda2e Mon Sep 17 00:00:00 2001 From: Eric Pugh Date: Wed, 27 Nov 2024 08:16:13 -0500 Subject: [PATCH 36/36] Track changes --- solr/CHANGES.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 840de727b00..2253d5034c4 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -93,6 +93,8 @@ Deprecation Removals * SOLR-17564: Remove code in Assign used for backwards compatibility with Collections created prior to 7.0 (Paul McArthur) +* SOLR-17540: Removed the Hadoop Auth module, and thus Kerberos authentication and other exotic options. (Eric Pugh) + Dependency Upgrades --------------------- (No changes)