1 /* 2 * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Amazon designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 */ 21 22 dependencies { 23 compile project(path: ':openjdksrc', configuration: 'archives') 24 compile project(path: ':prebuild', configuration: 'cacerts') 25 } 26 27 def imageDir = "$buildRoot/build/${project.jdkImageName}/images" 28 def jdkResultingImage = "${imageDir}/jdk" 29 def testResultingImage = "${imageDir}/test" 30 31 // deps 32 def depsMap = [:] 33 project.configurations.compile.getFiles().each { depsMap[it.getName()] = it } 34 35 task copySource(type: Copy) { 36 dependsOn project.configurations.compile 37 from tarTree(depsMap[sourceTar]) 38 into buildRoot 39 } 40 41 42 task configureBuild(type: Exec) { 43 dependsOn copySource 44 workingDir buildRoot 45 46 // Platform specific flags 47 def command = ['bash', 'configure', 48 "--with-cacerts-file=${depsMap[caCerts]}", 49 "--with-boot-jdk=${project.getProperty('bootjdk_dir')}", 50 "--with-zlib=bundled" 51 ] 52 // Common flags 53 command += project.correttoCommonFlags 54 commandLine command.flatten() 55 } 56 57 task executeBuild(type: Exec) { 58 dependsOn configureBuild 59 workingDir buildRoot 60 commandLine 'make', 'images' 61 outputs.dir jdkResultingImage 62 } 63 64 task createTestImage(type: Exec) { 65 dependsOn executeBuild 66 workingDir "$buildRoot" 67 commandLine 'make','test-image' 68 } 69 70 task packageTestImage(type: Zip) { 71 dependsOn createTestImage 72 archiveFileName = "${project.correttoTestImageArchiveName}.zip" 73 from(testResultingImage) { 74 include '**' 75 } 76 into project.correttoTestImageArchiveName 77 } 78 79 task packageDebugSymbols(type: Zip) { 80 dependsOn packageTestImage 81 archiveFileName = "${project.correttoDebugSymbolsArchiveName}.zip" 82 83 from(jdkResultingImage) { 84 include 'bin/*.diz' 85 include 'lib/*.diz' 86 include 'lib/server/*.diz' 87 into project.correttoDebugSymbolsArchiveName 88 } 89 } 90 91 task packageBuildResults(type: Zip) { 92 dependsOn packageDebugSymbols 93 archiveFileName = "unsigned-jdk-image.zip" 94 95 from(jdkResultingImage) { 96 exclude 'demo' 97 exclude '**/*.diz' 98 } 99 100 from(buildRoot) { 101 include project.rootFiles 102 } 103 } 104 105 build.dependsOn packageBuildResults 106 107 artifacts { 108 archives packageBuildResults 109 }