/* * 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 = 'Solr Server' configurations { api { exclude group: "org.slf4j" } startJar libExt webapp packaging } dependencies { api('org.eclipse.jetty:jetty-alpn-java-server', { exclude group: "org.eclipse.jetty.alpn", module: "alpn-api" }) api('io.dropwizard.metrics:metrics-core', { exclude group: "com.rabbitmq", module: "amqp-client" }) api('io.dropwizard.metrics:metrics-graphite', { exclude group: "com.rabbitmq", module: "amqp-client" }) api 'io.dropwizard.metrics:metrics-jetty9' api 'io.dropwizard.metrics:metrics-jvm' api 'io.dropwizard.metrics:metrics-jmx' api 'org.eclipse.jetty:jetty-continuation' api 'org.eclipse.jetty:jetty-deploy' api 'org.eclipse.jetty:jetty-http' api 'org.eclipse.jetty:jetty-io' api 'org.eclipse.jetty:jetty-jmx' api 'org.eclipse.jetty:jetty-rewrite' api 'org.eclipse.jetty:jetty-security' api 'org.eclipse.jetty:jetty-server' api 'org.eclipse.jetty:jetty-servlet' api 'org.eclipse.jetty:jetty-servlets' api 'org.eclipse.jetty:jetty-util' api 'org.eclipse.jetty:jetty-webapp' api 'org.eclipse.jetty:jetty-xml' api 'org.eclipse.jetty:jetty-alpn-server' api 'org.eclipse.jetty.http2:http2-server' api 'org.eclipse.jetty.http2:http2-common' api 'org.eclipse.jetty.http2:http2-hpack' api 'javax.servlet:javax.servlet-api' libExt 'com.lmax:disruptor' libExt 'org.slf4j:jcl-over-slf4j' libExt 'org.slf4j:jul-to-slf4j' libExt 'org.slf4j:slf4j-api' libExt 'org.apache.logging.log4j:log4j-1.2-api' libExt 'org.apache.logging.log4j:log4j-api' libExt 'org.apache.logging.log4j:log4j-core' libExt 'org.apache.logging.log4j:log4j-slf4j-impl' libExt 'org.apache.logging.log4j:log4j-web' webapp project(path: ":solr:webapp", configuration: "war") startJar('org.eclipse.jetty:jetty-start::shaded', { transitive false }) } // Add the following non-standard configurations to JAR validation. afterEvaluate { configurations { jarValidation.extendsFrom startJar jarValidation.extendsFrom libExt } } ext { packagingDir = file("${buildDir}/packaging") } task assemblePackaging(type: Sync) { from(projectDir, { include "contexts/**" include "etc/**" include "modules/**" include "resources/**" include "scripts/**" include "solr/**" include "README.md" }) from(configurations.compileClasspath, { into "lib/" }) from(configurations.libExt, { into "lib/ext" }) from { project.configurations.startJar.singleFile } { rename { file -> 'start.jar' } } dependsOn configurations.webapp from( { zipTree(configurations.webapp.asPath) }, { into "solr-webapp/webapp" }) into packagingDir } artifacts { packaging packagingDir, { builtBy assemblePackaging } } assemble.dependsOn assemblePackaging