/** * Copyright © 2016-2022 The Thingsboard Authors * * Licensed 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. */ import org.apache.tools.ant.filters.ReplaceTokens plugins { id "nebula.ospackage" version "8.6.3" } buildDir = projectBuildDir version = projectVersion distsDirName = "./" // OS Package plugin configuration ospackage { packageName = pkgName version = "${project.version}" release = 1 os = LINUX type = BINARY into pkgInstallFolder user pkgUser permissionGroup pkgUser // Copy the executable file from("${buildDir}/package/linux/bin/${pkgName}") { fileMode 0500 into "bin" } // Copy the init file from("${buildDir}/package/linux/init/template") { fileMode 0500 into "init" rename { String filename -> "${pkgName}" } } // Copy the config files from("${buildDir}/package/linux/conf") { fileType CONFIG | NOREPLACE fileMode 0754 into "conf" } // Copy web files from("${buildDir}/web") { into "web" } } // Configure our RPM build task buildRpm { arch = X86_64 archiveVersion = projectVersion.replace('-', '') archiveFileName = "${pkgName}.rpm" preInstall file("${buildDir}/control/rpm/preinst") postInstall file("${buildDir}/control/rpm/postinst") preUninstall file("${buildDir}/control/rpm/prerm") postUninstall file("${buildDir}/control/rpm/postrm") user pkgUser permissionGroup pkgUser // Copy the system unit files from("${buildDir}/control/template.service") { addParentDirs = false fileMode 0644 into "/usr/lib/systemd/system" rename { String filename -> "${pkgName}.service" } } link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") } // Same as the buildRpm task buildDeb { arch = "amd64" archiveFileName = "${pkgName}.deb" configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") configurationFile("${pkgInstallFolder}/conf/custom-environment-variables.yml") configurationFile("${pkgInstallFolder}/conf/default.yml") configurationFile("${pkgInstallFolder}/conf/logger.js") preInstall file("${buildDir}/control/deb/preinst") postInstall file("${buildDir}/control/deb/postinst") preUninstall file("${buildDir}/control/deb/prerm") postUninstall file("${buildDir}/control/deb/postrm") user pkgUser permissionGroup pkgUser // Copy the system unit files from("${buildDir}/control/template.service") { addParentDirs = false fileMode 0644 into "/lib/systemd/system" rename { String filename -> "${pkgName}.service" } } link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") }