diff --git a/.github/workflows/compute.yml b/.github/workflows/compute.yml index 4a2a48a..239f5ef 100644 --- a/.github/workflows/compute.yml +++ b/.github/workflows/compute.yml @@ -19,7 +19,7 @@ jobs: env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 - OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY: 0 + OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_BINARY: 0 OPENATTRIBUTEGRAPH_USE_LOCAL_DEPS: 1 container: swift:${{ matrix.swift_version }}-jammy steps: @@ -43,7 +43,7 @@ jobs: env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 - OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY: 1 + OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_BINARY: 1 steps: - uses: actions/checkout@v4 with: @@ -70,7 +70,7 @@ jobs: env: OPENATTRIBUTEGRAPH_WERROR: 1 OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE: 1 - OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY: 1 + OPENATTRIBUTEGRAPH_OPENATTRIBUTESHIMS_COMPUTE_BINARY: 1 steps: - uses: actions/checkout@v4 with: diff --git a/Package.resolved b/Package.resolved index 57e4020..1e35e4e 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "8ff54a8b5b5dd48d5063d7d4ba0df9538c13f86fa2c17d5aafb0dde80b7ec8cd", + "originHash" : "a7c6d7187819e0ca9c7143253d92733a30046affa5e7e9c2aec1699e503ad330", "pins" : [ { "identity" : "swift-numerics", diff --git a/Package.swift b/Package.swift index e4115dc..3f57703 100644 --- a/Package.swift +++ b/Package.swift @@ -428,11 +428,13 @@ func setupDPFDependency() { } if computeCondition { - let computeBinary = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY", default: false) - if computeBinary { + let binary = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY", default: false) + if binary { + // FIXME: This version is broken and will have runtime crash let version = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_VERSION", default: "0.2.1") - let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_URL", default: "https://github.com/jcmosc/Compute/releases/download/\(version)/Compute.xcframework.zip") - let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_USE_BINARY_CHECKSUM", default: "44eb3f08b9da4e7e308bfb2654b36e6752547e8ba5ec33e19e0648c686990153") + let repo = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_REPO", default: "jcmosc/Compute") + let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_URL", default: "https://github.com/\(repo)/releases/download/\(version)/Compute.xcframework.zip") + let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_CHECKSUM", default: "44eb3f08b9da4e7e308bfb2654b36e6752547e8ba5ec33e19e0648c686990153") package.targets.append( .binaryTarget( name: "Compute", @@ -441,11 +443,16 @@ if computeCondition { ) ) } else { + let repo = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_SOURCE_REPO", default: "OpenSwiftUIProject/Compute") + let version = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_SOURCE_VERSION") + let branch = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_SOURCE_BRANCH", default: "main") let computeRepo: Package.Dependency if useLocalDeps { computeRepo = Package.Dependency.package(path: "../Compute") + } else if let version { + computeRepo = Package.Dependency.package(url: "https://github.com/\(repo)", exact: .init(stringLiteral: version)) } else { - computeRepo = Package.Dependency.package(url: "https://github.com/jcmosc/Compute", exact: "0.2.1") + computeRepo = Package.Dependency.package(url: "https://github.com/\(repo)", branch: branch) } package.dependencies.append(computeRepo) } diff --git a/Tuist.swift b/Tuist.swift index abf9ffd..a1d5230 100644 --- a/Tuist.swift +++ b/Tuist.swift @@ -1,5 +1,12 @@ import ProjectDescription let tuist = Tuist( - project: .tuist() + project: .tuist( + generationOptions: .options( + manifestEnvironment: [ + "OPENSWIFTUI_*", + "OPENATTRIBUTEGRAPH_*", + ] + ) + ) )