| /* |
| * 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' |
| } |
| |
| description = 'Solr packaging' |
| |
| 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 |
| |