Add the proper generated Info.plist to xcodeproj

PiperOrigin-RevId: 195834441
diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
index 950e916..77f07a8 100644
--- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
+++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
@@ -76,12 +76,6 @@
     "xibs",
 ]
 
-# List of rules that generate MergedInfo.plist files as part of the build.
-_MERGEDINFOPLIST_GENERATING_RULES = [
-    "ios_application",
-    "tvos_application",
-]
-
 # List of rules whose outputs should be treated as generated sources.
 _SOURCE_GENERATING_RULES = [
     "j2objc_library",
@@ -420,18 +414,13 @@
     return defines
 
 def _collect_secondary_artifacts(target, ctx):
-    """Returns a list of file metadatas for implicit outputs of 'rule'."""
+    """Returns a list of file metadatas for implicit outputs of 'target'."""
     artifacts = []
-    rule = ctx.rule
-    if rule.kind in _MERGEDINFOPLIST_GENERATING_RULES:
-        bin_dir = _convert_outpath_to_symlink_path(ctx.bin_dir.path)
-        package = target.label.package
-        basename = target.label.name
-        artifacts.append(_struct_omitting_none(
-            path = "%s/%s-MergedInfo.plist" % (package, basename),
-            src = False,
-            root = bin_dir,
-        ))
+    if AppleBundleInfo in target:
+        infoplist = target[AppleBundleInfo].infoplist
+
+        if infoplist:
+            artifacts.append(_file_metadata(infoplist))
 
     return artifacts
 
@@ -850,11 +839,13 @@
     bundle_name = None
     archive_root = None
     bundle_dir = None
+    infoplist = None
     if AppleBundleInfo in target:
         bundle_info = target[AppleBundleInfo]
 
         artifact = bundle_info.archive.path
         archive_root = bundle_info.archive_root
+        infoplist = bundle_info.infoplist
 
         bundle_name = bundle_info.bundle_name
         bundle_dir = bundle_info.bundle_dir
@@ -885,6 +876,8 @@
                   _collect_artifacts(rule, "attr.textual_hdrs"))
     all_files += _collect_supporting_files(rule_attr, convert_to_metadata = False)
     source_files = [x for x in target.files.to_list() if x.extension.lower() in _GENERATED_SOURCE_FILE_EXTENSIONS]
