KT-62745: Add sandboxing error message to embedAndSignAppleFrameworkForXcode task
This commit is contained in:
committed by
Space Team
parent
f50fab65cc
commit
5982543867
Generated
+7
@@ -0,0 +1,7 @@
|
|||||||
|
<component name="ProjectDictionaryState">
|
||||||
|
<dictionary name="Andrey.Yastrebov">
|
||||||
|
<words>
|
||||||
|
<w>sandboxing</w>
|
||||||
|
</words>
|
||||||
|
</dictionary>
|
||||||
|
</component>
|
||||||
+23
@@ -76,6 +76,8 @@ private object XcodeEnvironment {
|
|||||||
|
|
||||||
val sign: String? get() = System.getenv("EXPANDED_CODE_SIGN_IDENTITY")
|
val sign: String? get() = System.getenv("EXPANDED_CODE_SIGN_IDENTITY")
|
||||||
|
|
||||||
|
val userScriptSandboxingEnabled: String? get() = System.getenv("ENABLE_USER_SCRIPT_SANDBOXING")
|
||||||
|
|
||||||
override fun toString() = """
|
override fun toString() = """
|
||||||
XcodeEnvironment:
|
XcodeEnvironment:
|
||||||
buildType=$buildType
|
buildType=$buildType
|
||||||
@@ -147,6 +149,7 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
|
|||||||
val envEmbeddedFrameworksDir = XcodeEnvironment.embeddedFrameworksDir
|
val envEmbeddedFrameworksDir = XcodeEnvironment.embeddedFrameworksDir
|
||||||
val envFrameworkSearchDir = XcodeEnvironment.frameworkSearchDir
|
val envFrameworkSearchDir = XcodeEnvironment.frameworkSearchDir
|
||||||
val envSign = XcodeEnvironment.sign
|
val envSign = XcodeEnvironment.sign
|
||||||
|
val userScriptSandboxingEnabled = XcodeEnvironment.userScriptSandboxingEnabled
|
||||||
|
|
||||||
val frameworkTaskName = lowerCamelCaseName(AppleXcodeTasks.embedAndSignTaskPrefix, framework.namePrefix, AppleXcodeTasks.embedAndSignTaskPostfix)
|
val frameworkTaskName = lowerCamelCaseName(AppleXcodeTasks.embedAndSignTaskPrefix, framework.namePrefix, AppleXcodeTasks.embedAndSignTaskPostfix)
|
||||||
|
|
||||||
@@ -174,6 +177,23 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (userScriptSandboxingEnabled == "YES") {
|
||||||
|
locateOrRegisterTask<DefaultTask>(frameworkTaskName) { task ->
|
||||||
|
task.group = BasePlugin.BUILD_GROUP
|
||||||
|
task.description = "Embed and sign ${framework.namePrefix} framework as requested by Xcode's environment variables"
|
||||||
|
task.doFirst {
|
||||||
|
throw IllegalStateException(
|
||||||
|
"You have sandboxing for user scripts enabled. " +
|
||||||
|
"\nTo make the $frameworkTaskName task pass, disable this feature. " +
|
||||||
|
"\nIn your Xcode project, navigate to \"Build Setting\", " +
|
||||||
|
"and under \"Build Options\" set \"User script sandboxing\" (ENABLE_USER_SCRIPT_SANDBOXING) to \"NO\". " +
|
||||||
|
"\nFor more information, see documentation: https://jb.gg/ltd9e6"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
val embedAndSignTask = locateOrRegisterTask<FrameworkCopy>(frameworkTaskName) { task ->
|
val embedAndSignTask = locateOrRegisterTask<FrameworkCopy>(frameworkTaskName) { task ->
|
||||||
task.group = BasePlugin.BUILD_GROUP
|
task.group = BasePlugin.BUILD_GROUP
|
||||||
task.description = "Embed and sign ${framework.namePrefix} framework as requested by Xcode's environment variables"
|
task.description = "Embed and sign ${framework.namePrefix} framework as requested by Xcode's environment variables"
|
||||||
@@ -185,6 +205,9 @@ internal fun Project.registerEmbedAndSignAppleFrameworkTask(framework: Framework
|
|||||||
if (envSign != null) {
|
if (envSign != null) {
|
||||||
property("sign", envSign)
|
property("sign", envSign)
|
||||||
}
|
}
|
||||||
|
if (userScriptSandboxingEnabled != null) {
|
||||||
|
property("userScriptSandboxingEnabled", userScriptSandboxingEnabled)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user