/* * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Amazon designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ import groovy.text.GStringTemplateEngine dependencies { compile project(path: ':openjdksrc', configuration: 'archives') } def tarName = "java-${version.major}-amazon-corretto" def tarVersion = "${version.major}.${version.minor}.${version.security}+${version.build}" def javaVersion = "${version.major}.${version.minor}.${version.security}" def buildId = "${version.build}" def releaseId = "${version.revision}" /** * Apply version numbers to the RPM spec file template and copy * to the build root. */ task inflateRpmSpec { inputs.file 'java-amazon-corretto.spec.template' outputs.file "$buildDir/java-${version.major}-amazon-corretto.spec" doLast { def renderedTemplate = new GStringTemplateEngine() .createTemplate(file('java-amazon-corretto.spec.template')) .make( [ java_spec_version : version.major, java_major_version : version.major, java_security_version : version.security, java_version : javaVersion, build_id : buildId, release_id : releaseId, version_opt : versionOpt, debug_level : correttoDebugLevel, boot_jdk_major_version : version.major.toInteger() - 1, experimental_feature: project.findProperty("corretto.experimental_feature") ?: "%{nil}", additional_configure_options: project.findProperty("corretto.additional_configure_options") ?: "%{nil}", zlib_option: project.findProperty("corretto.zlib_option") ?: "system", use_gcc_ver: project.findProperty("corretto.use_gcc_ver") ?: "%{nil}" ]) outputs.files.singleFile.text = renderedTemplate } } task copySourceTar(type: Tar) { dependsOn project.configurations.compile, inflateRpmSpec compression Compression.GZIP archiveName project.configurations.compile.singleFile.name from("$buildDir") { include "java-${project.version.major}-amazon-corretto.spec" into 'rpm' } from(tarTree(project.configurations.compile.singleFile)) { into '/' } } task rpmBuild(type: Exec) { dependsOn copySourceTar workingDir "$buildDir" executable = '/usr/bin/rpmbuild' args = ['-vv', '-bs', '--define', "dist .${project.findProperty('corretto.amzn_dist') ?: 'amzn2'}", '--define', "_topdir ${buildDir}/rpmbuild", '--define', "_sourcedir ${buildDir}/distributions", '--define', "_srcrpmdir ${buildDir}/distributions", "java-${version.major}-amazon-corretto.spec"] }