[Gradle] Fix embedAndSign failire when signing is disable
^KT-50837 Verification Pending
This commit is contained in:
committed by
Space Team
parent
322799f823
commit
5700212119
+32
@@ -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")
|
||||
@GradleAndroidTest
|
||||
// We need to use Gradle 7.2 here because of the issue https://github.com/gradle/gradle/issues/13957
|
||||
|
||||
+11
-7
@@ -183,7 +183,9 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
|
||||
property("type", envBuildType)
|
||||
property("targets", envTargets)
|
||||
property("embeddedFrameworksDir", envEmbeddedFrameworksDir)
|
||||
property("sign", envSign)
|
||||
if (envSign != null) {
|
||||
property("sign", envSign)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,12 +196,14 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
|
||||
task.dependsOn(assembleTask)
|
||||
task.files = files(File(appleFrameworkDir(envFrameworkSearchDir), framework.outputFile.name))
|
||||
task.destDir = envEmbeddedFrameworksDir
|
||||
if (envSign != null) task.doLast {
|
||||
val binary = envEmbeddedFrameworksDir
|
||||
.resolve(framework.outputFile.name)
|
||||
.resolve(framework.outputFile.nameWithoutExtension)
|
||||
exec {
|
||||
it.commandLine("codesign", "--force", "--sign", envSign, "--", binary)
|
||||
if (envSign != null) {
|
||||
task.doLast {
|
||||
val binary = envEmbeddedFrameworksDir
|
||||
.resolve(framework.outputFile.name)
|
||||
.resolve(framework.outputFile.nameWithoutExtension)
|
||||
exec {
|
||||
it.commandLine("codesign", "--force", "--sign", envSign, "--", binary)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user