+    if infoplist:
+        source_files.append(infoplist)
     all_files = depset(source_files, transitive = [all_files])
 
     tulsi_generated_files += depset(
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
index 70445c3..95f3af3 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
@@ -77,8 +77,10 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		43D68C28089DC96000000000 /* TodayExtension-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TodayExtension-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_complex/TodayExtension-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28151F1CC400000000 /* non_propagated.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = non_propagated.m; path = "tulsi-workspace/tulsi_e2e_complex/NonPropagatedLibrary/srcs/non_propagated.m"; sourceTree = "<group>"; };
 		43D68C281A41382100000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithDefines/srcs/src.mm"; sourceTree = "<group>"; };
+		43D68C2823ACD62100000000 /* Application-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_complex/Application-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C2829C9947000000000 /* ObjCBundle.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = ObjCBundle.bundle; path = "tulsi-workspace/tulsi_e2e_complex/ObjCBundle.bundle"; sourceTree = "<group>"; };
 		43D68C283148FC2600000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibrary/srcs/src.mm"; sourceTree = "<group>"; };
 		43D68C283591DFD900000000 /* DataModelsTestv1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = DataModelsTestv1.xcdatamodel; path = tulsi_e2e_complex/Test.xcdatamodeld/DataModelsTestv1.xcdatamodel; sourceTree = "<group>"; };
@@ -91,6 +93,7 @@
 		43D68C2858F5ABDF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_complex/Application/Info.plist"; sourceTree = "<group>"; };
 		43D68C285E266A6000000000 /* XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCTest.xctest; path = XCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C28627DA73600000000 /* file2.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = file2.file; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/resources/file2.file"; sourceTree = "<group>"; };
+		43D68C28664E4E6D00000000 /* XCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_complex/XCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C2866D7C08500000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "tulsi-workspace/tulsi_e2e_complex/Application/en.lproj/EN.strings"; sourceTree = "<group>"; };
 		43D68C286A36B02900000000 /* src.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src.mm; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithDifferentDefines/srcs/src.mm"; sourceTree = "<group>"; };
 		43D68C286E7B37CF00000000 /* NonLocalized.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = NonLocalized.strings; path = "tulsi-workspace/tulsi_e2e_complex/Application/NonLocalized.strings"; sourceTree = "<group>"; };
@@ -102,7 +105,6 @@
 		43D68C2885A048FD00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_complex/Application/entitlements.entitlements"; sourceTree = "<group>"; };
 		43D68C288970786C00000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src1.m"; sourceTree = "<group>"; };
 		43D68C288E876E6400000000 /* Plist1.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Plist1.plist; path = tulsi_e2e_complex/TodayExtension/Plist1.plist; sourceTree = "<group>"; };
-		43D68C28937235E300000000 /* Application-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_complex/Application-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C28958553E300000000 /* src5.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src5.mm; path = "tulsi-workspace/tulsi_e2e_complex/Library/srcs/src5.mm"; sourceTree = "<group>"; };
 		43D68C289B31F4AA00000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src2.m"; sourceTree = "<group>"; };
 		43D68C28A0499AFA00000000 /* lib_idx_Library_20EC2F4A_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_Library_20EC2F4A_ios_min8.0.a; path = lib_idx_Library_20EC2F4A_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -352,7 +354,9 @@
 		966FB6DE7DA6F9D500000000 /* tulsi_e2e_complex */ = {
 			isa = PBXGroup;
 			children = (
-				43D68C28937235E300000000 /* Application-MergedInfo.plist */,
+				43D68C2823ACD62100000000 /* Application-Info-binary.plist */,
+				43D68C28089DC96000000000 /* TodayExtension-Info-binary.plist */,
+				43D68C28664E4E6D00000000 /* XCTest_test_bundle-Info-binary.plist */,
 			);
 			name = tulsi_e2e_complex;
 			sourceTree = "<group>";
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/IosLegacyTestProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/IosLegacyTestProject.xcodeproj/project.pbxproj
index e500ed3..291cf8c 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/IosLegacyTestProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/IosLegacyTestProject.xcodeproj/project.pbxproj
@@ -20,6 +20,7 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		43D68C280AA8982400000000 /* LegacyTests.legacy_app-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "LegacyTests.legacy_app-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_ios_legacy_test/LegacyTests.legacy_app-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C281D04D2FA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_ios_legacy_test/BUILD; sourceTree = "<group>"; };
 		43D68C2825268D4600000000 /* lib_idx_LegacyTestsLib_A268D14B_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_LegacyTestsLib_A268D14B_ios_min8.0.a; path = lib_idx_LegacyTestsLib_A268D14B_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C2844CBC58E00000000 /* LegacyTests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = LegacyTests.app; path = LegacyTests.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -35,9 +36,25 @@
 			name = Indexer;
 			sourceTree = "<group>";
 		};
+		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DE88DDC84A00000000 /* x */,
+			);
+			name = "_tulsi-includes";
+			sourceTree = "<group>";
+		};
 		966FB6DE10DDA96300000000 /* tulsi_e2e_ios_legacy_test */ = {
 			isa = PBXGroup;
 			children = (
+				43D68C280AA8982400000000 /* LegacyTests.legacy_app-Info-binary.plist */,
+			);
+			name = tulsi_e2e_ios_legacy_test;
+			sourceTree = "<group>";
+		};
+		966FB6DE10DDA96300000001 /* tulsi_e2e_ios_legacy_test */ = {
+			isa = PBXGroup;
+			children = (
 				43D68C281D04D2FA00000000 /* BUILD */,
 				966FB6DE7B75CD5200000000 /* LegacyTests */,
 			);
@@ -49,6 +66,7 @@
 			children = (
 				966FB6DE0562C2F700000000 /* Indexer */,
 				43D68C2844CBC58E00000000 /* LegacyTests.app */,
+				966FB6DE07201E0200000000 /* _tulsi-includes */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -57,7 +75,7 @@
 			isa = PBXGroup;
 			children = (
 				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE10DDA96300000000 /* tulsi_e2e_ios_legacy_test */,
+				966FB6DE10DDA96300000001 /* tulsi_e2e_ios_legacy_test */,
 			);
 			name = mainGroup;
 			path = ..;
@@ -71,6 +89,22 @@
 			name = LegacyTests;
 			sourceTree = "<group>";
 		};
+		966FB6DE88DDC84A00000000 /* x */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DE88DDC84A00000001 /* x */,
+			);
+			name = x;
+			sourceTree = "<group>";
+		};
+		966FB6DE88DDC84A00000001 /* x */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DE10DDA96300000000 /* tulsi_e2e_ios_legacy_test */,
+			);
+			name = x;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXLegacyTarget section */
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj
index 4d496ce..5bc4966 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj
@@ -29,6 +29,8 @@
 		43D68C2834A5AC2900000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = "<group>"; };
 		43D68C283646FFE900000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = "<group>"; };
 		43D68C283C553F8E00000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_mac/src/main.m"; sourceTree = "<group>"; };
