diff --git a/Sources/XcodeGraph/Models/Package.swift b/Sources/XcodeGraph/Models/Package.swift index c3811fdc..8003afe0 100644 --- a/Sources/XcodeGraph/Models/Package.swift +++ b/Sources/XcodeGraph/Models/Package.swift @@ -3,7 +3,7 @@ import Path public enum Package: Equatable, Codable, Sendable { case remote(url: String, requirement: Requirement) - case local(path: AbsolutePath) + case local(path: AbsolutePath, groupPath: String?) } extension XcodeGraph.Package { diff --git a/Sources/XcodeGraphMapper/Extensions/Package+Extensions.swift b/Sources/XcodeGraphMapper/Extensions/Package+Extensions.swift index e06e2354..7ed4c7cd 100644 --- a/Sources/XcodeGraphMapper/Extensions/Package+Extensions.swift +++ b/Sources/XcodeGraphMapper/Extensions/Package+Extensions.swift @@ -6,7 +6,7 @@ extension Package { switch self { case let .remote(url, _): return url - case let .local(path): + case let .local(path, _): return path.pathString } } diff --git a/Sources/XcodeGraphMapper/Mappers/Packages/XCPackageMapper.swift b/Sources/XcodeGraphMapper/Mappers/Packages/XCPackageMapper.swift index 999cff3b..f32c9d3e 100644 --- a/Sources/XcodeGraphMapper/Mappers/Packages/XCPackageMapper.swift +++ b/Sources/XcodeGraphMapper/Mappers/Packages/XCPackageMapper.swift @@ -48,7 +48,7 @@ struct XCPackageMapper: XCPackageMapping { func map(package: XCLocalSwiftPackageReference, sourceDirectory: AbsolutePath) throws -> Package { let relativePath = try RelativePath(validating: package.relativePath) let path = sourceDirectory.appending(relativePath) - return .local(path: path) + return .local(path: path, groupPath: nil) } // MARK: - Private Helpers diff --git a/Sources/XcodeGraphMapper/Mappers/Project/PBXProjectMapper.swift b/Sources/XcodeGraphMapper/Mappers/Project/PBXProjectMapper.swift index 37effd54..654e9a89 100644 --- a/Sources/XcodeGraphMapper/Mappers/Project/PBXProjectMapper.swift +++ b/Sources/XcodeGraphMapper/Mappers/Project/PBXProjectMapper.swift @@ -97,7 +97,7 @@ struct PBXProjectMapper: PBXProjectMapping { } let localPackages = try pbxProject.localPackages.compactMap { try packageMapper.map(package: $0, sourceDirectory: sourceDirectory) - } + localPackagePaths.map { .local(path: $0) } + } + localPackagePaths.map { .local(path: $0, groupPath: nil) } // Create a files group for the main group let filesGroup = ProjectGroup.group(name: pbxProject.mainGroup?.name ?? "Project")