From 3786bac911c7378cc2d67305ac5cf5d10e6eb68c Mon Sep 17 00:00:00 2001 From: Kyle Date: Thu, 26 Feb 2026 01:23:23 +0800 Subject: [PATCH 1/5] Add oagBinary support --- Package.resolved | 11 +----- Package.swift | 91 ++++++++++++++++++++++++++++-------------------- 2 files changed, 55 insertions(+), 47 deletions(-) diff --git a/Package.resolved b/Package.resolved index 30e3922..6ffbaf2 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "55d8d91d8066a1fb489ac9e0a78c6722915b2e81496637b03caf00b8047b7d1c", + "originHash" : "1665d319fff28e99fba0f705d06ef324c85934b818724492e3771c8d47a1e60f", "pins" : [ { "identity" : "darwinprivateframeworks", @@ -9,15 +9,6 @@ "branch" : "main", "revision" : "18d26f5dcc334468fad0904697233faeb41a1805" } - }, - { - "identity" : "swift-numerics", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-numerics", - "state" : { - "revision" : "0c0290ff6b24942dadb83a929ffaaa1481df04a2", - "version" : "1.1.1" - } } ], "version" : 3 diff --git a/Package.swift b/Package.swift index 5d46086..03fd88e 100644 --- a/Package.swift +++ b/Package.swift @@ -276,16 +276,14 @@ let swiftClonePlugin = Target.plugin( // MARK: - Targets let platformTarget = Target.target( - // Avoid target collision with Compute package - name: "OpenAttributeGraphPlatform", + name: "Platform", path: "Sources/Platform", cSettings: sharedCSettings + [ .define("_GNU_SOURCE", .when(platforms: [.linux])), ] ) let utilitiesTarget = Target.target( - // Avoid target collision with Compute package - name: "OpenAttributeGraphUtilities", + name: "Utilities", dependencies: [ .target(name: platformTarget.name), ], @@ -372,20 +370,13 @@ let openAttributeGraphCompatibilityTestsTarget = Target.testTarget( let package = Package( name: "OpenAttributeGraph", products: [ - .library(name: "OpenAttributeGraph", type: .dynamic, targets: [openAttributeGraphTarget.name, openAttributeGraphCxxTarget.name]), - .library(name: "OpenAttributeGraphShims", type: .dynamic, targets: [openAttributeGraphShimsTarget.name]), - ], - dependencies: [ - .package(url: "https://github.com/apple/swift-numerics", from: "1.0.2"), - ], - targets: [ - swiftClonePlugin, - platformTarget, - utilitiesTarget, - openAttributeGraphTarget, - openAttributeGraphCxxTarget, - openAttributeGraphShimsTarget, + .library( + name: "OpenAttributeGraphShims", + type: .dynamic, + targets: [openAttributeGraphShimsTarget.name] + ) ], + targets: [openAttributeGraphShimsTarget], cxxLanguageStandard: .cxx20 ) @@ -413,33 +404,18 @@ func setupDPFDependency() { } } -if compatibilityTestCondition { - setupDPFDependency() - openAttributeGraphCompatibilityTestsTarget.addAGSettings() -} else { - package.targets += [ - utilitiesTestsTarget, - openAttributeGraphCxxTestsTarget, - openAttributeGraphShimsTestsTarget, - ] -} - -if buildForDarwinPlatform { - package.targets.append(openAttributeGraphCompatibilityTestsTarget) -} - if computeCondition { let computeBinary = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY", default: false) if computeBinary { - let computeVersion = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_VERSION", default: "0.0.1") + let version = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_VERSION", default: "0.0.1") // TODO: Use upstream link when avaiable. Tracked on https://github.com/jcmosc/Compute/issues/20 - let computeURL = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_URL", default: "https://github.com/Kyle-Ye/Compute/releases/download/\(computeVersion)/Compute.xcframework.zip") - let computeChecksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "95a256da2055d7c73184aeb9be088ba7019f7ea79b8a31e2dd930526c5ccbe8f") + let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_URL", default: "https://github.com/Kyle-Ye/Compute/releases/download/\(version)/Compute.xcframework.zip") + let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "95a256da2055d7c73184aeb9be088ba7019f7ea79b8a31e2dd930526c5ccbe8f") package.targets.append( .binaryTarget( name: "Compute", - url: computeURL, - checksum: computeChecksum + url: url, + checksum: checksum ) ) } else { @@ -458,6 +434,47 @@ if computeCondition { setupDPFDependency() openAttributeGraphShimsTarget.addAGSettings() } else { + let oagBinary = envBoolValue("OPENATTRIBUTESHIMS_OAG_USE_BINARY", default: false) + if oagBinary { + let version = envStringValue("OPENATTRIBUTESHIMS_OAG_BINARY_VERSION", default: "0.4.0") + let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_URL", default: "https://github.com/OpenSwiftUIProject/OpenAttributeGraph/releases/download/\(version)/OpenAttributeGraph.xcframework.zip") + let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "a539f876625288d4af7c7d1dccc80fd8e936058791b8071e0d534f5ec1a8a068") + let target = Target.binaryTarget( + name: openAttributeGraphTarget.name, + url: url, + checksum: checksum + ) + package.targets.append(target) + } else { + package.targets.append(contentsOf: [ + swiftClonePlugin, + platformTarget, + utilitiesTarget, + openAttributeGraphTarget, + openAttributeGraphCxxTarget, + ]) + package.products.append( + .library(name: "OpenAttributeGraph", type: .dynamic, targets: [openAttributeGraphTarget.name, openAttributeGraphCxxTarget.name]) + ) + } openAttributeGraphShimsTarget.dependencies.append(.target(name: openAttributeGraphTarget.name)) + + if buildForDarwinPlatform { + package.targets.append(openAttributeGraphCompatibilityTestsTarget) + } + + if compatibilityTestCondition { + setupDPFDependency() + openAttributeGraphCompatibilityTestsTarget.addAGSettings() + } else { + package.targets += [ + utilitiesTestsTarget, + openAttributeGraphCxxTestsTarget, + openAttributeGraphShimsTestsTarget, + ] + } + package.dependencies.append( + .package(url: "https://github.com/apple/swift-numerics", from: "1.1.1") + ) package.platforms = [.iOS(.v13), .macOS(.v10_15), .macCatalyst(.v13), .tvOS(.v13), .watchOS(.v5)] } From 617bf9c8f7dd8649273048de26ce23b2eed6cbe5 Mon Sep 17 00:00:00 2001 From: Kyle Date: Thu, 26 Feb 2026 02:24:57 +0800 Subject: [PATCH 2/5] Fix CI failures for Compute and compatibility test workflows - Remove unnecessary OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH and COMPATIBILITY_TEST env vars from CI workflows - Fix Compute binary iOS build scheme name to match simplified package - Guard compatibilityTestCondition on buildForDarwinPlatform - Fix OAG binary URL env var key name --- .github/workflows/compatibility_tests.yml | 1 - .github/workflows/compute.yml | 5 +---- Package.resolved | 2 +- Package.swift | 4 ++-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/compatibility_tests.yml b/.github/workflows/compatibility_tests.yml index 3cddb45..828d12a 100644 --- a/.github/workflows/compatibility_tests.yml +++ b/.github/workflows/compatibility_tests.yml @@ -18,7 +18,6 @@ jobs: runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 - OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH: 1 OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 1 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 OPENATTRIBUTEGRAPH_TARGET_RELEASE: 2024 diff --git a/.github/workflows/compute.yml b/.github/workflows/compute.yml index a91ff78..07d9748 100644 --- a/.github/workflows/compute.yml +++ b/.github/workflows/compute.yml @@ -21,7 +21,6 @@ jobs: OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY: 0 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 - OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 0 container: swift:${{ matrix.swift_version }}-jammy steps: - uses: actions/checkout@v4 @@ -45,7 +44,6 @@ jobs: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY: 1 - OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 0 steps: - uses: actions/checkout@v4 - name: Setup Xcode @@ -73,7 +71,6 @@ jobs: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY: 1 - OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 0 steps: - uses: actions/checkout@v4 - name: Setup Xcode @@ -86,7 +83,7 @@ jobs: run: | xcodebuild build \ -workspace .swiftpm/xcode/package.xcworkspace \ - -scheme OpenAttributeGraph-Package \ + -scheme OpenAttributeGraph \ -configuration Debug \ -destination "platform=iOS Simulator,OS=${{ matrix.ios-version }},name=${{ matrix.ios-simulator-name }}" \ -derivedDataPath .build-debug \ diff --git a/Package.resolved b/Package.resolved index 6ffbaf2..b861fdb 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "1665d319fff28e99fba0f705d06ef324c85934b818724492e3771c8d47a1e60f", + "originHash" : "ffc7bf8165c46e5211970e9cfdd0e83e2dfa291a0baa42123a5a0573a1ff7107", "pins" : [ { "identity" : "darwinprivateframeworks", diff --git a/Package.swift b/Package.swift index 03fd88e..cf85378 100644 --- a/Package.swift +++ b/Package.swift @@ -142,7 +142,7 @@ let swiftCorelibsPath = envStringValue("LIB_SWIFT_PATH") ?? "\(Context.packageDi let releaseVersion = envIntValue("TARGET_RELEASE", default: 2024) let libraryEvolutionCondition = envBoolValue("LIBRARY_EVOLUTION", default: buildForDarwinPlatform) -let compatibilityTestCondition = envBoolValue("COMPATIBILITY_TEST", default: false) +let compatibilityTestCondition = envBoolValue("COMPATIBILITY_TEST", default: false) && buildForDarwinPlatform let useLocalDeps = envBoolValue("USE_LOCAL_DEPS") let computeCondition = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE", default: false) @@ -437,7 +437,7 @@ if computeCondition { let oagBinary = envBoolValue("OPENATTRIBUTESHIMS_OAG_USE_BINARY", default: false) if oagBinary { let version = envStringValue("OPENATTRIBUTESHIMS_OAG_BINARY_VERSION", default: "0.4.0") - let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_URL", default: "https://github.com/OpenSwiftUIProject/OpenAttributeGraph/releases/download/\(version)/OpenAttributeGraph.xcframework.zip") + let url = envStringValue("OPENATTRIBUTESHIMS_OAG_BINARY_URL", default: "https://github.com/OpenSwiftUIProject/OpenAttributeGraph/releases/download/\(version)/OpenAttributeGraph.xcframework.zip") let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "a539f876625288d4af7c7d1dccc80fd8e936058791b8071e0d534f5ec1a8a068") let target = Target.binaryTarget( name: openAttributeGraphTarget.name, From 7ee0084b4cdeba881cc9f75213b143e1fdf18959 Mon Sep 17 00:00:00 2001 From: Kyle Date: Thu, 26 Feb 2026 02:37:00 +0800 Subject: [PATCH 3/5] Fix OAG product issue --- Package.resolved | 10 +++++----- Package.swift | 13 +++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Package.resolved b/Package.resolved index b861fdb..1e11b77 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "ffc7bf8165c46e5211970e9cfdd0e83e2dfa291a0baa42123a5a0573a1ff7107", + "originHash" : "235ae720a0c620a4db39520330337504660b9a89dbbed2c9a5c67d115ef5878c", "pins" : [ { - "identity" : "darwinprivateframeworks", + "identity" : "swift-numerics", "kind" : "remoteSourceControl", - "location" : "https://github.com/OpenSwiftUIProject/DarwinPrivateFrameworks.git", + "location" : "https://github.com/apple/swift-numerics", "state" : { - "branch" : "main", - "revision" : "18d26f5dcc334468fad0904697233faeb41a1805" + "revision" : "0c0290ff6b24942dadb83a929ffaaa1481df04a2", + "version" : "1.1.1" } } ], diff --git a/Package.swift b/Package.swift index cf85378..60d6a4e 100644 --- a/Package.swift +++ b/Package.swift @@ -146,7 +146,7 @@ let compatibilityTestCondition = envBoolValue("COMPATIBILITY_TEST", default: fal let useLocalDeps = envBoolValue("USE_LOCAL_DEPS") let computeCondition = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE", default: false) -let attributeGraphCondition = envBoolValue("OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH", default: buildForDarwinPlatform && !isSPIBuild) +let attributeGraphCondition = envBoolValue("OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH", default: false) // MARK: - Shared Settings @@ -453,14 +453,14 @@ if computeCondition { openAttributeGraphTarget, openAttributeGraphCxxTarget, ]) - package.products.append( - .library(name: "OpenAttributeGraph", type: .dynamic, targets: [openAttributeGraphTarget.name, openAttributeGraphCxxTarget.name]) - ) } openAttributeGraphShimsTarget.dependencies.append(.target(name: openAttributeGraphTarget.name)) if buildForDarwinPlatform { package.targets.append(openAttributeGraphCompatibilityTestsTarget) + package.dependencies.append( + .package(url: "https://github.com/apple/swift-numerics", from: "1.1.1") + ) } if compatibilityTestCondition { @@ -473,8 +473,9 @@ if computeCondition { openAttributeGraphShimsTestsTarget, ] } - package.dependencies.append( - .package(url: "https://github.com/apple/swift-numerics", from: "1.1.1") + + package.products.append( + .library(name: "OpenAttributeGraph", type: .dynamic, targets: [openAttributeGraphTarget.name, openAttributeGraphCxxTarget.name]) ) package.platforms = [.iOS(.v13), .macOS(.v10_15), .macCatalyst(.v13), .tvOS(.v13), .watchOS(.v5)] } From 04e9984a3390ab490f0dc4d32deedd9e17e425bb Mon Sep 17 00:00:00 2001 From: Kyle Date: Thu, 26 Feb 2026 02:46:56 +0800 Subject: [PATCH 4/5] Update workflow config --- .github/workflows/compatibility_tests.yml | 1 + .github/workflows/compute.yml | 4 +--- .github/workflows/ios.yml | 2 -- .github/workflows/macos.yml | 2 -- .github/workflows/ubuntu.yml | 2 -- 5 files changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/compatibility_tests.yml b/.github/workflows/compatibility_tests.yml index 828d12a..3cddb45 100644 --- a/.github/workflows/compatibility_tests.yml +++ b/.github/workflows/compatibility_tests.yml @@ -18,6 +18,7 @@ jobs: runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 + OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH: 1 OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 1 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 OPENATTRIBUTEGRAPH_TARGET_RELEASE: 2024 diff --git a/.github/workflows/compute.yml b/.github/workflows/compute.yml index 07d9748..ee834c7 100644 --- a/.github/workflows/compute.yml +++ b/.github/workflows/compute.yml @@ -15,9 +15,7 @@ jobs: swift_version: ["6.2"] runs-on: ubuntu-22.04 env: - # -Wno-elaborated-enum-base is not working for Compute dependency. Disable warnings-as-errors for now to unblock CI. We should fix the underlying issue and re-enable warnings-as-errors in the future. - # OPENATTRIBUTEGRAPH_WERROR: 1 - OPENATTRIBUTEGRAPH_WERROR: 0 + OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY: 0 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 28711e0..dc38346 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -21,8 +21,6 @@ jobs: runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 - OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH: 0 - OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 0 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 OPENATTRIBUTEGRAPH_TARGET_RELEASE: 2024 DARWINPRIVATEFRAMEWORKS_TARGET_RELEASE: 2024 diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 073d128..2b9230f 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -17,8 +17,6 @@ jobs: runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 - OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH: 0 - OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 0 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 OPENATTRIBUTEGRAPH_TARGET_RELEASE: 2024 DARWINPRIVATEFRAMEWORKS_TARGET_RELEASE: 2024 diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index b2b2ee0..b0f1b02 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -16,8 +16,6 @@ jobs: runs-on: ubuntu-22.04 env: OPENATTRIBUTEGRAPH_WERROR: 1 - OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH: 0 - OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 0 container: swift:${{ matrix.swift_version }}-jammy steps: - uses: actions/checkout@v4 From 76e602fd69e8944ef473fd776a4ed279d70535ec Mon Sep 17 00:00:00 2001 From: Kyle Date: Thu, 26 Feb 2026 03:03:29 +0800 Subject: [PATCH 5/5] Fix compatibility_tests --- .github/workflows/compatibility_tests.yml | 1 - Package.resolved | 2 +- Package.swift | 15 +++++++-------- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/compatibility_tests.yml b/.github/workflows/compatibility_tests.yml index 3cddb45..828d12a 100644 --- a/.github/workflows/compatibility_tests.yml +++ b/.github/workflows/compatibility_tests.yml @@ -18,7 +18,6 @@ jobs: runs-on: ${{ matrix.os }} env: OPENATTRIBUTEGRAPH_WERROR: 1 - OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH: 1 OPENATTRIBUTEGRAPH_COMPATIBILITY_TEST: 1 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 OPENATTRIBUTEGRAPH_TARGET_RELEASE: 2024 diff --git a/Package.resolved b/Package.resolved index 1e11b77..d2c7289 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "235ae720a0c620a4db39520330337504660b9a89dbbed2c9a5c67d115ef5878c", + "originHash" : "4c5beea729cad442a7b3ce4f6a65ebaf9550c006d5740ae2c3eccc8835547d65", "pins" : [ { "identity" : "swift-numerics", diff --git a/Package.swift b/Package.swift index 60d6a4e..ccc9322 100644 --- a/Package.swift +++ b/Package.swift @@ -142,7 +142,7 @@ let swiftCorelibsPath = envStringValue("LIB_SWIFT_PATH") ?? "\(Context.packageDi let releaseVersion = envIntValue("TARGET_RELEASE", default: 2024) let libraryEvolutionCondition = envBoolValue("LIBRARY_EVOLUTION", default: buildForDarwinPlatform) -let compatibilityTestCondition = envBoolValue("COMPATIBILITY_TEST", default: false) && buildForDarwinPlatform +let compatibilityTestCondition = envBoolValue("COMPATIBILITY_TEST", default: false) let useLocalDeps = envBoolValue("USE_LOCAL_DEPS") let computeCondition = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE", default: false) @@ -430,7 +430,7 @@ if computeCondition { } openAttributeGraphShimsTarget.addComputeSettings() package.platforms = [.iOS(.v18), .macOS(.v15), .macCatalyst(.v18), .tvOS(.v18), .watchOS(.v10), .visionOS(.v2)] -} else if attributeGraphCondition { +} else if attributeGraphCondition, buildForDarwinPlatform { setupDPFDependency() openAttributeGraphShimsTarget.addAGSettings() } else { @@ -463,7 +463,10 @@ if computeCondition { ) } - if compatibilityTestCondition { + package.products.append( + .library(name: "OpenAttributeGraph", type: .dynamic, targets: [openAttributeGraphTarget.name, openAttributeGraphCxxTarget.name]) + ) + if compatibilityTestCondition, buildForDarwinPlatform { setupDPFDependency() openAttributeGraphCompatibilityTestsTarget.addAGSettings() } else { @@ -472,10 +475,6 @@ if computeCondition { openAttributeGraphCxxTestsTarget, openAttributeGraphShimsTestsTarget, ] + package.platforms = [.iOS(.v13), .macOS(.v10_15), .macCatalyst(.v13), .tvOS(.v13), .watchOS(.v5)] } - - package.products.append( - .library(name: "OpenAttributeGraph", type: .dynamic, targets: [openAttributeGraphTarget.name, openAttributeGraphCxxTarget.name]) - ) - package.platforms = [.iOS(.v13), .macOS(.v10_15), .macCatalyst(.v13), .tvOS(.v13), .watchOS(.v5)] }