From 70d6bf2cfd65f5542ac04180a42dc9dfc7b4db46 Mon Sep 17 00:00:00 2001 From: "Dmitriy.Panov" Date: Mon, 4 Feb 2019 15:58:16 +0300 Subject: [PATCH] IJI-113: second jre downloading from bintray --- build/dependencies/gradle.properties | 2 ++ build/dependencies/setupJbre.gradle | 13 +++++++++--- .../build/impl/BundledJreManager.groovy | 21 +++++++++++++------ .../build/impl/MacDistributionBuilder.groovy | 4 ++-- .../impl/WindowsDistributionBuilder.groovy | 2 +- 5 files changed, 30 insertions(+), 12 deletions(-) diff --git a/build/dependencies/gradle.properties b/build/dependencies/gradle.properties index 2f92c2a252eb..8f4e47a672a5 100644 --- a/build/dependencies/gradle.properties +++ b/build/dependencies/gradle.properties @@ -4,4 +4,6 @@ kotlinPluginBuild=1.3.20-release-IJ2018.3-1 jetSignBuild=42.30 bundledMavenVersion=3.6.0 jdkBuild=u202b1483.19 +secondJreVersion=11 +secondJreBuild=b96 gradleApiVersion=4.10.3 diff --git a/build/dependencies/setupJbre.gradle b/build/dependencies/setupJbre.gradle index 1d9e3983d697..466fcc2b4f46 100644 --- a/build/dependencies/setupJbre.gradle +++ b/build/dependencies/setupJbre.gradle @@ -9,6 +9,12 @@ def jreVersion = System.getProperty("intellij.build.bundled.jre.version", "8").t def jreBuild = System.getProperty("intellij.build.bundled.jre.build", jdkBuild) createJbreTasks(jreBuild, jreVersion, targetOs) +if (System.getProperty('intellij.build.bundle.second.jre', 'false').toBoolean()) { + def secondJreBuild = System.getProperty("intellij.build.bundled.second.jre.build", secondJreBuild) + def secondJreVersion = System.getProperty("intellij.build.bundled.second.jre.version", secondJreVersion).toInteger() + createJbreTasks(secondJreBuild, secondJreVersion, targetOs) +} + def createJbreTasks(String defaultBuild, int version, String targetOs) { def isModular = version >= 9 def jbsdkPrefix = version == 8 ? 'jbrex8' : "jbsdk$version" @@ -36,9 +42,9 @@ def createDownloadJbreTask(String artifactName, String build, boolean doRepackag def suffix = doRepackage ? '_origin' : '' def outputFile = "$outputDir/${artifactName}${suffix}.tar.gz" task("download${artifactName.capitalize()}") { - def src = "https://cache-redirector.jetbrains.com/intellij-jdk/${artifactName}.tar.gz".toString() - it.inputs.property('build', build) - it.outputs.file(outputFile) + def jdkRepo = 'https://cache-redirector.jetbrains.com/intellij-jdk' + inputs.property('build', build) + outputs.file(outputFile) doLast { logger.info("Downloading $artifactName to $outputFile") download { @@ -48,6 +54,7 @@ def createDownloadJbreTask(String artifactName, String build, boolean doRepackag timeout TimeUnit.MINUTES.toMillis(30).toInteger() } } + setupJbre.dependsOn(it) cleanSetupJbre.dependsOn("clean${it.name.capitalize()}") } file(outputFile) diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/BundledJreManager.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/BundledJreManager.groovy index 62aa8023cc75..3fa7c119c2dc 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/BundledJreManager.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/BundledJreManager.groovy @@ -44,8 +44,8 @@ class BundledJreManager { return targetDir } - def jreArchive = "jbsdk${getSecondJreVersion()}${secondJreBuild}_${JvmArchitecture.x64}.tar.gz" - File archive = new File(buildContext.paths.projectHome, "build/jdk11/${osName}/$jreArchive") + def jreArchive = "jbsdk${getSecondJreVersion()}${secondJreBuild}_${osName}_${JvmArchitecture.x64}.tar.gz" + File archive = new File(jreDir(), jreArchive) if (!archive.file || !archive.exists()) { def errorMessage = "Cannot extract $osName JRE: file $jreArchive is not found" buildContext.messages.warning(errorMessage) @@ -153,10 +153,18 @@ class BundledJreManager { return targetDir } + private File dependenciesDir() { + new File(buildContext.paths.communityHome, 'build/dependencies') + } + + File jreDir() { + def dependenciesDir = dependenciesDir() + new File(dependenciesDir, 'build/jbre') + } + private File findJreArchive(String osName, JvmArchitecture arch = JvmArchitecture.x64, JreVendor vendor = JreVendor.JetBrains) { - def dependenciesDir = new File(buildContext.paths.communityHome, 'build/dependencies') - def jreDir = new File(dependenciesDir, 'build/jbre') - def jreVersion = getExpectedJreVersion(osName, dependenciesDir) + def jreDir = jreDir() + def jreVersion = getExpectedJreVersion(osName, dependenciesDir()) String suffix = "${jreVersion}_$osName${arch == JvmArchitecture.x32 ? '_x86' : '_x64'}.tar.gz" String prefix = buildContext.isBundledJreModular() ? vendor.modularJreNamePrefix : @@ -195,7 +203,8 @@ class BundledJreManager { } private enum JreVendor { - Oracle("jre8", "jdk8", "jre"), JetBrains("jbre8", "jbrex8", "jbre") + Oracle("jre8", "jdk8", "jre"), + JetBrains("jbre8", "jbrex8", "jbsdk") final String jreNamePrefix final String jreWithToolsJarNamePrefix diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy index 39fa5536d193..518bceb62a33 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy @@ -116,8 +116,8 @@ class MacDistributionBuilder extends OsSpecificDistributionBuilder { buildContext.executeStep("Build .dmg artifact for macOS", BuildOptions.MAC_DMG_STEP) { MacDmgBuilder.signAndBuildDmg(buildContext, customizer, buildContext.proprietaryBuildTools.macHostProperties, macZipPath) if (secondJreBuild != null) { - def jreArchive = "jbsdk${buildContext.bundledJreManager.getSecondJreVersion()}${secondJreBuild}_${JvmArchitecture.x64}.tar.gz" - File archive = new File(buildContext.paths.projectHome, "build/jdk11/mac/$jreArchive") + def jreArchive = "jbsdk${buildContext.bundledJreManager.getSecondJreVersion()}${secondJreBuild}_osx_${JvmArchitecture.x64}.tar.gz" + File archive = new File(buildContext.bundledJreManager.jreDir(), jreArchive) if (archive.file && archive.exists()) { MacDmgBuilder.signAndBuildDmg(buildContext, customizer, buildContext.proprietaryBuildTools.macHostProperties, macZipPath, archive.absolutePath) } diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy index d8603783ccde..7f5c2c7b3028 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy @@ -110,7 +110,7 @@ class WindowsDistributionBuilder extends OsSpecificDistributionBuilder { def jreSuffix = buildContext.bundledJreManager.jreSuffix() def secondJreBuild = buildContext.bundledJreManager.getSecondJreBuild() - def secondJreDirectoryPath = (secondJreBuild != null) ? buildContext.bundledJreManager.extractSecondJre("win", secondJreBuild) : null + def secondJreDirectoryPath = (secondJreBuild != null) ? buildContext.bundledJreManager.extractSecondJre("windows", secondJreBuild) : null if (customizer.buildZipArchive) { buildWinZip(jreDirectoryPaths.findAll { it != null }, "${jreSuffix}.win", winDistPath) if (secondJreDirectoryPath != null) {