Skip to content

Commit 50c8453

Browse files
Merge pull request #627 from swiftlang/automerge/merge-main-2025-07-01_18-08
Merge `release/6.2` into `main`
2 parents ab99384 + 3d7d4db commit 50c8453

File tree

11 files changed

+171
-117
lines changed

11 files changed

+171
-117
lines changed

Sources/SWBApplePlatform/ActoolInputFileGroupingStrategy.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ import Foundation
3333
// TODO Should we make this a property of the product type?
3434
guard context.productType?.identifier == "com.apple.product-type.app-extension.messages-sticker-pack" else { return [] }
3535

36-
let catalogFileTypes = ["folder.assetcatalog", "folder.stickers"].map { context.lookupFileType(identifier: $0)! }
36+
let fileTypes = ["folder.assetcatalog", "folder.stickers", "folder.iconcomposer.icon"]
37+
let catalogFileTypes = fileTypes.map { context.lookupFileType(identifier: $0)! }
3738
let stringsFileType = context.lookupFileType(identifier: "text.plist.strings")!
3839

3940
let catalogPaths = target.files.compactMap { ftb in catalogFileTypes.contains { ftb.fileType.conformsTo($0) } ? ftb.absolutePath : nil }

Sources/SWBApplePlatform/AssetCatalogCompiler.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ public final class ActoolCompilerSpec : GenericCompilerSpec, SpecIdentifierType,
143143
specialArgs += ["--platform", platformName]
144144

145145
// File types
146-
let catalogFileTypes = ["folder.assetcatalog", "folder.stickers"].map { cbc.producer.lookupFileType(identifier: $0)! }
146+
let fileTypes = ["folder.assetcatalog", "folder.stickers", "folder.iconcomposer.icon"]
147+
let catalogFileTypes = fileTypes.map { cbc.producer.lookupFileType(identifier: $0)! }
147148
let stringsFileType = cbc.producer.lookupFileType(identifier: "text.plist.strings")!
148149

149150
// Construct the command line using this custom lookup function.

Sources/SWBApplePlatform/Specs/AssetCatalogCompiler.xcspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
folder.assetcatalog,
2525
folder.imagecatalog,
2626
folder.stickers,
27+
folder.iconcomposer.icon,
2728
);
2829
DeeplyStatInputDirectories = YES;
2930
InputFileGroupings = (

Sources/SWBCore/Specs/CoreBuildSystem.xcspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@
161161
{
162162
Name = "EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES";
163163
Type = stringlist;
164-
DefaultValue = "*.nib *.lproj *.framework *.gch *.xcode* *.xcassets (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj";
164+
DefaultValue = "*.nib *.lproj *.framework *.gch *.xcode* *.xcassets *.icon (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj";
165165
},
166166
{
167167
Name = "PRECOMP_DESTINATION_DIR";
@@ -1194,6 +1194,7 @@ When `GENERATE_INFOPLIST_FILE` is enabled, sets the value of the [CFBundleIdenti
11941194
Name = "EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES";
11951195
Type = StringList;
11961196
Category = "Search Paths";
1197+
DefaultValue = "*.nib *.lproj *.framework *.gch *.xcode* *.xcassets *.icon (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj";
11971198
DefaultValue = "*.nib *.lproj *.framework *.gch *.xcode* *.xcassets (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj";
11981199
},
11991200
{

Sources/SWBCore/Specs/NativeBuildSystem.xcspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ When `GENERATE_INFOPLIST_FILE` is enabled, sets the value of the [CFBundleExecut
294294
},
295295
{ Name = EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES;
296296
Type = StringList;
297-
DefaultValue = "*.nib *.lproj *.framework *.gch *.xcode* *.xcassets (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj";
297+
DefaultValue = "*.nib *.lproj *.framework *.gch *.xcode* *.xcassets *.icon (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj";
298298
Category = "Search Paths";
299299
},
300300
{ Name = RECURSIVE_SEARCH_PATHS_FOLLOW_SYMLINKS;

Sources/SWBCore/Specs/en.lproj/CoreBuildSystem.strings

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ For backwards compatibility reasons, this setting is enabled by default. Disabli
8585
"[INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES]-description" = "This is a list of `fnmatch()`-style patterns of file or directory names to include when performing a recursive search. By default, this is empty and is only customized when you want to provide exceptions to the list of filename patterns provided in `EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES`.";
8686

8787
"[EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES]-name" = "Sub-Directories to Exclude in Recursive Searches";
88-
"[EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES]-description" = "This is a list of `fnmatch()`-style patterns of file or directory names to exclude when performing a recursive search. By default, this is set to `*.nib *.lproj *.framework *.gch *.xcode* *.xcassets (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj`. Normally, if you override this value you should include the default values via the `$(inherited)` macro.";
88+
"[EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES]-description" = "This is a list of `fnmatch()`-style patterns of file or directory names to exclude when performing a recursive search. By default, this is set to `*.nib *.lproj *.framework *.gch *.xcode* *.xcassets *.icon (*) .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj`. Normally, if you override this value you should include the default values via the `$(inherited)` macro.";
8989

9090
"[USE_HEADERMAP]-name" = "Use Header Maps";
9191
"[USE_HEADERMAP]-description" = "Enable the use of *Header Maps*, which provide the compiler with a mapping from textual header names to their locations, bypassing the normal compiler header search path mechanisms. This allows source code to include headers from various locations in the file system without needing to update the header search path build settings.";

Sources/SWBProjectModel/IDE/IDESwiftPackageExtensions.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ extension PIF.FileReference : PIFRepresentable {
9797
// FIXME: This is probably now more important because of resources support.
9898
case "xcassets":
9999
return "folder.assetcatalog"
100+
case "icon":
101+
return "folder.iconcomposer.icon"
100102
case "xcstrings":
101103
return "text.json.xcstrings"
102104
case "storyboard":

Sources/SWBTestSupport/TestWorkspaces.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ package final class TestFile: TestInternalStructureItem, CustomStringConvertible
283283
return "file.uicatalog"
284284
case ".xcassets":
285285
return "folder.assetcatalog"
286+
case ".icon":
287+
return "folder.iconcomposer.icon"
286288
case ".xcdatamodeld":
287289
return "wrapper.xcdatamodel"
288290
case ".xcfilelist":

Sources/SWBUniversalPlatform/Specs/StandardFileTypes.xcspec

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,6 +1413,16 @@
14131413
UTI = "com.apple.dt.stickers";
14141414
},
14151415

1416+
{
1417+
// Icon Composer icons are not really wrappers according to launch services, but we treat them like wrappers in Xcode as we want them to be opaque
1418+
Type = FileType;
1419+
Identifier = folder.iconcomposer.icon;
1420+
BasedOn = folder.abstractassetcatalog;
1421+
Extensions = (icon);
1422+
IsTransparent = NO;
1423+
UTI = "com.apple.iconcomposer.icon";
1424+
},
1425+
14161426
// Archive file types
14171427
{
14181428
Type = FileType;

Sources/SwiftBuild/ProjectModel/References.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ extension ProjectModel.FileReference: Codable {
216216
// FIXME: This is probably now more important because of resources support.
217217
case "xcassets":
218218
return "folder.assetcatalog"
219+
case "icon":
220+
return "folder.iconcomposer.icon"
219221
case "xcstrings":
220222
return "text.json.xcstrings"
221223
case "storyboard":

0 commit comments

Comments
 (0)