IJI-113: second jre downloading from bintray

This commit is contained in:
Dmitriy.Panov
2019-02-06 02:49:07 +03:00
parent 0771b19197
commit 70d6bf2cfd
5 changed files with 30 additions and 12 deletions
+2
View File
@@ -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
+10 -3
View File
@@ -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)
@@ -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
@@ -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)
}
@@ -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) {