/* * 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. */ // This project puts together a "distribution", assembling dependencies from // various other projects. plugins { id 'base' } ext { distDir = file("$buildDir/solr-${version}") devDir = file("$buildDir/dev") } configurations { distSolr { transitive = false } distSolrj contrib example server } dependencies { distSolrj project(":solr:solrj") [":solr:contrib:analysis-extras", ":solr:contrib:analytics", ":solr:contrib:extraction", ":solr:contrib:clustering", ":solr:contrib:dataimporthandler", ":solr:contrib:dataimporthandler-extras", ":solr:contrib:jaegertracer-configurator", ":solr:contrib:langid", ":solr:contrib:ltr", ":solr:contrib:prometheus-exporter", ":solr:contrib:velocity", ].each { contribName -> distSolr project(contribName) contrib project(path: contribName, configuration: "packaging") } distSolr project(":solr:core") distSolr project(":solr:solrj") distSolr project(":solr:test-framework") example project(path: ":solr:example", configuration: "packaging") server project(path: ":solr:server", configuration: "packaging") } task toDir(type: Sync) { from(project(":solr").projectDir, { include "bin/**" include "licenses/**" include "CHANGES.txt" include "LICENSE.txt" include "NOTICE.txt" include "README.md" }) from(project(":lucene").projectDir, { include "CHANGES.txt" rename { file -> 'LUCENE_CHANGES.txt' } }) from(configurations.contrib, { into "contrib" }) from(configurations.distSolr, { into "dist" }) from(configurations.distSolrj - configurations.distSolr, { into "dist/solrj-lib" }) from(configurations.example, { into "example" }) from(configurations.server, { into "server" }) // docs/ - TODO: this is assembled via XSLT... leaving out for now. into distDir doLast { logger.lifecycle "Solr distribution assembled under: ${distDir}" } } task dev(type: Copy) { description "Assemble Solr distribution into 'development' folder at ${devDir}" group "build" from toDir.outputs into devDir } assemble.dependsOn toDir