+		43D68C284B9A871E00000000 /* MyMacOSApp-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "MyMacOSApp-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-Info-binary.plist"; sourceTree = "<group>"; };
+		43D68C2854F3D12A00000000 /* MyTodayExtension-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "MyTodayExtension-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/MyTodayExtension-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C2859BF633C00000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = "<group>"; };
 		43D68C2859FC82CA00000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = "<group>"; };
 		43D68C286BE5C4F400000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = "<group>"; };
@@ -66,6 +68,14 @@
 			name = extensions;
 			sourceTree = "<group>";
 		};
+		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DE88DDC84A00000000 /* x */,
+			);
+			name = "_tulsi-includes";
+			sourceTree = "<group>";
+		};
 		966FB6DE200CADE500000000 /* Resources */ = {
 			isa = PBXGroup;
 			children = (
@@ -82,6 +92,7 @@
 				43D68C281E9E743E00000000 /* MyCommandLineApp */,
 				43D68C2810C8DA6C00000000 /* MyMacOSApp.app */,
 				43D68C28936F558E00000000 /* MyTodayExtension.appex */,
+				966FB6DE07201E0200000000 /* _tulsi-includes */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -90,12 +101,28 @@
 			isa = PBXGroup;
 			children = (
 				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DEA121610800000000 /* tulsi_e2e_mac */,
+				966FB6DEA121610800000001 /* tulsi_e2e_mac */,
 			);
 			name = mainGroup;
 			path = ..;
 			sourceTree = SOURCE_ROOT;
 		};
+		966FB6DE88DDC84A00000000 /* x */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DE88DDC84A00000001 /* x */,
+			);
+			name = x;
+			sourceTree = "<group>";
+		};
+		966FB6DE88DDC84A00000001 /* x */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DEA121610800000000 /* tulsi_e2e_mac */,
+			);
+			name = x;
+			sourceTree = "<group>";
+		};
 		966FB6DE97B5B88200000000 /* src */ = {
 			isa = PBXGroup;
 			children = (
@@ -118,6 +145,15 @@
 		966FB6DEA121610800000000 /* tulsi_e2e_mac */ = {
 			isa = PBXGroup;
 			children = (
+				43D68C284B9A871E00000000 /* MyMacOSApp-Info-binary.plist */,
+				43D68C2854F3D12A00000000 /* MyTodayExtension-Info-binary.plist */,
+			);
+			name = tulsi_e2e_mac;
+			sourceTree = "<group>";
+		};
+		966FB6DEA121610800000001 /* tulsi_e2e_mac */ = {
+			isa = PBXGroup;
+			children = (
 				43D68C28CBE52D2300000000 /* BUILD */,
 				43D68C289199386500000000 /* Info.plist */,
 				43D68C28F1794D7D00000000 /* MyCommandLineApp-Info.plist */,
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
index d68574e..fd2647d 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
@@ -34,6 +34,7 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		43D68C28068223AE00000000 /* UITests_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "UITests_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UITests_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C2810C8DA6C00000000 /* MyMacOSApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = MyMacOSApp.app; path = MyMacOSApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C281B1E0BED00000000 /* UnitTestsNoHost.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTestsNoHost.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTestsNoHost.m"; sourceTree = "<group>"; };
 		43D68C282511224F00000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = "<group>"; };
@@ -41,13 +42,16 @@
 		43D68C283646FFE900000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = "<group>"; };
 		43D68C283C553F8E00000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_mac/src/main.m"; sourceTree = "<group>"; };
 		43D68C283E3D735200000000 /* UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UITests.xctest; path = UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+		43D68C284B9A871E00000000 /* MyMacOSApp-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "MyMacOSApp-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C2859BF633C00000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = "<group>"; };
 		43D68C2859FC82CA00000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = "<group>"; };
+		43D68C28674D181C00000000 /* UnitTestsNoHost_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "UnitTestsNoHost_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UnitTestsNoHost_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C2867EA07A300000000 /* UITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UITests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UITests.m"; sourceTree = "<group>"; };
 		43D68C286BE5C4F400000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = "<group>"; };
 		43D68C2870F6EB5A00000000 /* UnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UnitTests.xctest; path = UnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C2876BC0BC700000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = "<group>"; };
 		43D68C289199386500000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/Info.plist"; sourceTree = "<group>"; };
+		43D68C2896C8B95600000000 /* UnitTests_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "UnitTests_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UnitTests_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28A14CEB9800000000 /* UnitTestsNoHost.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UnitTestsNoHost.xctest; path = UnitTestsNoHost.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C28C47949AB00000000 /* UnitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTests.m"; sourceTree = "<group>"; };
 		43D68C28CBE52D2300000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_mac/BUILD; sourceTree = "<group>"; };
@@ -82,6 +86,14 @@
 			name = extensions;
 			sourceTree = "<group>";
 		};
+		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DE88DDC84A00000000 /* x */,
+			);
+			name = "_tulsi-includes";
+			sourceTree = "<group>";
+		};
 		966FB6DE200CADE500000000 /* Resources */ = {
 			isa = PBXGroup;
 			children = (
@@ -99,6 +111,7 @@
 				43D68C283E3D735200000000 /* UITests.xctest */,
 				43D68C2870F6EB5A00000000 /* UnitTests.xctest */,
 				43D68C28A14CEB9800000000 /* UnitTestsNoHost.xctest */,
+				966FB6DE07201E0200000000 /* _tulsi-includes */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -117,12 +130,28 @@
 			isa = PBXGroup;
 			children = (
 				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DEA121610800000000 /* tulsi_e2e_mac */,
+				966FB6DEA121610800000001 /* tulsi_e2e_mac */,
 			);
 			name = mainGroup;
 			path = ..;
 			sourceTree = SOURCE_ROOT;
 		};
+		966FB6DE88DDC84A00000000 /* x */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DE88DDC84A00000001 /* x */,
+			);
+			name = x;
+			sourceTree = "<group>";
+		};
+		966FB6DE88DDC84A00000001 /* x */ = {
+			isa = PBXGroup;
+			children = (
+				966FB6DEA121610800000000 /* tulsi_e2e_mac */,
+			);
+			name = x;
+			sourceTree = "<group>";
+		};
 		966FB6DE97B5B88200000000 /* src */ = {
 			isa = PBXGroup;
 			children = (
@@ -145,6 +174,17 @@
 		966FB6DEA121610800000000 /* tulsi_e2e_mac */ = {
 			isa = PBXGroup;
 			children = (
+				43D68C284B9A871E00000000 /* MyMacOSApp-Info-binary.plist */,
+				43D68C28068223AE00000000 /* UITests_test_bundle-Info-binary.plist */,
+				43D68C28674D181C00000000 /* UnitTestsNoHost_test_bundle-Info-binary.plist */,
+				43D68C2896C8B95600000000 /* UnitTests_test_bundle-Info-binary.plist */,
+			);
+			name = tulsi_e2e_mac;
+			sourceTree = "<group>";
+		};
+		966FB6DEA121610800000001 /* tulsi_e2e_mac */ = {
+			isa = PBXGroup;
+			children = (
 				43D68C28CBE52D2300000000 /* BUILD */,
 				43D68C289199386500000000 /* Info.plist */,
 				43D68C2876BC0BC700000000 /* MyTodayExtension-Entitlements.entitlements */,
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
index a0a87e3..312717d 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
@@ -42,11 +42,10 @@
 /* Begin PBXFileReference section */
 		43D68C2805AAC31600000000 /* TextualHdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextualHdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/textual_hdrs/TextualHdrsHeader.h"; sourceTree = "<group>"; };
 		43D68C280BFD6EFC00000000 /* TargetApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TargetApplication.app; path = TargetApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28130596E000000000 /* TargetApplication-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TargetApplication-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple/TargetApplication-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C2819E313D100000000 /* src1.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = src1.mm; path = "tulsi-workspace/tulsi_e2e_simple/XCTest/srcs/src1.mm"; sourceTree = "<group>"; };
+		43D68C282AF40CC000000000 /* XCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple/XCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28326496CA00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_simple/ApplicationLibrary/Base.lproj/One.storyboard"; sourceTree = "<group>"; };
 		43D68C28376F90AC00000000 /* lib_idx_ApplicationLibrary_BB2F88FA_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_BB2F88FA_ios_min8.0.a; path = lib_idx_ApplicationLibrary_BB2F88FA_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C283892747200000000 /* Application-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple/Application-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C2841E053A700000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_simple/ApplicationLibrary/srcs/main.m"; sourceTree = "<group>"; };
 		43D68C284759C53900000000 /* PCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PCHFile.pch; path = "tulsi-workspace/tulsi_e2e_simple/Library/pch/PCHFile.pch"; sourceTree = "<group>"; };
 		43D68C2854A2185400000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "tulsi-workspace/tulsi_e2e_simple/Application/Launch.storyboard"; sourceTree = "<group>"; };
@@ -54,6 +53,8 @@
 		43D68C285A65770D00000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "tulsi-workspace/tulsi_e2e_simple/Library/xibs/xib.xib"; sourceTree = "<group>"; };
 		43D68C285E266A6000000000 /* XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCTest.xctest; path = XCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C288B9856D200000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src1.m"; sourceTree = "<group>"; };
+		43D68C28978A91A200000000 /* TargetApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TargetApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple/TargetApplication-Info-binary.plist"; sourceTree = "<group>"; };
+		43D68C289B0E1CB400000000 /* Application-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple/Application-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28A556FB7A00000000 /* SimpleDataModelsTestv1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv1.xcdatamodel; path = tulsi_e2e_simple/SimpleTest.xcdatamodeld/SimpleDataModelsTestv1.xcdatamodel; sourceTree = "<group>"; };
 		43D68C28AC13992A00000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/SrcsHeader.h"; sourceTree = "<group>"; };
 		43D68C28AD49D31000000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src2.m"; sourceTree = "<group>"; };
@@ -147,8 +148,9 @@
 		966FB6DE61BF2DA400000000 /* tulsi_e2e_simple */ = {
 			isa = PBXGroup;
 			children = (
-				43D68C283892747200000000 /* Application-MergedInfo.plist */,
-				43D68C28130596E000000000 /* TargetApplication-MergedInfo.plist */,
+				43D68C289B0E1CB400000000 /* Application-Info-binary.plist */,
+				43D68C28978A91A200000000 /* TargetApplication-Info-binary.plist */,
+				43D68C282AF40CC000000000 /* XCTest_test_bundle-Info-binary.plist */,
 			);
 			name = tulsi_e2e_simple;
 			sourceTree = "<group>";
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleSkylarkProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleSkylarkProject.xcodeproj/project.pbxproj
index b0bcdc7..adc8c49 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleSkylarkProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleSkylarkProject.xcodeproj/project.pbxproj
@@ -47,20 +47,22 @@
 /* Begin PBXFileReference section */
 		43D68C28016874A200000000 /* SimpleDataModelsTestv1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv1.xcdatamodel; path = tulsi_e2e_simple_skylark/SimpleTest.xcdatamodeld/SimpleDataModelsTestv1.xcdatamodel; sourceTree = "<group>"; };
 		43D68C280363E91A00000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_simple_skylark/App/srcs/main.m"; sourceTree = "<group>"; };
+		43D68C2803858A8B00000000 /* XCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C2807AD023D00000000 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Tests.swift; path = "tulsi-workspace/tulsi_e2e_simple_skylark/XCTest/srcs/Tests.swift"; sourceTree = "<group>"; };
 		43D68C2814E234EC00000000 /* lib_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0.a; path = lib_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C2815D95F4700000000 /* SkylarkTargetApplication-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "SkylarkTargetApplication-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/SkylarkTargetApplication-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C281CB1D2D900000000 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Settings.bundle"; sourceTree = "<group>"; };
 		43D68C28259988BC00000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Application/Launch.storyboard"; sourceTree = "<group>"; };
 		43D68C2826D093AA00000000 /* StickerExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = StickerExtension.appex; path = StickerExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C2826E7EF3100000000 /* SkylarkApplication-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "SkylarkApplication-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/SkylarkApplication-MergedInfo.plist"; sourceTree = "<group>"; };
+		43D68C282D20496000000000 /* SkylarkApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "SkylarkApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/SkylarkApplication-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28360062FC00000000 /* lib_idx_JavaLibrary_C16E964B_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_JavaLibrary_C16E964B_ios_min8.0.a; path = lib_idx_JavaLibrary_C16E964B_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C283786664A00000000 /* _idx_XCTestCodeSwift_2FB5517B_ios_min8.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_XCTestCodeSwift_2FB5517B_ios_min8.0.framework; path = _idx_XCTestCodeSwift_2FB5517B_ios_min8.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		43D68C2837A63D3D00000000 /* XCUITest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCUITest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCUITest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C283943564C00000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/hdrs/HdrsHeader.h"; sourceTree = "<group>"; };
 		43D68C28395860BE00000000 /* TextualHdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextualHdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/textual_hdrs/TextualHdrsHeader.h"; sourceTree = "<group>"; };
 		43D68C283A0868B500000000 /* Stickers.xcstickers */ = {isa = PBXFileReference; lastKnownFileType = folder.stickers; name = Stickers.xcstickers; path = tulsi_e2e_simple_skylark/Stickers.xcstickers; sourceTree = "<group>"; };
 		43D68C283CBFF4DA00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Application/Info.plist"; sourceTree = "<group>"; };
 		43D68C2844067B5100000000 /* XCUITests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = XCUITests.mm; path = "tulsi-workspace/tulsi_e2e_simple_skylark/XCUITest/srcs/XCUITests.mm"; sourceTree = "<group>"; };
+		43D68C285681479300000000 /* SkylarkTargetApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "SkylarkTargetApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/SkylarkTargetApplication-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28594086D300000000 /* ProtoFile.proto */ = {isa = PBXFileReference; lastKnownFileType = dyn.age81a6xtsv1u; name = ProtoFile.proto; path = "tulsi-workspace/tulsi_e2e_simple_skylark/ProtoFile.proto"; sourceTree = "<group>"; };
 		43D68C285AC5B07A00000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/srcs/src1.m"; sourceTree = "<group>"; };
 		43D68C285E266A6000000000 /* XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCTest.xctest; path = XCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -76,6 +78,7 @@
 		43D68C28A96EB07300000000 /* PCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PCHFile.pch; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/pch/PCHFile.pch"; sourceTree = "<group>"; };
 		43D68C28AB52552000000000 /* XCUITest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCUITest.xctest; path = XCUITest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C28B9C699F600000000 /* SkylarkApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = SkylarkApplication.app; path = SkylarkApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		43D68C28CC080D0200000000 /* StickerExtension-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "StickerExtension-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/StickerExtension-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28CFB68C6700000000 /* memleaks.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = memleaks.m; path = tools/objc/memleaks/memleaks.m; sourceTree = "<group>"; };
 		43D68C28D035C16900000000 /* XCTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = XCTests.mm; path = "tulsi-workspace/tulsi_e2e_simple_skylark/XCTest/srcs/XCTests.mm"; sourceTree = "<group>"; };
 		43D68C28F44F077B00000000 /* file.java */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.java; name = file.java; path = "tulsi-workspace/tulsi_e2e_simple_skylark/file.java"; sourceTree = "<group>"; };
@@ -288,8 +291,11 @@
 		966FB6DEF58E46CC00000000 /* tulsi_e2e_simple_skylark */ = {
 			isa = PBXGroup;
 			children = (
-				43D68C2826E7EF3100000000 /* SkylarkApplication-MergedInfo.plist */,
-				43D68C2815D95F4700000000 /* SkylarkTargetApplication-MergedInfo.plist */,
+				43D68C282D20496000000000 /* SkylarkApplication-Info-binary.plist */,
+				43D68C285681479300000000 /* SkylarkTargetApplication-Info-binary.plist */,
+				43D68C28CC080D0200000000 /* StickerExtension-Info-binary.plist */,
+				43D68C2803858A8B00000000 /* XCTest_test_bundle-Info-binary.plist */,
+				43D68C2837A63D3D00000000 /* XCUITest_test_bundle-Info-binary.plist */,
 			);
 			name = tulsi_e2e_simple_skylark;
 			sourceTree = "<group>";
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj
index c3176bb..01752e4 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj
@@ -28,11 +28,11 @@
 		43D68C281A91031800000000 /* _idx_SwiftLibraryV4_56AA3A59_ios_min8.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV4_56AA3A59_ios_min8.0.framework; path = _idx_SwiftLibraryV4_56AA3A59_ios_min8.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C283DDF903600000000 /* _idx_SwiftLibrary_EA7FC891_ios_min8.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibrary_EA7FC891_ios_min8.0.framework; path = _idx_SwiftLibrary_EA7FC891_ios_min8.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C2875CB931600000000 /* _idx_SwiftLibraryV3_56AA3A57_ios_min8.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV3_56AA3A57_ios_min8.0.framework; path = _idx_SwiftLibraryV3_56AA3A57_ios_min8.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28804B7D5400000000 /* Application-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_swift/Application-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C2897AEEFA100000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV3/srcs/a.swift"; sourceTree = "<group>"; };
 		43D68C28A81C321400000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibrary/srcs/a.swift"; sourceTree = "<group>"; };
 		43D68C28ADF10C6300000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_swift/Info.plist"; sourceTree = "<group>"; };
 		43D68C28BF9D04A000000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV4/srcs/a.swift"; sourceTree = "<group>"; };
+		43D68C28C8C0AE1600000000 /* Application-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_swift/Application-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28DA373E9A00000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibrary/srcs/b.swift"; sourceTree = "<group>"; };
 		43D68C28E006042300000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV3/srcs/b.swift"; sourceTree = "<group>"; };
 		43D68C28F49055A600000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -149,7 +149,7 @@
 		966FB6DE9E30860600000000 /* tulsi_e2e_swift */ = {
 			isa = PBXGroup;
 			children = (
-				43D68C28804B7D5400000000 /* Application-MergedInfo.plist */,
+				43D68C28C8C0AE1600000000 /* Application-Info-binary.plist */,
 			);
 			name = tulsi_e2e_swift;
 			sourceTree = "<group>";
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
index 4b4e6c3..3cdf7fe 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
@@ -39,8 +39,10 @@
 
 /* Begin PBXFileReference section */
 		43D68C280514D6D800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = "<group>"; };
+		43D68C282CB3D54100000000 /* XCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/One/XCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C2830D2727A00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Three/XCTest.m"; sourceTree = "<group>"; };
 		43D68C2837CE81F900000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; };
+		43D68C284341791900000000 /* XCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/XCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C284D91E30200000000 /* lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min8.0.a; path = lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C284E81BC7800000000 /* TestSuite-Three-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-Three-XCTest.xctest"; path = "TestSuite-Three-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C2853A382C000000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/One/BUILD; sourceTree = "<group>"; };
@@ -50,9 +52,11 @@
 		43D68C288021770E00000000 /* LogicTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LogicTest.m; path = "tulsi-workspace/TestSuite/One/LogicTest.m"; sourceTree = "<group>"; };
 		43D68C288E51A48C00000000 /* LogicTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = LogicTest.xctest; path = LogicTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C2899C3A61800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Two/BUILD; sourceTree = "<group>"; };
+		43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TestApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestApplication-Info-binary.plist"; sourceTree = "<group>"; };
+		43D68C28CA7C685900000000 /* XCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Two/XCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
+		43D68C28CE533DED00000000 /* LogicTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "LogicTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/One/LogicTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28CFB68C6700000000 /* memleaks.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = memleaks.m; path = tools/objc/memleaks/memleaks.m; sourceTree = "<group>"; };
 		43D68C28D835DF2200000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/One/XCTest.m"; sourceTree = "<group>"; };
-		43D68C28DEBA0EC500000000 /* TestApplication-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TestApplication-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestApplication-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C28DEE022F800000000 /* TestSuite-Two-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-Two-XCTest.xctest"; path = "TestSuite-Two-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C28E8EE103A00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Two/XCTest.m"; sourceTree = "<group>"; };
 		43D68C28FF916CC800000000 /* TestSuite-One-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-One-XCTest.xctest"; path = "TestSuite-One-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -86,6 +90,14 @@
 		966FB6DE2008A7BC00000000 /* Three */ = {
 			isa = PBXGroup;
 			children = (
+				43D68C284341791900000000 /* XCTest_test_bundle-Info-binary.plist */,
+			);
+			name = Three;
+			sourceTree = "<group>";
+		};
+		966FB6DE2008A7BC00000001 /* Three */ = {
+			isa = PBXGroup;
+			children = (
 				43D68C280514D6D800000000 /* BUILD */,
 				43D68C2830D2727A00000000 /* XCTest.m */,
 			);
@@ -152,6 +164,14 @@
 		966FB6DE9692BF0400000000 /* Two */ = {
 			isa = PBXGroup;
 			children = (
+				43D68C28CA7C685900000000 /* XCTest_test_bundle-Info-binary.plist */,
+			);
+			name = Two;
+			sourceTree = "<group>";
+		};
+		966FB6DE9692BF0400000001 /* Two */ = {
+			isa = PBXGroup;
+			children = (
 				43D68C2899C3A61800000000 /* BUILD */,
 				43D68C28E8EE103A00000000 /* XCTest.m */,
 			);
@@ -161,6 +181,15 @@
 		966FB6DE96FC0B6C00000000 /* One */ = {
 			isa = PBXGroup;
 			children = (
+				43D68C28CE533DED00000000 /* LogicTest_test_bundle-Info-binary.plist */,
+				43D68C282CB3D54100000000 /* XCTest_test_bundle-Info-binary.plist */,
+			);
+			name = One;
+			sourceTree = "<group>";
+		};
+		966FB6DE96FC0B6C00000001 /* One */ = {
+			isa = PBXGroup;
+			children = (
 				43D68C2853A382C000000000 /* BUILD */,
 				43D68C288021770E00000000 /* LogicTest.m */,
 				43D68C28D835DF2200000000 /* XCTest.m */,
@@ -171,7 +200,10 @@
 		966FB6DE97D5C89200000000 /* TestSuite */ = {
 			isa = PBXGroup;
 			children = (
-				43D68C28DEBA0EC500000000 /* TestApplication-MergedInfo.plist */,
+				966FB6DE96FC0B6C00000000 /* One */,
+				43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */,
+				966FB6DE2008A7BC00000000 /* Three */,
+				966FB6DE9692BF0400000000 /* Two */,
 			);
 			name = TestSuite;
 			sourceTree = "<group>";
@@ -182,9 +214,9 @@
 				966FB6DEB58A255E00000000 /* Application */,
 				43D68C28588752AD00000000 /* BUILD */,
 				43D68C2864939ADF00000000 /* Info.plist */,
-				966FB6DE96FC0B6C00000000 /* One */,
-				966FB6DE2008A7BC00000000 /* Three */,
-				966FB6DE9692BF0400000000 /* Two */,
+				966FB6DE96FC0B6C00000001 /* One */,
+				966FB6DE2008A7BC00000001 /* Three */,
+				966FB6DE9692BF0400000001 /* Two */,
 			);
 			name = TestSuite;
 			sourceTree = "<group>";
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
index 45e5423..22953bb 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
@@ -34,9 +34,10 @@
 		43D68C28588752AD00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = "<group>"; };
 		43D68C285A2F8B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C2864939ADF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = "<group>"; };
+		43D68C28791AEFD000000000 /* TestSuiteXCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TestSuiteXCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestSuiteXCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
+		43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TestApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestApplication-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28A6179FCA00000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C28CFB68C6700000000 /* memleaks.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = memleaks.m; path = tools/objc/memleaks/memleaks.m; sourceTree = "<group>"; };
-		43D68C28DEBA0EC500000000 /* TestApplication-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TestApplication-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestApplication-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -122,7 +123,8 @@
 		966FB6DE97D5C89200000000 /* TestSuite */ = {
 			isa = PBXGroup;
 			children = (
-				43D68C28DEBA0EC500000000 /* TestApplication-MergedInfo.plist */,
+				43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */,
+				43D68C28791AEFD000000000 /* TestSuiteXCTest_test_bundle-Info-binary.plist */,
 			);
 			name = TestSuite;
 			sourceTree = "<group>";
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
index 14aefc6..7f90e3b 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
@@ -45,9 +45,12 @@
 		43D68C285A2F8B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C2864939ADF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = "<group>"; };
 		43D68C28672DE3E800000000 /* tagged_xctest_1.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_1.xctest; path = tagged_xctest_1.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+		43D68C28791AEFD000000000 /* TestSuiteXCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TestSuiteXCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestSuiteXCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
+		43D68C289496024B00000000 /* tagged_xctest_2_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "tagged_xctest_2_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/tagged_xctest_2_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
+		43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TestApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestApplication-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28A6179FCA00000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+		43D68C28AAA2624700000000 /* tagged_xctest_1_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "tagged_xctest_1_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/tagged_xctest_1_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28CFB68C6700000000 /* memleaks.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = memleaks.m; path = tools/objc/memleaks/memleaks.m; sourceTree = "<group>"; };
-		43D68C28DEBA0EC500000000 /* TestApplication-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "TestApplication-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestApplication-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -79,6 +82,15 @@
 		966FB6DE2008A7BC00000000 /* Three */ = {
 			isa = PBXGroup;
 			children = (
+				43D68C28AAA2624700000000 /* tagged_xctest_1_test_bundle-Info-binary.plist */,
+				43D68C289496024B00000000 /* tagged_xctest_2_test_bundle-Info-binary.plist */,
+			);
+			name = Three;
+			sourceTree = "<group>";
+		};
+		966FB6DE2008A7BC00000001 /* Three */ = {
+			isa = PBXGroup;
+			children = (
 				43D68C280514D6D800000000 /* BUILD */,
 				43D68C2828386DC200000000 /* tagged_xctest_1.m */,
 				43D68C28203681C000000000 /* tagged_xctest_2.m */,
@@ -145,7 +157,9 @@
 		966FB6DE97D5C89200000000 /* TestSuite */ = {
 			isa = PBXGroup;
 			children = (
-				43D68C28DEBA0EC500000000 /* TestApplication-MergedInfo.plist */,
+				43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */,
+				43D68C28791AEFD000000000 /* TestSuiteXCTest_test_bundle-Info-binary.plist */,
+				966FB6DE2008A7BC00000000 /* Three */,
 			);
 			name = TestSuite;
 			sourceTree = "<group>";
@@ -157,7 +171,7 @@
 				43D68C28588752AD00000000 /* BUILD */,
 				43D68C2864939ADF00000000 /* Info.plist */,
 				966FB6DE97D5C89200000002 /* TestSuite */,
-				966FB6DE2008A7BC00000000 /* Three */,
+				966FB6DE2008A7BC00000001 /* Three */,
 			);
 			name = TestSuite;
 			sourceTree = "<group>";
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj
index 6c6730e..2f3894f 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj
@@ -28,10 +28,10 @@
 
 /* Begin PBXFileReference section */
 		43D68C2806CBDC2C00000000 /* Interface.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Interface.storyboard; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/Interface.storyboard"; sourceTree = "<group>"; };
-		43D68C2816ADE03E00000000 /* Application-MergedInfo.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-MergedInfo.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_watch/Application-MergedInfo.plist"; sourceTree = "<group>"; };
 		43D68C283686445A00000000 /* ext_resources.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = ext_resources.file; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_resources.file"; sourceTree = "<group>"; };
 		43D68C283FF4EFB600000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_watch/Library/srcs/main.m"; sourceTree = "<group>"; };
 		43D68C2849C0CECB00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_watch/BUILD; sourceTree = "<group>"; };
+		43D68C284A8D2A4000000000 /* WatchApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "WatchApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_watch/WatchApplication-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C284AC8D59B00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/app_infoplists/Info.plist"; sourceTree = "<group>"; };
 		43D68C284E902D9E00000000 /* WatchApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = WatchApplication.app; path = WatchApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C2858A082E200000000 /* lib_idx_ApplicationLibrary_06BBE256_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_06BBE256_ios_min8.0.a; path = lib_idx_ApplicationLibrary_06BBE256_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -42,9 +42,11 @@
 		43D68C28AFD9A63E00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Application/Info.plist"; sourceTree = "<group>"; };
 		43D68C28B713E4AE00000000 /* structured_resources.file1 */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy2u; name = structured_resources.file1; path = "tulsi-workspace/tulsi_e2e_watch/Application/structured_resources.file1"; sourceTree = "<group>"; };
 		43D68C28BBC8EE6A00000000 /* WatchExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = WatchExtension.appex; path = WatchExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+		43D68C28C70540DD00000000 /* WatchExtension-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "WatchExtension-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_watch/WatchExtension-Info-binary.plist"; sourceTree = "<group>"; };
 		43D68C28EFD4953600000000 /* ext_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = ext_entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_entitlements.entitlements"; sourceTree = "<group>"; };
 		43D68C28F49055A600000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		43D68C28FC1765AB00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_infoplists/Info.plist"; sourceTree = "<group>"; };
+		43D68C28FD56830000000000 /* Application-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_watch/Application-Info-binary.plist"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXGroup section */
@@ -68,7 +70,9 @@
 		966FB6DE099EE73000000000 /* tulsi_e2e_watch */ = {
 			isa = PBXGroup;
 			children = (
-				43D68C2816ADE03E00000000 /* Application-MergedInfo.plist */,
+				43D68C28FD56830000000000 /* Application-Info-binary.plist */,
+				43D68C284A8D2A4000000000 /* WatchApplication-Info-binary.plist */,
+				43D68C28C70540DD00000000 /* WatchExtension-Info-binary.plist */,
 			);
 			name = tulsi_e2e_watch;
 			sourceTree = "<group>";