[KT-47355] Fix sym link paths in macos fat framework.

This commit is contained in:
konstantin.tskhovrebov
2022-08-23 17:05:27 +02:00
parent 860f99482a
commit 45fc5fb76b
@@ -74,12 +74,16 @@ class FrameworkLayout(
modulesDir.mkdirs() modulesDir.mkdirs()
if (isMacosFramework) { if (isMacosFramework) {
macosResourcesDir.mkdirs() macosResourcesDir.mkdirs()
val currentVersion = macosVersionsDir.resolve("Current")
Files.createSymbolicLink(currentVersion.toPath(), macosADir.relativeTo(macosVersionsDir).toPath())
val root = rootDir.toPath() val root = rootDir.toPath()
Files.createSymbolicLink(root.resolve("Headers"), headerDir.toPath()) val current = currentVersion.relativeTo(rootDir).toPath()
Files.createSymbolicLink(root.resolve("Modules"), modulesDir.toPath()) Files.createSymbolicLink(root.resolve("Headers"), current.resolve("Headers"))
Files.createSymbolicLink(root.resolve("Resources"), macosResourcesDir.toPath()) Files.createSymbolicLink(root.resolve("Modules"), current.resolve("Modules"))
Files.createSymbolicLink(root.resolve(frameworkName), binary.toPath()) Files.createSymbolicLink(root.resolve("Resources"), current.resolve("Resources"))
Files.createSymbolicLink(macosVersionsDir.toPath().resolve("Current"), macosADir.toPath()) Files.createSymbolicLink(root.resolve(frameworkName), current.resolve(frameworkName))
} }
} }
@@ -403,6 +407,7 @@ open class FatFrameworkTask : DefaultTask() {
@TaskAction @TaskAction
protected fun createFatFramework() { protected fun createFatFramework() {
val outFramework = FrameworkLayout(fatFramework, getFatFrameworkFamily() == Family.OSX) val outFramework = FrameworkLayout(fatFramework, getFatFrameworkFamily() == Family.OSX)
if (outFramework.exists()) outFramework.rootDir.deleteRecursively()
outFramework.mkdirs() outFramework.mkdirs()
mergeBinaries(outFramework.binary) mergeBinaries(outFramework.binary)