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"/>
|
<sha256 value="05165e53fd9aeb774f95178c85740c3ee9ea72a9ca489497df837cc397a5da06" origin="Generated by Gradle"/>
|
||||||
</artifact>
|
</artifact>
|
||||||
</component>
|
</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">
|
<component group="org.nodejs" name="node" version="16.13.0">
|
||||||
<artifact name="node-16.13.0-darwin-arm64.tar.gz">
|
<artifact name="node-16.13.0-darwin-arm64.tar.gz">
|
||||||
<md5 value="e8b6901932683ae9c6d0d24b379cdf82" origin="Generated by Gradle"/>
|
<md5 value="e8b6901932683ae9c6d0d24b379cdf82" origin="Generated by Gradle"/>
|
||||||
|
|||||||
@@ -1,11 +1,63 @@
|
|||||||
import org.gradle.internal.os.OperatingSystem
|
import org.gradle.internal.os.OperatingSystem
|
||||||
import de.undercouch.gradle.tasks.download.Download
|
import java.net.URI
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm")
|
kotlin("jvm")
|
||||||
id("jps-compatible")
|
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 {
|
dependencies {
|
||||||
@@ -13,6 +65,8 @@ dependencies {
|
|||||||
testApi(projectTests(":compiler:tests-common"))
|
testApi(projectTests(":compiler:tests-common"))
|
||||||
testApi(projectTests(":compiler:tests-common-new"))
|
testApi(projectTests(":compiler:tests-common-new"))
|
||||||
testApi(intellijCore())
|
testApi(intellijCore())
|
||||||
|
|
||||||
|
jsShell("org.mozilla:jsshell:$jsShellVersion:$jsShellSuffix@zip")
|
||||||
}
|
}
|
||||||
|
|
||||||
val generationRoot = projectDir.resolve("tests-gen")
|
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 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> {
|
val unzipJsShell by task<Copy> {
|
||||||
dependsOn(downloadJsShell)
|
dependsOn(jsShell)
|
||||||
from(zipTree(downloadJsShell.get().dest))
|
from {
|
||||||
|
zipTree(jsShell.singleFile)
|
||||||
|
}
|
||||||
val unpackedDir = File(downloadedTools, "jsshell-$jsShellSuffix-$jsShellVersion")
|
val unpackedDir = File(downloadedTools, "jsshell-$jsShellSuffix-$jsShellVersion")
|
||||||
into(unpackedDir)
|
into(unpackedDir)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user