[Gradle] Fix embedAndSign failire when signing is disable

^KT-50837 Verification Pending
This commit is contained in:
Artem Daugel-Dauge
2023-05-22 15:27:39 +02:00
committed by Space Team
parent 322799f823
commit 5700212119
2 changed files with 43 additions and 7 deletions
@@ -138,6 +138,38 @@ class AppleFrameworkIT : KGPBaseTest() {
} }
} }
@DisplayName("EmbedAnsSign executes normally when signing is disabled")
@OptIn(EnvironmentalVariablesOverride::class)
// We need to use Gradle 7.2 here because of the issue https://github.com/gradle/gradle/issues/13957
@GradleTestVersions(minVersion = TestVersions.Gradle.G_7_2)
@GradleAndroidTest
fun testEmbedAnsSignExecutionWithoutSigning(
gradleVersion: GradleVersion,
agpVersion: String,
jdkProvider: JdkVersions.ProvidedJdk,
) {
nativeProject(
"sharedAppleFramework",
gradleVersion,
buildJdk = jdkProvider.location,
buildOptions = defaultBuildOptions.copy(
androidVersion = agpVersion
)
) {
val environmentVariables = mapOf(
"CONFIGURATION" to "debug",
"SDK_NAME" to "iphoneos",
"ARCHS" to "arm64",
"TARGET_BUILD_DIR" to projectPath.absolutePathString(),
"FRAMEWORKS_FOLDER_PATH" to "build/xcode-derived"
)
build(":shared:embedAndSignAppleFrameworkForXcode", environmentVariables = EnvironmentalVariables(environmentVariables)) {
assertDirectoryInProjectExists("build/xcode-derived/sdk.framework")
}
}
}
@DisplayName("embedAndSignAppleFrameworkForXcode fail") @DisplayName("embedAndSignAppleFrameworkForXcode fail")
@GradleAndroidTest @GradleAndroidTest
// We need to use Gradle 7.2 here because of the issue https://github.com/gradle/gradle/issues/13957 // We need to use Gradle 7.2 here because of the issue https://github.com/gradle/gradle/issues/13957
@@ -183,9 +183,11 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
property("type", envBuildType) property("type", envBuildType)
property("targets", envTargets) property("targets", envTargets)
property("embeddedFrameworksDir", envEmbeddedFrameworksDir) property("embeddedFrameworksDir", envEmbeddedFrameworksDir)
if (envSign != null) {
property("sign", envSign) property("sign", envSign)
} }
} }
}
val assembleTask = registerAssembleAppleFrameworkTask(framework) ?: return val assembleTask = registerAssembleAppleFrameworkTask(framework) ?: return
if (framework.buildType != envBuildType || !envTargets.contains(framework.konanTarget)) return if (framework.buildType != envBuildType || !envTargets.contains(framework.konanTarget)) return
@@ -194,7 +196,8 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
task.dependsOn(assembleTask) task.dependsOn(assembleTask)
task.files = files(File(appleFrameworkDir(envFrameworkSearchDir), framework.outputFile.name)) task.files = files(File(appleFrameworkDir(envFrameworkSearchDir), framework.outputFile.name))
task.destDir = envEmbeddedFrameworksDir task.destDir = envEmbeddedFrameworksDir
if (envSign != null) task.doLast { if (envSign != null) {
task.doLast {
val binary = envEmbeddedFrameworksDir val binary = envEmbeddedFrameworksDir
.resolve(framework.outputFile.name) .resolve(framework.outputFile.name)
.resolve(framework.outputFile.nameWithoutExtension) .resolve(framework.outputFile.nameWithoutExtension)
@@ -203,6 +206,7 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
} }
} }
} }
}
} }
private val Framework.namePrefix: String private val Framework.namePrefix: String