Unverified Commit decca00f authored by Ilya Ryzhenkov's avatar Ilya Ryzhenkov Committed by GitHub

Avoid sharing folders for build outputs to enable proper up-to-date checks and...

Avoid sharing folders for build outputs to enable proper up-to-date checks and use of gradle 8.1.1 (#717)
parent 328d5e56
......@@ -13,8 +13,8 @@ plugins {
id("org.jetbrains.dokka") version "1.7.20"
`maven-publish`
signing
id("org.gradle.crypto.checksum") version "1.1.0"
id("de.undercouch.download") version "4.1.2"
id("org.gradle.crypto.checksum") version "1.4.0"
id("de.undercouch.download") version "5.4.0"
}
val coroutinesVersion = "1.5.2"
......@@ -148,6 +148,9 @@ fun compileNativeBridgesTask(os: OS, arch: Arch, isArm64Simulator: Boolean): Tas
compiler.set(compilerForTarget(os, arch))
buildTargetOS.set(os)
if (isArm64Simulator) {
buildSuffix.set("sim")
}
buildTargetArch.set(arch)
buildVariant.set(buildType)
......@@ -635,12 +638,12 @@ fun skiaStaticLibraries(skiaDir: String, targetString: String): List<String> {
val allJvmRuntimeJars = mutableMapOf<Pair<OS, Arch>, TaskProvider<Jar>>()
val skikoAwtJar by project.tasks.registering(Jar::class) {
archiveBaseName.set("skiko-awt")
val skikoAwtJarForTests by project.tasks.registering(Jar::class) {
archiveBaseName.set("skiko-awt-test")
from(kotlin.jvm("awt").compilations["main"].output.allOutputs)
}
val skikoAwtRuntimeJar = createSkikoJvmJarTask(targetOs, targetArch, skikoAwtJar)
val skikoRuntimeDirForTests = skikoRuntimeDirForTestsTask(targetOs, targetArch, skikoAwtJar, skikoAwtRuntimeJar)
val skikoAwtRuntimeJarForTests = createSkikoJvmJarTask(targetOs, targetArch, skikoAwtJarForTests)
val skikoRuntimeDirForTests = skikoRuntimeDirForTestsTask(targetOs, targetArch, skikoAwtJarForTests, skikoAwtRuntimeJarForTests)
val skikoJarForTests = skikoJarForTestsTask(skikoRuntimeDirForTests)
if (supportAndroid) {
......@@ -814,6 +817,7 @@ fun createCompileJvmBindingsTask(
dependsOn(skiaJvmBindingsDir)
buildTargetOS.set(targetOs)
buildTargetArch.set(targetArch)
buildSuffix.set("jvm")
buildVariant.set(buildType)
val srcDirs = projectDirs(
......@@ -918,6 +922,7 @@ fun createLinkJvmBindings(
val libNamePrefix = if (targetOs.isWindows) "skiko" else "libskiko"
libOutputFileName.set("$libNamePrefix-${targetOs.id}-${targetArch.id}${targetOs.dynamicLibExt}")
buildTargetOS.set(targetOs)
buildSuffix.set("jvm")
buildTargetArch.set(targetArch)
buildVariant.set(buildType)
linker.set(linkerForTarget(targetOs, targetArch))
......
......@@ -23,6 +23,9 @@ abstract class AbstractSkikoNativeToolTask : DefaultTask() {
@get:Input
abstract val buildTargetOS: Property<OS>
@get:Input @get:Optional
abstract val buildSuffix: Property<String>
@get:Input
abstract val buildTargetArch: Property<Arch>
......@@ -42,8 +45,9 @@ abstract class AbstractSkikoNativeToolTask : DefaultTask() {
project.objects.directoryProperty().apply {
set(
project.layout.buildDirectory.map {
val suffix = "${buildVariant.get().id}-${buildTargetOS.get().id}-${buildTargetArch.get().id}"
it.dir("out/$outDirNameForTool/$suffix")
val suffix = if (buildSuffix.orNull != null) "-${buildSuffix.get()}" else ""
val folder = "${buildVariant.get().id}-${buildTargetOS.get().id}$suffix-${buildTargetArch.get().id}"
it.dir("out/$outDirNameForTool/$folder")
}
)
}
......
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment