[build scripts] make it possible to specify JDK version for specific OS and arch

GitOrigin-RevId: ef4948dc9cfb902106b348cbaba7c3f72cade2d6
This commit is contained in:
Vladislav Rassokhin
2020-12-04 20:51:50 +03:00
committed by intellij-monorepo-bot
parent 0614011853
commit 98a525848d
3 changed files with 16 additions and 3 deletions

View File

@@ -43,7 +43,8 @@ def jbrTasks(String defaultBuild, int version, String targetOs, String forcedPre
platformsToDownload(targetOs).each { platform ->
archToDownload(platform).each { arch ->
prefixes(arch, forcedPrefix).each { prefix ->
def jbrBuild = project.ext.has("jreBuild_$platform") ? project.ext["jreBuild_$platform"] : defaultBuild
def jbrBuild = project.ext.has("jreBuild_${platform}_${arch}") ? project.ext["jreBuild_${platform}_${arch}"] :
(project.ext.has("jreBuild_${platform}") ? project.ext["jreBuild_${platform}"] : defaultBuild)
def (update, buildNumber) = splitJbrBuild(jbrBuild.toString(), version.toString())
def jbrArtifactName = "$prefix$update-$platform-$arch-$buildNumber"
downloadJbrTask(jbrArtifactName, jbrBuild.toString())

View File

@@ -46,7 +46,7 @@ class BundledJreManager {
return targetDir
}
File archive = findArchive(os, jreBuild, arch)
File archive = findJreArchive(os, arch)
if (archive == null) {
return null
}
@@ -62,7 +62,11 @@ class BundledJreManager {
}
File findJreArchive(OsFamily os, JvmArchitecture arch = JvmArchitecture.x64) {
findArchive(os, jreBuild, arch)
def build =
buildContext.dependenciesProperties.propertyOrNull("jreBuild_${os.jbrArchiveSuffix}_${getJBRArchSuffix(arch)}") ?:
buildContext.dependenciesProperties.propertyOrNull("jreBuild_${os.jbrArchiveSuffix}") ?:
jreBuild
findArchive(os, build, arch)
}
private File findArchive(OsFamily os, String jreBuild, JvmArchitecture arch) {

View File

@@ -41,4 +41,12 @@ class DependenciesProperties {
}
return value
}
String propertyOrNull(String name) {
def value = props.get(name)
if (value == null) {
context.messages.warning("`$name` is not defined in `$directory/gradle.properties`")
}
return value
}
}