Skip to content

Commit

Permalink
Add GraphShims target dependency (#20)
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyle-Ye committed Jan 6, 2024
1 parent dc8e9ce commit c628f80
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 54 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
# OpenSwiftUI-Package is not listed currently
# OTHER_SWIFT_FLAGS="-warnings-as-errors" \ AccessLevelOnImport will cause build warning via xcodebuild
env:
OPENSWIFTUI_ATTRIBUTEGRAPH: 0
OPENGRAPH_ATTRIBUTEGRAPH: 0
# Test is currently not supported due to the link issue to PrivateFramework
# - name: Build and run tests in debug mode with coverage
# run: |
Expand Down
2 changes: 1 addition & 1 deletion Package.resolved
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"location" : "https://github.com/OpenSwiftUIProject/OpenGraph",
"state" : {
"branch" : "main",
"revision" : "6835ce0972f40ef76f1214dc0efc75ec19082631"
"revision" : "2d795fb606d41db52dea5786cb079f6fc7ae84cb"
}
},
{
Expand Down
38 changes: 22 additions & 16 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ let openSwiftUITarget = Target.target(
"OpenSwiftUIShims",
"CoreServices",
"UIKitCore",
.product(name: "OpenGraphShims", package: "OpenGraph"),
],
swiftSettings: [
.enableExperimentalFeature("AccessLevelOnImport"),
Expand Down Expand Up @@ -95,25 +96,30 @@ func envEnable(_ key: String, default defaultValue: Bool = false) -> Bool {
}

#if os(macOS)
let attributeGraphCondition = envEnable("OPENSWIFTUI_ATTRIBUTEGRAPH", default: true)
let attributeGraphCondition = envEnable("OPENGRAPH_ATTRIBUTEGRAPH", default: true)
#else
let attributeGraphCondition = envEnable("OPENSWIFTUI_ATTRIBUTEGRAPH")
let attributeGraphCondition = envEnable("OPENGRAPH_ATTRIBUTEGRAPH")
#endif

extension Target {
func addAGSettings() {
dependencies.append(.product(name: "AttributeGraph", package: "OpenGraph"))

var swiftSettings = swiftSettings ?? []
swiftSettings.append(.define("OPENGRAPH_ATTRIBUTEGRAPH"))
self.swiftSettings = swiftSettings

var linkerSettings = linkerSettings ?? []
linkerSettings.append(.unsafeFlags([systemFrameworkSearchFlag, "/System/Library/PrivateFrameworks/"], .when(platforms: [.macOS])))
linkerSettings.append(.linkedFramework("AttributeGraph", .when(platforms: [.macOS])))
self.linkerSettings = linkerSettings
}
}

if attributeGraphCondition {
openSwiftUITarget.dependencies.append(
.product(name: "AttributeGraph", package: "OpenGraph")
)
var swiftSettings = openSwiftUITarget.swiftSettings ?? []
swiftSettings.append(.define("OPENSWIFTUI_ATTRIBUTEGRAPH"))
openSwiftUITarget.swiftSettings = swiftSettings
var linkerSettings = openSwiftUITarget.linkerSettings ?? []
linkerSettings.append(.unsafeFlags([systemFrameworkSearchFlag, "/System/Library/PrivateFrameworks/"], .when(platforms: [.macOS])))
linkerSettings.append(.linkedFramework("AttributeGraph", .when(platforms: [.macOS])))
openSwiftUITarget.linkerSettings = linkerSettings
} else {
openSwiftUITarget.dependencies.append(
.product(name: "OpenGraph", package: "OpenGraph")
)
openSwiftUITarget.addAGSettings()
openSwiftUITestTarget.addAGSettings()
openSwiftUICompatibilityTestTarget.addAGSettings()
}

#if os(macOS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,7 @@
// Status: Blocked by merge
// ID: 2B32D570B0B3D2A55DA9D4BFC1584D20

#if OPENSWIFTUI_ATTRIBUTEGRAPH
internal import AttributeGraph
#else
internal import OpenGraph
#endif
internal import OpenGraphShims

// MARK: - PropertyList

Expand Down
12 changes: 2 additions & 10 deletions Sources/OpenSwiftUI/DataAndStorage/Internal/UniqueID.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,7 @@
// Lastest Version: iOS 15.5
// Status: Complete

#if OPENSWIFTUI_ATTRIBUTEGRAPH
internal import AttributeGraph
#else
internal import OpenGraph
#endif
internal import OpenGraphShims

struct UniqueID: Hashable {
static let zero = UniqueID(value: 0)
Expand All @@ -19,11 +15,7 @@ struct UniqueID: Hashable {

@inline(__always)
init() {
#if OPENSWIFTUI_ATTRIBUTEGRAPH
self.value = Int(AGMakeUniqueID())
#else
self.value = Int(OGMakeUniqueID())
#endif
value = Int(makeUniqueID())
}

private init(value: Int) {
Expand Down
6 changes: 0 additions & 6 deletions Sources/OpenSwiftUI/GraphShims.swift

This file was deleted.

6 changes: 1 addition & 5 deletions Sources/OpenSwiftUI/Internal/Graph/TODO/_GraphInputs.swift
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
#if OPENSWIFTUI_ATTRIBUTEGRAPH
internal import AttributeGraph
#else
internal import OpenGraph
#endif
internal import OpenGraphShims

public struct _GraphInputs {
// var customInputs: PropertyList
Expand Down
6 changes: 1 addition & 5 deletions Sources/OpenSwiftUI/Internal/Graph/TODO/_GraphValue.swift
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
#if OPENSWIFTUI_ATTRIBUTEGRAPH
internal import AttributeGraph
#else
internal import OpenGraph
#endif
internal import OpenGraphShims

public struct _GraphValue<Value>: Equatable {
var value: Attribute<Value>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,7 @@
// Status: WIP
// ID: 1A625ACC143FD8524C590782FD8F4F8C

#if OPENSWIFTUI_ATTRIBUTEGRAPH
internal import AttributeGraph
#else
internal import OpenGraph
#endif
internal import OpenGraphShims

@frozen
public struct _ConditionalContent<TrueContent, FalseContent> {
Expand Down

0 comments on commit c628f80

Please sign in to comment.