Build: Download jshell using configuration
This commit is contained in:
committed by
Space Team
parent
965b00549f
commit
d5831587fb
@@ -8813,6 +8813,20 @@
|
||||
<sha256 value="05165e53fd9aeb774f95178c85740c3ee9ea72a9ca489497df837cc397a5da06" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.mozilla" name="jsshell" version="2023-05-12-09-49-14-mozilla-central">
|
||||
<artifact name="jsshell-2023-05-12-09-49-14-mozilla-central-linux-x86_64.zip">
|
||||
<md5 value="89dc0de9e0f43be8a79773091bbcc360" origin="Generated by Gradle"/>
|
||||
<sha256 value="975cd4a1e56705ba9cad53b694fb76547cc458096e460138043db3be70614f49" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="jsshell-2023-05-12-09-49-14-mozilla-central-mac.zip">
|
||||
<md5 value="75436dc4f38a846342559048624d64e7" origin="Generated by Gradle"/>
|
||||
<sha256 value="3fb3b24b3b91275a69f0d8b1021bfa5e4ca5603afa62be8b42cde011f9fc2189" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="jsshell-2023-05-12-09-49-14-mozilla-central-win64.zip">
|
||||
<md5 value="284986d7035bc4a61be0085b3c500a80" origin="Generated by Gradle"/>
|
||||
<sha256 value="11cff20bd4ad5fb34d330c5852f638fec889bc70db574677a0d4ea7d956f99ef" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.nodejs" name="node" version="16.13.0">
|
||||
<artifact name="node-16.13.0-darwin-arm64.tar.gz">
|
||||
<md5 value="e8b6901932683ae9c6d0d24b379cdf82" origin="Generated by Gradle"/>
|
||||
|
||||
@@ -1,11 +1,63 @@
|
||||
import org.gradle.internal.os.OperatingSystem
|
||||
import de.undercouch.gradle.tasks.download.Download
|
||||
import java.net.URI
|
||||
import java.util.*
|
||||
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
id("jps-compatible")
|
||||
id("de.undercouch.download")
|
||||
}
|
||||
|
||||
repositories {
|
||||
ivy {
|
||||
url = URI("https://archive.mozilla.org/pub/firefox/nightly/")
|
||||
patternLayout {
|
||||
artifact("2023/05/[revision]/[artifact]-[classifier].[ext]")
|
||||
}
|
||||
metadataSources { artifact() }
|
||||
content { includeModule("org.mozilla", "jsshell") }
|
||||
}
|
||||
}
|
||||
|
||||
enum class OsName { WINDOWS, MAC, LINUX, UNKNOWN }
|
||||
enum class OsArch { X86_32, X86_64, ARM64, UNKNOWN }
|
||||
data class OsType(val name: OsName, val arch: OsArch)
|
||||
|
||||
val currentOsType = run {
|
||||
val gradleOs = OperatingSystem.current()
|
||||
val osName = when {
|
||||
gradleOs.isMacOsX -> OsName.MAC
|
||||
gradleOs.isWindows -> OsName.WINDOWS
|
||||
gradleOs.isLinux -> OsName.LINUX
|
||||
else -> OsName.UNKNOWN
|
||||
}
|
||||
|
||||
val osArch = when (providers.systemProperty("sun.arch.data.model").forUseAtConfigurationTime().get()) {
|
||||
"32" -> OsArch.X86_32
|
||||
"64" -> when (providers.systemProperty("os.arch").forUseAtConfigurationTime().get().toLowerCase()) {
|
||||
"aarch64" -> OsArch.ARM64
|
||||
else -> OsArch.X86_64
|
||||
}
|
||||
else -> OsArch.UNKNOWN
|
||||
}
|
||||
|
||||
OsType(osName, osArch)
|
||||
}
|
||||
|
||||
|
||||
val jsShellVersion = "2023-05-12-09-49-14-mozilla-central"
|
||||
val jsShellSuffix = when (currentOsType) {
|
||||
OsType(OsName.LINUX, OsArch.X86_32) -> "linux-i686"
|
||||
OsType(OsName.LINUX, OsArch.X86_64) -> "linux-x86_64"
|
||||
OsType(OsName.MAC, OsArch.X86_64),
|
||||
OsType(OsName.MAC, OsArch.ARM64) -> "mac"
|
||||
OsType(OsName.WINDOWS, OsArch.X86_32) -> "win32"
|
||||
OsType(OsName.WINDOWS, OsArch.X86_64) -> "win64"
|
||||
else -> error("unsupported os type $currentOsType")
|
||||
}
|
||||
|
||||
val jsShell by configurations.creating {
|
||||
isCanBeResolved = true
|
||||
isCanBeConsumed = false
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -13,6 +65,8 @@ dependencies {
|
||||
testApi(projectTests(":compiler:tests-common"))
|
||||
testApi(projectTests(":compiler:tests-common-new"))
|
||||
testApi(intellijCore())
|
||||
|
||||
jsShell("org.mozilla:jsshell:$jsShellVersion:$jsShellSuffix@zip")
|
||||
}
|
||||
|
||||
val generationRoot = projectDir.resolve("tests-gen")
|
||||
@@ -52,55 +106,13 @@ fun Test.setupGradlePropertiesForwarding() {
|
||||
}
|
||||
}
|
||||
|
||||
enum class OsName { WINDOWS, MAC, LINUX, UNKNOWN }
|
||||
enum class OsArch { X86_32, X86_64, ARM64, UNKNOWN }
|
||||
data class OsType(val name: OsName, val arch: OsArch)
|
||||
|
||||
val currentOsType = run {
|
||||
val gradleOs = OperatingSystem.current()
|
||||
val osName = when {
|
||||
gradleOs.isMacOsX -> OsName.MAC
|
||||
gradleOs.isWindows -> OsName.WINDOWS
|
||||
gradleOs.isLinux -> OsName.LINUX
|
||||
else -> OsName.UNKNOWN
|
||||
}
|
||||
|
||||
val osArch = when (providers.systemProperty("sun.arch.data.model").forUseAtConfigurationTime().get()) {
|
||||
"32" -> OsArch.X86_32
|
||||
"64" -> when (providers.systemProperty("os.arch").forUseAtConfigurationTime().get().toLowerCase()) {
|
||||
"aarch64" -> OsArch.ARM64
|
||||
else -> OsArch.X86_64
|
||||
}
|
||||
else -> OsArch.UNKNOWN
|
||||
}
|
||||
|
||||
OsType(osName, osArch)
|
||||
}
|
||||
|
||||
val jsShellVersion = "2023-05-12-09-49-14-mozilla-central"
|
||||
val jsShellDirectory = "https://archive.mozilla.org/pub/firefox/nightly/2023/05/$jsShellVersion"
|
||||
val jsShellSuffix = when (currentOsType) {
|
||||
OsType(OsName.LINUX, OsArch.X86_32) -> "linux-i686"
|
||||
OsType(OsName.LINUX, OsArch.X86_64) -> "linux-x86_64"
|
||||
OsType(OsName.MAC, OsArch.X86_64),
|
||||
OsType(OsName.MAC, OsArch.ARM64) -> "mac"
|
||||
OsType(OsName.WINDOWS, OsArch.X86_32) -> "win32"
|
||||
OsType(OsName.WINDOWS, OsArch.X86_64) -> "win64"
|
||||
else -> error("unsupported os type $currentOsType")
|
||||
}
|
||||
val jsShellLocation = "$jsShellDirectory/jsshell-$jsShellSuffix.zip"
|
||||
|
||||
val downloadedTools = File(buildDir, "tools")
|
||||
|
||||
val downloadJsShell by task<Download> {
|
||||
src(jsShellLocation)
|
||||
dest(File(downloadedTools, "jsshell-$jsShellSuffix-$jsShellVersion.zip"))
|
||||
overwrite(false)
|
||||
}
|
||||
|
||||
val unzipJsShell by task<Copy> {
|
||||
dependsOn(downloadJsShell)
|
||||
from(zipTree(downloadJsShell.get().dest))
|
||||
dependsOn(jsShell)
|
||||
from {
|
||||
zipTree(jsShell.singleFile)
|
||||
}
|
||||
val unpackedDir = File(downloadedTools, "jsshell-$jsShellSuffix-$jsShellVersion")
|
||||
into(unpackedDir)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user