OpenSearch/distribution/archives/build.gradle

175 lines
4.3 KiB
Groovy

/*
* SPDX-License-Identifier: Apache-2.0
*
* The OpenSearch Contributors require contributions made to
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*
* Modifications Copyright OpenSearch Contributors. See
* GitHub history for details.
*/
/*
* 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.
*/
apply plugin: 'opensearch.internal-distribution-archive-setup'
CopySpec archiveFiles(CopySpec modulesFiles, String distributionType, String platform, String architecture, boolean jdk) {
return copySpec {
into("opensearch-${version}") {
into('lib') {
with libFiles()
}
into('config') {
dirMode 0750
fileMode 0660
with configFiles(distributionType, jdk)
from {
dirMode 0750
jvmOptionsDir.getParent()
}
}
into('bin') {
with binFiles(distributionType, jdk)
}
if (jdk) {
into("darwin".equals(platform) ? 'jdk.app' : 'jdk') {
with jdkFiles(project, platform, architecture)
}
}
into('') {
from {
dirMode 0755
logsDir.getParent()
}
}
into('') {
from {
dirMode 0755
pluginsDir.getParent()
}
}
from(rootProject.projectDir) {
include 'README.md'
}
from(rootProject.file('licenses')) {
include 'APACHE-LICENSE-2.0.txt'
rename { 'LICENSE.txt' }
}
with noticeFile(jdk)
into('modules') {
with modulesFiles
}
}
}
}
distribution_archives {
integTestZip {
content {
archiveFiles(transportModulesFiles, 'zip', null, 'x64', false)
}
}
darwinTar {
archiveClassifier = 'darwin-x64'
content {
archiveFiles(modulesFiles('darwin-x64'), 'tar', 'darwin', 'x64', true)
}
}
darwinArm64Tar {
archiveClassifier = 'darwin-arm64'
content {
archiveFiles(modulesFiles('darwin-arm64'), 'tar', 'darwin', 'arm64', true)
}
}
noJdkDarwinTar {
archiveClassifier = 'no-jdk-darwin-x64'
content {
archiveFiles(modulesFiles('darwin-x64'), 'tar', 'darwin', 'x64', false)
}
}
noJdkDarwinArm64Tar {
archiveClassifier = 'no-jdk-darwin-arm64'
content {
archiveFiles(modulesFiles('darwin-arm64'), 'tar', 'darwin', 'arm64', false)
}
}
freebsdTar {
archiveClassifier = 'freebsd-x64'
content {
archiveFiles(modulesFiles('freebsd-x64'), 'tar', 'freebsd', 'x64', false)
}
}
noJdkFreebsdTar {
archiveClassifier = 'no-jdk-freebsd-x64'
content {
archiveFiles(modulesFiles('freebsd-x64'), 'tar', 'freebsd', 'x64', false)
}
}
linuxArm64Tar {
archiveClassifier = 'linux-arm64'
content {
archiveFiles(modulesFiles('linux-arm64'), 'tar', 'linux', 'arm64', true)
}
}
linuxTar {
archiveClassifier = 'linux-x64'
content {
archiveFiles(modulesFiles('linux-x64'), 'tar', 'linux', 'x64', true)
}
}
noJdkLinuxTar {
archiveClassifier = 'no-jdk-linux-x64'
content {
archiveFiles(modulesFiles('linux-x64'), 'tar', 'linux', 'x64', false)
}
}
windowsZip {
archiveClassifier = 'windows-x64'
content {
archiveFiles(modulesFiles('windows-x64'), 'zip', 'windows', 'x64', true)
}
}
noJdkWindowsZip {
archiveClassifier = 'no-jdk-windows-x64'
content {
archiveFiles(modulesFiles('windows-x64'), 'zip', 'windows', 'x64', false)
}
}
}
subprojects {
apply plugin: 'distribution'
apply plugin: 'opensearch.internal-distribution-archive-check'
group = "org.opensearch.distribution"
}