From 0140b67309b8e83a4eb423ece971b72e53a75711 Mon Sep 17 00:00:00 2001 From: Mouad BENJRINIJA Date: Mon, 7 Apr 2025 12:25:24 +0100 Subject: [PATCH 1/3] allow empty TargetAttributes --- Sources/XcodeProj/Objects/Project/PBXProject.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Sources/XcodeProj/Objects/Project/PBXProject.swift b/Sources/XcodeProj/Objects/Project/PBXProject.swift index 85b3cae41..1e0444ebc 100644 --- a/Sources/XcodeProj/Objects/Project/PBXProject.swift +++ b/Sources/XcodeProj/Objects/Project/PBXProject.swift @@ -572,9 +572,7 @@ extension PBXProject: PlistSerializable { plistTargetAttributes[reference.value] = value } - if !plistTargetAttributes.isEmpty { - plistAttributes[PBXProject.targetAttributesKey] = .attributeDictionary(plistTargetAttributes) - } + plistAttributes[PBXProject.targetAttributesKey] = .attributeDictionary(plistTargetAttributes) dictionary["attributes"] = plistAttributes.plist() From 9e943ca6adc39f87fb084d8f5aebb20c81e276f7 Mon Sep 17 00:00:00 2001 From: Mouad BENJRINIJA Date: Mon, 7 Apr 2025 12:25:37 +0100 Subject: [PATCH 2/3] fix unit tests --- Package.resolved | 7 ++++--- Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift | 6 ++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Package.resolved b/Package.resolved index cb0282427..8fbe88542 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,12 +1,13 @@ { + "originHash" : "8a13a61314cb0e10f1d22dddaabfebd1ab407a7b9ab06aa42fc1e38041a202a5", "pins" : [ { "identity" : "aexml", "kind" : "remoteSourceControl", "location" : "https://github.com/tadija/AEXML.git", "state" : { - "revision" : "38f7d00b23ecd891e1ee656fa6aeebd6ba04ecc3", - "version" : "4.6.1" + "revision" : "db806756c989760b35108146381535aec231092b", + "version" : "4.7.0" } }, { @@ -28,5 +29,5 @@ } } ], - "version" : 2 + "version" : 3 } diff --git a/Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift b/Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift index 4d767bd15..a1471a2a0 100644 --- a/Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift +++ b/Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift @@ -81,14 +81,12 @@ final class PBXProjectTests: XCTestCase { minimizedProjectReferenceProxies: nil, mainGroup: PBXGroup()) - project.setTargetAttributes(["custom": "abc", "TestTargetID": .targetReference(testTarget)], target: target) - // When let plist = try project.plistKeyAndValue(proj: PBXProj(), reference: "") // Then - let attributes: [CommentedString: PlistValue]? = plist.value.dictionary?["TargetAttributes"]?.dictionary - XCTAssertNil(attributes) + let attributes = plist.value.dictionary?["attributes"]?.dictionary?["TargetAttributes"]?.dictionary + XCTAssertEqual(attributes, [:]) } func test_addLocalSwiftPackage() throws { From 43b7245adc630721bfe446c85428f77245594095 Mon Sep 17 00:00:00 2001 From: Mouad BENJRINIJA Date: Mon, 7 Apr 2025 12:39:03 +0100 Subject: [PATCH 3/3] fix unit test name --- Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift b/Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift index a1471a2a0..1d1b8cf20 100644 --- a/Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift +++ b/Tests/XcodeProjTests/Objects/Project/PBXProjectTests.swift @@ -66,7 +66,7 @@ final class PBXProjectTests: XCTestCase { XCTAssertEqual(attributes, expectedAttributes) } - func test_plistKeyAndValue_doesntReturnTargetAttributes_when_itsEmpty() throws { + func test_plistKeyAndValue_returnsEmptyTargetAttributes_when_itsEmpty() throws { // Given let target = PBXTarget(name: "") target.reference.fix("app")