Skip to content

Commit b8a69d2

Browse files
Xcode16 support (#118)
* Add support for new PBXFileSystemSynchronizedBuildFileExceptionSet section * Add support for PBXFileSystemSynchronizedRootGroup section and preferredProjectObjectVersion field
1 parent 174215c commit b8a69d2

File tree

10 files changed

+6029
-4276
lines changed

10 files changed

+6029
-4276
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,7 @@ target/
6262
.ipynb_checkpoints
6363

6464
# ANTLR
65-
.antlr
65+
.antlr
66+
67+
# IDE
68+
.vscode

kin/grammar/PBXProj.g4

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ objects
3939
pbx_container_item_proxy_section?
4040
pbx_copy_files_build_phase_section?
4141
pbx_file_reference_section?
42+
pbx_file_system_synchronized_build_file_exception_set_section?
43+
pbx_file_system_synchronized_root_group_section?
4244
pbx_frameworks_build_phase_section?
4345
pbx_group_section
4446
pbx_headers_build_phase_section?
@@ -94,6 +96,14 @@ pbx_file_reference_section
9496
: (pbx_file_reference)+
9597
;
9698

99+
pbx_file_system_synchronized_build_file_exception_set_section
100+
: (pbx_file_system_synchronized_build_file_exception_set)+
101+
;
102+
103+
pbx_file_system_synchronized_root_group_section
104+
: (pbx_file_system_synchronized_root_group)+
105+
;
106+
97107
pbx_frameworks_build_phase_section
98108
: (pbx_frameworks_build_phase)+
99109
;
@@ -259,6 +269,25 @@ pbx_file_reference
259269
'}' ';'
260270
;
261271

272+
pbx_file_system_synchronized_build_file_exception_set
273+
: REFERENCE '=' '{'
274+
isa_pbx_file_system_synchronized_build_file_exception_set
275+
membership_exceptions
276+
target
277+
'}' ';'
278+
;
279+
280+
pbx_file_system_synchronized_root_group
281+
: REFERENCE '=' '{'
282+
isa_pbx_file_system_synchronized_root_group
283+
exceptions
284+
explicit_file_types
285+
explicit_folders
286+
path
287+
source_tree
288+
'}' ';'
289+
;
290+
262291
pbx_frameworks_build_phase
263292
: REFERENCE '=' '{'
264293
isa_pbx_frameworks_build_phase
@@ -339,6 +368,7 @@ pbx_project
339368
known_regions?
340369
main_group
341370
package_references?
371+
preferred_project_object_version?
342372
product_ref_group?
343373
project_dir_path
344374
project_references?
@@ -508,6 +538,14 @@ isa_pbx_file_reference
508538
: ISA '=' PBX_FILE_REFERENCE ';'
509539
;
510540

541+
isa_pbx_file_system_synchronized_build_file_exception_set
542+
: ISA '=' PBX_FILE_SYSTEM_SYNCHRONIZED_BUILD_FILE_EXCEPTION_SET ';'
543+
;
544+
545+
isa_pbx_file_system_synchronized_root_group
546+
: ISA '=' PBX_FILE_SYSTEM_SYNCHRONIZED_ROOT_GROUP ';'
547+
;
548+
511549
isa_pbx_frameworks_build_phase
512550
: ISA '=' PBX_FRAMEWORKS_BUILD_PHASE ';'
513551
;
@@ -622,6 +660,14 @@ explicit_file_type
622660
: EXPLICIT_FILE_TYPE '=' str_number_variable ';'
623661
;
624662

663+
explicit_file_types
664+
: EXPLICIT_FILE_TYPES '=' '{' key_value* '}' ';'
665+
;
666+
667+
explicit_folders
668+
: EXPLICIT_FOLDERS '=' any_string_list ';'
669+
;
670+
625671
last_known_file_type
626672
: LAST_KNOWN_FILE_TYPE '=' str_number_variable ';'
627673
;
@@ -909,6 +955,10 @@ package_references
909955
: PACKAGE_REFERENCES '=' reference_list ';'
910956
;
911957

958+
preferred_project_object_version
959+
: PREFERRED_PROJECT_OBJECT_VERSION '=' NUMBER ';'
960+
;
961+
912962
project_dir_path
913963
: PRODUCT_DIR_PATH '=' any_string ';'
914964
;
@@ -1007,6 +1057,12 @@ project_references_list_element
10071057
'}' ','
10081058
;
10091059

1060+
membership_exceptions
1061+
: MEMBERSHIP_EXCEPTIONS '=' any_string_list ';';
1062+
1063+
exceptions
1064+
: EXCEPTIONS '=' reference_list ';';
1065+
10101066
key_value
10111067
: str_number_variable '=' str_number_variable ';'
10121068
| str_number_variable '=' NUMBER ';'
@@ -1074,6 +1130,8 @@ any_token
10741130
| PBX_CONTAINER_ITEM_PROXY
10751131
| PBX_COPY_FILES_BUILD_PHASE
10761132
| PBX_FILE_REFERENCE
1133+
| PBX_FILE_SYSTEM_SYNCHRONIZED_BUILD_FILE_EXCEPTION_SET
1134+
| PBX_FILE_SYSTEM_SYNCHRONIZED_ROOT_GROUP
10771135
| PBX_FRAMEWORKS_BUILD_PHASE
10781136
| PBX_NATIVE_TARGET
10791137
| PBX_LEGACY_TARGET
@@ -1084,6 +1142,7 @@ any_token
10841142
| PBX_SOURCES_BUILD_PHASE
10851143
| PBX_TARGET_DEPENDENCY
10861144
| PBX_VARIANT_GROUP
1145+
| PREFERRED_PROJECT_OBJECT_VERSION
10871146
| XC_BUILD_CONFIGURATION
10881147
| XC_CONFIGURATION_LIST
10891148
| XC_REMOTE_SWIFT_PACKAGE_REFERENCE
@@ -1098,6 +1157,8 @@ any_token
10981157
| FILE_ENCODING
10991158
| COMMENTS
11001159
| EXPLICIT_FILE_TYPE
1160+
| EXPLICIT_FILE_TYPES
1161+
| EXPLICIT_FOLDERS
11011162
| LAST_KNOWN_FILE_TYPE
11021163
| INCLUDE_IN_INDEX
11031164
| INDENT_WIDTH
@@ -1190,6 +1251,8 @@ any_token
11901251
| SYSTEM_CAPABILITIES
11911252
| CURRENT_VERSION
11921253
| VERSION_GROUP_TYPE
1254+
| MEMBERSHIP_EXCEPTIONS
1255+
| EXCEPTIONS
11931256
| CLASSPREFIX
11941257
;
11951258

@@ -1215,6 +1278,8 @@ PBX_BUILD_STYLE: 'PBXBuildStyle';
12151278
PBX_CONTAINER_ITEM_PROXY: 'PBXContainerItemProxy';
12161279
PBX_COPY_FILES_BUILD_PHASE: 'PBXCopyFilesBuildPhase';
12171280
PBX_FILE_REFERENCE: 'PBXFileReference';
1281+
PBX_FILE_SYSTEM_SYNCHRONIZED_BUILD_FILE_EXCEPTION_SET: 'PBXFileSystemSynchronizedBuildFileExceptionSet';
1282+
PBX_FILE_SYSTEM_SYNCHRONIZED_ROOT_GROUP: 'PBXFileSystemSynchronizedRootGroup';
12181283
PBX_FRAMEWORKS_BUILD_PHASE: 'PBXFrameworksBuildPhase';
12191284
PBX_GROUP: 'PBXGroup';
12201285
PBX_HEADERS_BUILD_PHASE: 'PBXHeadersBuildPhase';
@@ -1243,6 +1308,8 @@ REMOTE_INFO: 'remoteInfo';
12431308
FILE_ENCODING: 'fileEncoding';
12441309
COMMENTS: 'comments';
12451310
EXPLICIT_FILE_TYPE: 'explicitFileType';
1311+
EXPLICIT_FILE_TYPES: 'explicitFileTypes';
1312+
EXPLICIT_FOLDERS: 'explicitFolders';
12461313
LAST_KNOWN_FILE_TYPE: 'lastKnownFileType';
12471314
INCLUDE_IN_INDEX: 'includeInIndex';
12481315
INDENT_WIDTH: 'indentWidth';
@@ -1306,6 +1373,7 @@ KNOWN_REGIONS : 'knownRegions';
13061373
MAIN_GROUP : 'mainGroup';
13071374
PRODUCT_REF_GROUP : 'productRefGroup';
13081375
PACKAGE_REFERENCES : 'packageReferences';
1376+
PREFERRED_PROJECT_OBJECT_VERSION : 'preferredProjectObjectVersion';
13091377
PRODUCT_DIR_PATH : 'projectDirPath';
13101378
PROJECT_REFERENCES : 'projectReferences';
13111379
PROJECT_ROOT : 'projectRoot';
@@ -1336,6 +1404,8 @@ SETTINGS : 'settings';
13361404
SYSTEM_CAPABILITIES : 'SystemCapabilities';
13371405
CURRENT_VERSION : 'currentVersion';
13381406
VERSION_GROUP_TYPE : 'versionGroupType';
1407+
MEMBERSHIP_EXCEPTIONS : 'membershipExceptions';
1408+
EXCEPTIONS : 'exceptions';
13391409
CLASSPREFIX : 'CLASSPREFIX';
13401410

13411411

kin/grammar/PBXProj.interp

Lines changed: 26 additions & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)