Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions Sources/XcodeGraph/Graph/GraphDependency.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,20 @@ public enum GraphDependency: Hashable, CustomStringConvertible, Comparable, Coda
public struct XCFramework: Hashable, CustomStringConvertible, Comparable, Codable {
public let path: AbsolutePath
public let infoPlist: XCFrameworkInfoPlist
public let primaryBinaryPath: AbsolutePath
public let linking: BinaryLinking
public let mergeable: Bool
public let status: FrameworkStatus

public init(
path: AbsolutePath,
infoPlist: XCFrameworkInfoPlist,
primaryBinaryPath: AbsolutePath,
linking: BinaryLinking,
mergeable: Bool,
status: FrameworkStatus,
macroPath _: AbsolutePath?
) {
self.path = path
self.infoPlist = infoPlist
self.primaryBinaryPath = primaryBinaryPath
self.linking = linking
self.mergeable = mergeable
self.status = status
Expand Down Expand Up @@ -316,8 +313,6 @@ public enum GraphDependency: Hashable, CustomStringConvertible, Comparable, Coda
public static func testXCFramework(
path: AbsolutePath = AbsolutePath.root.appending(try! RelativePath(validating: "Test.xcframework")),
infoPlist: XCFrameworkInfoPlist = .test(),
primaryBinaryPath: AbsolutePath = AbsolutePath.root
.appending(try! RelativePath(validating: "Test.xcframework/Test")),
linking: BinaryLinking = .dynamic,
status: FrameworkStatus = .required,
macroPath: AbsolutePath? = nil
Expand All @@ -326,7 +321,6 @@ public enum GraphDependency: Hashable, CustomStringConvertible, Comparable, Coda
GraphDependency.XCFramework(
path: path,
infoPlist: infoPlist,
primaryBinaryPath: primaryBinaryPath,
linking: linking,
mergeable: false,
status: status,
Expand Down
7 changes: 0 additions & 7 deletions Sources/XcodeGraph/Models/Metadata/XCFrameworkMetadata.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import Path
public struct XCFrameworkMetadata: Equatable {
public var path: AbsolutePath
public var infoPlist: XCFrameworkInfoPlist
public var primaryBinaryPath: AbsolutePath
public var linking: BinaryLinking
public var mergeable: Bool
public var status: FrameworkStatus
Expand All @@ -14,15 +13,13 @@ public struct XCFrameworkMetadata: Equatable {
public init(
path: AbsolutePath,
infoPlist: XCFrameworkInfoPlist,
primaryBinaryPath: AbsolutePath,
linking: BinaryLinking,
mergeable: Bool,
status: FrameworkStatus,
macroPath: AbsolutePath?
) {
self.path = path
self.infoPlist = infoPlist
self.primaryBinaryPath = primaryBinaryPath
self.linking = linking
self.mergeable = mergeable
self.status = status
Expand All @@ -36,9 +33,6 @@ public struct XCFrameworkMetadata: Equatable {
// swiftlint:disable:next force_try
path: AbsolutePath = try! AbsolutePath(validating: "/XCFrameworks/XCFramework.xcframework"),
infoPlist: XCFrameworkInfoPlist = .test(),
primaryBinaryPath: AbsolutePath =
// swiftlint:disable:next force_try
try! AbsolutePath(validating: "/XCFrameworks/XCFramework.xcframework/ios-arm64/XCFramework"),
linking: BinaryLinking = .dynamic,
mergeable: Bool = false,
status: FrameworkStatus = .required,
Expand All @@ -47,7 +41,6 @@ public struct XCFrameworkMetadata: Equatable {
XCFrameworkMetadata(
path: path,
infoPlist: infoPlist,
primaryBinaryPath: primaryBinaryPath,
linking: linking,
mergeable: mergeable,
status: status,
Expand Down
13 changes: 8 additions & 5 deletions Sources/XcodeGraph/Models/XCFrameworkInfoPlist.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,11 @@ public struct XCFrameworkInfoPlist: Codable, Hashable, Equatable {
private enum CodingKeys: String, CodingKey {
case identifier = "LibraryIdentifier"
case path = "LibraryPath"
case platform = "SupportedPlatform"
case architectures = "SupportedArchitectures"
case mergeable = "MergeableMetadata"
}

/// It represents the library's platform.
public enum Platform: String, Hashable, Codable {
case ios
}

/// Binary name used to import the library
public var binaryName: String {
path.basenameWithoutExt
Expand All @@ -35,6 +31,8 @@ public struct XCFrameworkInfoPlist: Codable, Hashable, Equatable {
/// Declares if the library is mergeable or not
public let mergeable: Bool

public let platform: Platform

/// Architectures the binary is built for.
public let architectures: [BinaryArchitecture]

Expand All @@ -50,18 +48,21 @@ public struct XCFrameworkInfoPlist: Codable, Hashable, Equatable {
identifier: String,
path: RelativePath,
mergeable: Bool,
platform: Platform,
architectures: [BinaryArchitecture]
) {
self.identifier = identifier
self.path = path
self.mergeable = mergeable
self.platform = platform
self.architectures = architectures
}

public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
identifier = try container.decode(String.self, forKey: .identifier)
path = try container.decode(RelativePath.self, forKey: .path)
platform = try container.decode(Platform.self, forKey: .platform)
architectures = try container.decode([BinaryArchitecture].self, forKey: .architectures)
mergeable = try container.decodeIfPresent(Bool.self, forKey: .mergeable) ?? false
}
Expand All @@ -84,12 +85,14 @@ public struct XCFrameworkInfoPlist: Codable, Hashable, Equatable {
// swiftlint:disable:next force_try
path: RelativePath = try! RelativePath(validating: "relative/to/library"),
mergeable: Bool = false,
platform: Platform = .iOS,
architectures: [BinaryArchitecture] = [.i386]
) -> XCFrameworkInfoPlist.Library {
XCFrameworkInfoPlist.Library(
identifier: identifier,
path: path,
mergeable: mergeable,
platform: platform,
architectures: architectures
)
}
Expand Down