From 9379afabf4710848160385ce0d8bb7d140648cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?furby=E2=84=A2?= Date: Fri, 14 Feb 2025 17:19:32 -0700 Subject: [PATCH] Make Linux Bundle concurrency safe for Swift 6. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: furby™ --- Package.resolved | 6 +++--- Package.swift | 2 +- Sources/PixarUSD/Bundle.swift | 18 ++++++------------ 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/Package.resolved b/Package.resolved index 7ec41a34b..47ee80d2a 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "574e70c31d2f9e918e37ad66f2b3778e74a498b10fbcf408505b90a3b7d2c027", + "originHash" : "3abc8be558cfafce9b6bfe2e4459c53be9490bc02aa0976397031b7ca60ab377", "pins" : [ { "identity" : "icu", @@ -15,8 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/wabiverse/MetaverseKit", "state" : { - "branch" : "main", - "revision" : "8cf6729a950092be3d3d627964731c3b974531b8" + "revision" : "e23651486710c0a442c70adc709acdf91c0c74ff", + "version" : "1.9.0" } }, { diff --git a/Package.swift b/Package.swift index 5d6b44660..16ec95565 100644 --- a/Package.swift +++ b/Package.swift @@ -280,7 +280,7 @@ let package = Package( // prepare for SwiftCrossUI, for a cross-platform UsdView. // .package(url: "https://github.com/stackotter/swift-cross-ui", revision: "5c5d8c8"), .package(url: "https://github.com/wabiverse/icu.git", from: "76.1.2"), - .package(url: "https://github.com/wabiverse/MetaverseKit", branch: "main"), + .package(url: "https://github.com/wabiverse/MetaverseKit", from: "1.9.0"), .package(url: "https://github.com/swiftlang/swift-syntax.git", from: "600.0.1"), .package(url: "https://github.com/swiftlang/swift-docc-plugin", from: "1.4.3"), .package(url: "https://github.com/apple/swift-log.git", from: "1.5.3"), diff --git a/Sources/PixarUSD/Bundle.swift b/Sources/PixarUSD/Bundle.swift index 99cd72f83..b55f1cc4c 100644 --- a/Sources/PixarUSD/Bundle.swift +++ b/Sources/PixarUSD/Bundle.swift @@ -20,28 +20,22 @@ import Rainbow /** * On Linux there is no ``Foundation.Bundle``, so we create one. */ - public struct Bundle + public final class Bundle: Sendable { public static let main = Bundle() + + public let resourcePath: String? + private init() { resourcePath = "/" + Arch.getExecutablePath().split(separator: "/").dropLast().joined(separator: "/") - Msg.logger.log(level: .info, "Bundle path: \(resourcePath ?? "")") } - public var resourcePath: String? - public init?(path: String) { - if FileManager.default.fileExists(atPath: path, isDirectory: nil) - { - resourcePath = path - } - else - { - return nil - } + guard FileManager.default.fileExists(atPath: path, isDirectory: nil) else { return nil } + resourcePath = path } } #endif /* os(Linux) */