mirror of https://github.com/apache/lucene.git
145 lines
3.5 KiB
Groovy
145 lines
3.5 KiB
Groovy
/*
|
|
* 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'
|
|
id 'distribution'
|
|
}
|
|
|
|
description = 'Solr distribution packaging'
|
|
|
|
ext {
|
|
distDir = file("$buildDir/solr-${version}")
|
|
devDir = file("$buildDir/dev")
|
|
}
|
|
|
|
configurations {
|
|
distSolr {
|
|
transitive = false
|
|
}
|
|
distSolrj
|
|
contrib
|
|
example
|
|
server
|
|
docs
|
|
}
|
|
|
|
dependencies {
|
|
distSolrj project(":solr:solrj")
|
|
|
|
[":solr:contrib:analysis-extras",
|
|
":solr:contrib:analytics",
|
|
":solr:contrib:extraction",
|
|
":solr:contrib:clustering",
|
|
":solr:contrib:jaegertracer-configurator",
|
|
":solr:contrib:langid",
|
|
":solr:contrib:ltr",
|
|
":solr:contrib:prometheus-exporter",
|
|
":solr:contrib:scripting"
|
|
].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")
|
|
|
|
// Copy files from documentation output
|
|
docs project(path: ':solr:documentation', configuration: 'minimalSite')
|
|
}
|
|
|
|
distributions {
|
|
main {
|
|
distributionBaseName = 'solr'
|
|
contents {
|
|
// TODO: This is missing module README files, as compared to 8x
|
|
|
|
// Manually correct posix permissions (matters when packaging on Windows).
|
|
filesMatching([
|
|
"**/*.sh",
|
|
"**/bin/post",
|
|
"**/bin/postlogs",
|
|
"**/bin/solr",
|
|
"**/bin/init.d/solr",
|
|
"**/bin/solr-exporter",
|
|
]) { copy ->
|
|
copy.setMode(0755)
|
|
}
|
|
|
|
from(project(":solr").projectDir, {
|
|
include "bin/**"
|
|
include "licenses/**"
|
|
exclude "licenses/README.committers.txt"
|
|
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"
|
|
})
|
|
|
|
from(configurations.docs, {
|
|
into "docs"
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
installDist {
|
|
into distDir
|
|
}
|
|
|
|
task dev(type: Copy) {
|
|
description "Assemble Solr distribution into 'development' folder at ${devDir}"
|
|
group "build"
|
|
|
|
from installDist.outputs
|
|
into devDir
|
|
}
|
|
|
|
assemble.dependsOn installDist
|