OpenSearch/distribution/deb/build.gradle

62 lines
1.9 KiB
Groovy

import org.elasticsearch.gradle.LoggedExec
/*
* Licensed to Elasticsearch under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch 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.
*/
task buildDeb(type: Deb) {
dependsOn preparePackagingFiles
baseName 'elasticsearch' // this is what pom generation uses for artifactId
// Follow elasticsearch's deb file naming convention
archiveName "${packageName}-${project.version}.deb"
version = project.version
packageGroup 'web'
requires 'libc6'
requires 'adduser'
into('/usr/share/lintian/overrides') {
from("${project.packagingFiles}/lintian/elasticsearch")
}
into('/usr/share/doc/elasticsearch') {
from "${project.packagingFiles}/copyright"
fileMode 0644
}
}
artifacts {
'default' buildDeb
archives buildDeb
}
integTest.enabled = false
licenseHeaders.enabled = false
// task that sanity checks if the Deb archive can be extracted
task checkDeb(type: LoggedExec) {
onlyIf { new File('/usr/bin/dpkg-deb').exists() || new File('/usr/local/bin/dpkg-deb').exists() }
final File debExtracted = new File("${buildDir}", 'deb-extracted')
commandLine 'dpkg-deb', '-x', "${buildDir}/distributions/elasticsearch-${project.version}.deb", debExtracted
doFirst {
debExtracted.deleteDir()
}
}
checkDeb.dependsOn buildDeb
check.dependsOn checkDeb