| /* |
| * 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 = 'Apache Solr Core' |
| |
| 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. |
| compileOnly 'com.github.spotbugs:spotbugs-annotations' |
| 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 'io.swagger.core.v3:swagger-annotations-jakarta' |
| |
| // Export these dependencies so that they're imported transitively by |
| // other modules. |
| |
| // These Lucene modules are the most significant to Solr |
| api "org.apache.lucene:lucene-core" |
| api "org.apache.lucene:lucene-analysis-common" |
| api "org.apache.lucene:lucene-queries" |
| |
| // We export logging api with dependencies, which is useful for all modules |
| api 'org.slf4j:slf4j-api' |
| |
| api project(':solr:api') |
| api project(':solr:solrj') |
| api project(':solr:solrj-zookeeper') |
| api project(':solr:solrj-streaming') |
| |
| |
| api 'io.dropwizard.metrics:metrics-core' |
| implementation ('io.dropwizard.metrics:metrics-graphite', { |
| exclude group: "com.rabbitmq", module: "amqp-client" |
| }) |
| implementation 'io.dropwizard.metrics:metrics-jmx' |
| implementation 'io.dropwizard.metrics:metrics-jvm' |
| |
| implementation('org.glassfish.jersey.containers:jersey-container-jetty-http', { |
| exclude group: "org.eclipse.jetty", module: "jetty-continuation" |
| exclude group: "org.glassfish.hk2.external", module: "jakarta.inject" |
| }) |
| permitUnusedDeclared 'org.glassfish.jersey.containers:jersey-container-jetty-http' |
| implementation 'org.glassfish.jersey.inject:jersey-hk2' |
| permitUnusedDeclared 'org.glassfish.jersey.inject:jersey-hk2' |
| implementation ('org.glassfish.jersey.media:jersey-media-json-jackson', { |
| exclude group: "jakarta.xml.bind", module: "jakarta.xml.bind-api" |
| }) |
| permitUnusedDeclared 'org.glassfish.jersey.media:jersey-media-json-jackson' |
| implementation 'org.glassfish.jersey.core:jersey-common' |
| implementation 'org.glassfish.jersey.core:jersey-server' |
| implementation 'org.glassfish.hk2:hk2-api' |
| implementation 'jakarta.inject:jakarta.inject-api' |
| implementation 'jakarta.ws.rs:jakarta.ws.rs-api' |
| implementation 'jakarta.annotation:jakarta.annotation-api' |
| |
| // Non-API below; although there are exceptions |
| |
| runtimeOnly "org.apache.lucene:lucene-analysis-kuromoji" |
| runtimeOnly "org.apache.lucene:lucene-analysis-nori" |
| runtimeOnly "org.apache.lucene:lucene-analysis-phonetic" |
| runtimeOnly "org.apache.lucene:lucene-backward-codecs" |
| implementation "org.apache.lucene:lucene-codecs" |
| implementation "org.apache.lucene:lucene-backward-codecs" |
| permitUnusedDeclared "org.apache.lucene:lucene-backward-codecs" |
| implementation "org.apache.lucene:lucene-classification" |
| implementation "org.apache.lucene:lucene-expressions" |
| implementation "org.apache.lucene:lucene-grouping" |
| implementation "org.apache.lucene:lucene-highlighter" |
| implementation "org.apache.lucene:lucene-join" |
| implementation "org.apache.lucene:lucene-misc" |
| implementation "org.apache.lucene:lucene-queryparser" |
| implementation "org.apache.lucene:lucene-spatial-extras" |
| implementation "org.apache.lucene:lucene-suggest" |
| |
| |
| // Collections & lang utilities |
| implementation 'com.google.guava:guava' |
| implementation 'org.apache.commons:commons-lang3' |
| implementation 'org.apache.commons:commons-math3' |
| implementation 'commons-io:commons-io' |
| implementation 'com.carrotsearch:hppc' |
| |
| implementation('com.github.ben-manes.caffeine:caffeine') { transitive = false } |
| |
| implementation 'commons-codec:commons-codec' |
| |
| implementation 'commons-cli:commons-cli' |
| |
| implementation 'org.locationtech.spatial4j:spatial4j' |
| |
| implementation 'com.fasterxml.jackson.core:jackson-annotations' |
| implementation 'com.fasterxml.jackson.core:jackson-core' |
| implementation 'com.fasterxml.jackson.core:jackson-databind' |
| implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-smile' |
| implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-cbor' |
| |
| implementation 'org.apache.httpcomponents:httpclient' |
| implementation 'org.apache.httpcomponents:httpcore' |
| |
| implementation 'org.eclipse.jetty:jetty-client' |
| implementation 'org.eclipse.jetty:jetty-http' |
| implementation 'org.eclipse.jetty:jetty-io' |
| implementation 'org.eclipse.jetty.toolchain:jetty-servlet-api' |
| |
| // ZooKeeper |
| implementation('org.apache.zookeeper:zookeeper', { |
| exclude group: "org.apache.yetus", module: "audience-annotations" |
| }) |
| implementation('org.apache.zookeeper:zookeeper-jute') { |
| exclude group: 'org.apache.yetus', module: 'audience-annotations' |
| } |
| testImplementation 'org.apache.zookeeper:zookeeper::tests' |
| |
| // required for instantiating a Zookeeper server (for embedding ZK or running tests) |
| runtimeOnly ('org.xerial.snappy:snappy-java') |
| |
| implementation('com.jayway.jsonpath:json-path', { |
| exclude group: "net.minidev", module: "json-smart" |
| }) |
| |
| // StatsComponents percentiles |
| implementation 'com.tdunning:t-digest' |
| |
| // Distributed Tracing |
| api 'io.opentelemetry:opentelemetry-api' // Tracer is exposed on some methods |
| implementation 'io.opentelemetry:opentelemetry-context' |
| |
| implementation 'org.apache.commons:commons-exec' |
| |
| implementation 'org.apache.logging.log4j:log4j-api' |
| implementation 'org.apache.logging.log4j:log4j-core' |
| runtimeOnly 'org.apache.logging.log4j:log4j-slf4j2-impl' |
| |
| // For faster XML processing than the JDK |
| implementation 'org.codehaus.woodstox:stax2-api' |
| implementation 'com.fasterxml.woodstox:woodstox-core' |
| // See https://issues.apache.org/jira/browse/LOG4J2-3609 due to needing these annotations |
| compileOnly 'biz.aQute.bnd:biz.aQute.bnd.annotation' |
| compileOnly 'org.osgi:osgi.annotation' |
| |
| compileOnly 'com.github.stephenc.jcip:jcip-annotations' |
| |
| implementation 'com.j256.simplemagic:simplemagic' |
| |
| // -- Test Dependencies |
| |
| testRuntimeOnly 'org.slf4j:jcl-over-slf4j' |
| |
| testRuntimeOnly "org.apache.lucene:lucene-analysis-icu" |
| |
| testRuntimeOnly project(':solr:modules:analysis-extras') |
| |
| testImplementation project(':solr:core') |
| testImplementation project(':solr:test-framework') |
| |
| testImplementation 'org.apache.lucene:lucene-test-framework' |
| |
| testImplementation 'org.eclipse.jetty:jetty-server' |
| testImplementation 'org.eclipse.jetty:jetty-servlet' |
| |
| 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" |
| }) |
| } |
| |
| |