diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
index 7802138..0fa14b4 100644
--- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
+++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
@@ -494,7 +494,8 @@
         return min_os
 
     platform_type = getattr(apple_common.platform_type, platform_type_str)
-    min_os = (ctx.attr._tulsi_xcode_config[apple_common.XcodeVersionConfig].minimum_os_for_platform_type(platform_type))
+    min_os = (ctx.attr._tulsi_xcode_config[apple_common.XcodeVersionConfig]
+        .minimum_os_for_platform_type(platform_type))
 
     if not min_os:
         return None
diff --git a/src/TulsiGenerator/Scripts/bazel_build.py b/src/TulsiGenerator/Scripts/bazel_build.py
index 20bf200..34c288f 100755
--- a/src/TulsiGenerator/Scripts/bazel_build.py
+++ b/src/TulsiGenerator/Scripts/bazel_build.py
@@ -28,6 +28,7 @@
 import subprocess
 import sys
 import textwrap
+import threading
 import time
 import zipfile
 
@@ -680,25 +681,18 @@
     if exit_code:
       return exit_code
 
-    # We expect artifact installation to take longer than header installation,
-    # so we spawn the genfiles installation subprocess first, spawn and wait on
-    # artifact installation, and then finally wait on genfiles installation
-    # (which is hopefully already done). Note that this makes the timer for
-    # genfiles installation inaccurate (it will always be longer than the
-    # artifact installation timer).
-    genfiles_timer = Timer('Installing generated headers',
-                           'installing_generated_headers').Start()
-    genfiles_process = self._StartInstallingGeneratedHeaders(outputs)
-
+    # Generated headers are installed on a thread since we are launching
+    # a separate process to do so. This gives us clean timings.
+    install_thread = threading.Thread(
+        target=self._StartInstallingGeneratedHeaders, args=(outputs,))
+    install_thread.start()
     timer = Timer('Installing artifacts', 'installing_artifacts').Start()
     exit_code = self._InstallArtifact(outputs_data)
     timer.End()
+    install_thread.join()
     if exit_code:
       return exit_code
 
-    genfiles_process.wait()
-    genfiles_timer.End()
-
     exit_code, dsym_paths = self._InstallDSYMBundles(
         self.built_products_dir, outputs_data)
     if exit_code:
@@ -1147,9 +1141,10 @@
         return path
     return None
 
-  def _StartInstallingGeneratedHeaders(self, outputs):
+  def _InstallGeneratedHeaders(self, outputs):
     """Invokes install_genfiles.py to install generated Bazel files."""
-
+    genfiles_timer = Timer('Installing generated headers',
+                           'installing_generated_headers').Start()
     # Resolve the path to the install_genfiles.py script.
     # It should be in the same directory as this script.
     path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
@@ -1161,7 +1156,8 @@
     self._PrintVerbose('Spawning subprocess install_genfiles.py to copy '
                        'generated files in the background...')
     process = subprocess.Popen(args)
-    return process
+    process.wait()
+    genfiles_timer.End()
 
   def _InstallBundle(self, source_path, output_path):
     """Copies the bundle at source_path to output_path."""
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 3f1d9a1..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,1537 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF494706F127E800000000 /* Test.xcdatamodeld in tulsi_e2e_complex */ = {isa = PBXBuildFile; fileRef = C517CBBD06F127E800000000 /* Test.xcdatamodeld */; };
-		E6AF49471A41382100000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C281A41382100000000 /* src.mm */; };
-		E6AF49473148FC2600000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C283148FC2600000000 /* src.mm */; };
-		E6AF49475D9EF01300000000 /* NonARCFile.mm in non_arc_srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28DC6A997500000000 /* NonARCFile.mm */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
-		E6AF49476A36B02900000000 /* src.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C286A36B02900000000 /* src.mm */; };
-		E6AF4947716A3B7000000000 /* input.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28716A3B7000000000 /* input.m */; };
-		E6AF494775C5141000000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2875C5141000000000 /* main.m */; };
-		E6AF49477C31BCDA00000000 /* sub_library_with_identical_defines.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C287C31BCDA00000000 /* sub_library_with_identical_defines.m */; };
-		E6AF49478970786C00000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C288970786C00000000 /* src1.m */; };
-		E6AF49478970786C00000001 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C288970786C00000000 /* src1.m */; };
-		E6AF4947958553E300000000 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28958553E300000000 /* src5.mm */; };
-		E6AF4947958553E300000001 /* src5.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28958553E300000000 /* src5.mm */; };
-		E6AF49479B31F4AA00000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C289B31F4AA00000000 /* src2.m */; };
-		E6AF49479B31F4AA00000001 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C289B31F4AA00000000 /* src2.m */; };
-		E6AF4947AB2790F000000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28AB2790F000000000 /* src3.m */; };
-		E6AF4947AB2790F000000001 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28AB2790F000000000 /* src3.m */; };
-		E6AF4947BAE52D2E00000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28BAE52D2E00000000 /* src4.m */; };
-		E6AF4947BAE52D2E00000001 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28BAE52D2E00000000 /* src4.m */; };
-		E6AF4947ED583D0500000000 /* today_extension_library.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28ED583D0500000000 /* today_extension_library.m */; };
-		E6AF4947F643652200000000 /* defaultTestSource.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28F643652200000000 /* defaultTestSource.m */; };
-		E6AF4947F643652200000001 /* defaultTestSource.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28F643652200000000 /* defaultTestSource.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		81936672202AA80700000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAD324880400000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6202AA80600000000;
-		};
-		819366723753AE4B00000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAD324880400000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E63753AE4A00000000;
-		};
-		819366725DB0F3F900000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAD324880400000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E65DB0F3F800000000;
-		};
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAD324880400000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-		819366726B144ABD00000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAD324880400000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E66B144ABC00000000;
-		};
-		81936672E3993AD700000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAD324880400000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6E3993AD600000000;
-		};
-		81936672FBA8FA0900000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAD324880400000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6FBA8FA0800000000;
-		};
-/* 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>"; };
-		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>"; };
-		43D68C283A3B027E00000000 /* TodayExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = TodayExtension.appex; path = TodayExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C283C339BDC00000000 /* lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a; path = lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C283CFBA10800000000 /* es */ = {isa = PBXFileReference; lastKnownFileType = text; name = es; path = "tulsi-workspace/tulsi_e2e_complex/Application/es.lproj/Localized.strings"; sourceTree = "<group>"; };
-		43D68C28442EC9D700000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_complex/Library/srcs/SrcsHeader.h"; sourceTree = "<group>"; };
-		43D68C2845AE2B9000000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "tulsi-workspace/tulsi_e2e_complex/Library/xib.xib"; sourceTree = "<group>"; };
-		43D68C284C9C3B6600000000 /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "tulsi-workspace/tulsi_e2e_complex/Application/en.lproj/Localized.strings"; sourceTree = "<group>"; };
-		43D68C2853B580F400000000 /* lib_idx_ApplicationLibrary_30DD5A4B_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_30DD5A4B_ios_min8.0.a; path = lib_idx_ApplicationLibrary_30DD5A4B_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		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>"; };
-		43D68C28716A3B7000000000 /* input.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = input.m; path = "tulsi-workspace/tulsi_e2e_complex/SrcGenerator/srcs/input.m"; sourceTree = "<group>"; };
-		43D68C2875C5141000000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_complex/Application/srcs/main.m"; sourceTree = "<group>"; };
-		43D68C2879357B7500000000 /* AnotherPCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AnotherPCHFile.pch; path = "tulsi-workspace/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; sourceTree = "<group>"; };
-		43D68C287C31BCDA00000000 /* sub_library_with_identical_defines.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = sub_library_with_identical_defines.m; path = "tulsi-workspace/tulsi_e2e_complex/SubLibraryWithIdenticalDefines/srcs/sub_library_with_identical_defines.m"; sourceTree = "<group>"; };
-		43D68C287C841B0C00000000 /* ComplexSingle.bzl */ = {isa = PBXFileReference; lastKnownFileType = com.google.bazel.skylark; name = ComplexSingle.bzl; path = tulsi_e2e_complex/ComplexSingle.bzl; sourceTree = "<group>"; };
-		43D68C287DE8B05600000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/Localized.strings"; sourceTree = "<group>"; };
-		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>"; };
-		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; };
-		43D68C28A47D8A1F00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/One.storyboard"; sourceTree = "<group>"; };
-		43D68C28A6D7A7EC00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_complex/BUILD; sourceTree = "<group>"; };
-		43D68C28AB2790F000000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src3.m"; sourceTree = "<group>"; };
-		43D68C28B112D95100000000 /* structured_resources.file2 */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy3a; name = structured_resources.file2; path = "tulsi-workspace/tulsi_e2e_complex/Application/structured_resources.file2"; sourceTree = "<group>"; };
-		43D68C28B72F496D00000000 /* test.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = test.framework; path = "tulsi-workspace/tulsi_e2e_complex/ObjCFramework/test.framework"; sourceTree = "<group>"; };
-		43D68C28B7BD546800000000 /* lib_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0.a; path = lib_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28BAE52D2E00000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src4.m"; sourceTree = "<group>"; };
-		43D68C28BD12D84F00000000 /* structured_resources.file1 */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy2u; name = structured_resources.file1; path = "tulsi-workspace/tulsi_e2e_complex/Application/structured_resources.file1"; sourceTree = "<group>"; };
-		43D68C28C01A0B2500000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_complex/Application/Base.lproj/Localizable.strings"; sourceTree = "<group>"; };
-		43D68C28D757BE4200000000 /* lib_idx_SubLibrary_19588DB9_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibrary_19588DB9_ios_min8.0.a; path = lib_idx_SubLibrary_19588DB9_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28DACF7BDE00000000 /* DataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = DataModelsTestv2.xcdatamodel; path = tulsi_e2e_complex/Test.xcdatamodeld/DataModelsTestv2.xcdatamodel; sourceTree = "<group>"; };
-		43D68C28DC6A997500000000 /* NonARCFile.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = NonARCFile.mm; path = "tulsi-workspace/tulsi_e2e_complex/Application/non_arc_srcs/NonARCFile.mm"; sourceTree = "<group>"; };
-		43D68C28ED583D0500000000 /* today_extension_library.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = today_extension_library.m; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/srcs/today_extension_library.m"; sourceTree = "<group>"; };
-		43D68C28EEE1AA8400000000 /* file1 */ = {isa = PBXFileReference; lastKnownFileType = text; name = file1; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/resources/file1"; sourceTree = "<group>"; };
-		43D68C28F49055A600000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28F643652200000000 /* defaultTestSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = defaultTestSource.m; path = "tulsi-workspace/tulsi_e2e_complex/XCTest/srcs/defaultTestSource.m"; sourceTree = "<group>"; };
-		43D68C28F83513A200000000 /* lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0.a; path = lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28FE8BFD3900000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_complex/Library/hdrs/HdrsHeader.h"; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2853B580F400000000 /* lib_idx_ApplicationLibrary_30DD5A4B_ios_min8.0.a */,
-				43D68C28A0499AFA00000000 /* lib_idx_Library_20EC2F4A_ios_min8.0.a */,
-				43D68C28B7BD546800000000 /* lib_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0.a */,
-				43D68C28F83513A200000000 /* lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0.a */,
-				43D68C28D757BE4200000000 /* lib_idx_SubLibrary_19588DB9_ios_min8.0.a */,
-				43D68C283C339BDC00000000 /* lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE0F90C7ED00000000 /* TodayExtension */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C288E876E6400000000 /* Plist1.plist */,
-				966FB6DE268F6DC500000000 /* resources */,
-				966FB6DE5B9D018E00000008 /* srcs */,
-			);
-			name = TodayExtension;
-			sourceTree = "<group>";
-		};
-		966FB6DE144879E600000000 /* LibrarySources */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000002 /* srcs */,
-			);
-			name = LibrarySources;
-			sourceTree = "<group>";
-		};
-		966FB6DE1FF9DE4F00000000 /* SubLibraryWithDefines */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000005 /* srcs */,
-			);
-			name = SubLibraryWithDefines;
-			sourceTree = "<group>";
-		};
-		966FB6DE268F6DC500000000 /* resources */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28EEE1AA8400000000 /* file1 */,
-				43D68C28627DA73600000000 /* file2.file */,
-			);
-			name = resources;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28F49055A600000000 /* Application.app */,
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C283A3B027E00000000 /* TodayExtension.appex */,
-				43D68C285E266A6000000000 /* XCTest.xctest */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE3A88F93800000000 /* ObjCFramework */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28B72F496D00000000 /* test.framework */,
-			);
-			name = ObjCFramework;
-			sourceTree = "<group>";
-		};
-		966FB6DE3FFB782800000000 /* SubLibrary */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE97917B0F00000000 /* pch */,
-				966FB6DE5B9D018E00000004 /* srcs */,
-			);
-			name = SubLibrary;
-			sourceTree = "<group>";
-		};
-		966FB6DE4467252500000000 /* SubLibraryWithIdenticalDefines */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000007 /* srcs */,
-			);
-			name = SubLibraryWithIdenticalDefines;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2875C5141000000000 /* main.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000001 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28442EC9D700000000 /* SrcsHeader.h */,
-				43D68C28958553E300000000 /* src5.mm */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000002 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C288970786C00000000 /* src1.m */,
-				43D68C289B31F4AA00000000 /* src2.m */,
-				43D68C28AB2790F000000000 /* src3.m */,
-				43D68C28BAE52D2E00000000 /* src4.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000003 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28716A3B7000000000 /* input.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000004 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C283148FC2600000000 /* src.mm */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000005 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C281A41382100000000 /* src.mm */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000006 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C286A36B02900000000 /* src.mm */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000007 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C287C31BCDA00000000 /* sub_library_with_identical_defines.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000008 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28ED583D0500000000 /* today_extension_library.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000009 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28F643652200000000 /* defaultTestSource.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE7DA6F9D500000001 /* tulsi_e2e_complex */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE6FB7342F00000000 /* SubLibraryWithDifferentDefines */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000006 /* srcs */,
-			);
-			name = SubLibraryWithDifferentDefines;
-			sourceTree = "<group>";
-		};
-		966FB6DE77973FA000000000 /* XCTest */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000009 /* srcs */,
-			);
-			name = XCTest;
-			sourceTree = "<group>";
-		};
-		966FB6DE7DA6F9D500000000 /* tulsi_e2e_complex */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2823ACD62100000000 /* Application-Info-binary.plist */,
-				43D68C28089DC96000000000 /* TodayExtension-Info-binary.plist */,
-				43D68C28664E4E6D00000000 /* XCTest_test_bundle-Info-binary.plist */,
-			);
-			name = tulsi_e2e_complex;
-			sourceTree = "<group>";
-		};
-		966FB6DE7DA6F9D500000001 /* tulsi_e2e_complex */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEB58A255E00000000 /* Application */,
-				43D68C28A6D7A7EC00000000 /* BUILD */,
-				43D68C287C841B0C00000000 /* ComplexSingle.bzl */,
-				966FB6DE94E444FD00000000 /* Library */,
-				966FB6DE144879E600000000 /* LibrarySources */,
-				43D68C2829C9947000000000 /* ObjCBundle.bundle */,
-				966FB6DE3A88F93800000000 /* ObjCFramework */,
-				966FB6DEA04342FA00000000 /* SrcGenerator */,
-				966FB6DE3FFB782800000000 /* SubLibrary */,
-				966FB6DE1FF9DE4F00000000 /* SubLibraryWithDefines */,
-				966FB6DE6FB7342F00000000 /* SubLibraryWithDifferentDefines */,
-				966FB6DE4467252500000000 /* SubLibraryWithIdenticalDefines */,
-				C517CBBD06F127E800000000 /* Test.xcdatamodeld */,
-				966FB6DE0F90C7ED00000000 /* TodayExtension */,
-				966FB6DE77973FA000000000 /* XCTest */,
-			);
-			name = tulsi_e2e_complex;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE7DA6F9D500000000 /* tulsi_e2e_complex */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE94E444FD00000000 /* Library */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE9DC3732400000000 /* hdrs */,
-				966FB6DE5B9D018E00000001 /* srcs */,
-				43D68C2845AE2B9000000000 /* xib.xib */,
-			);
-			name = Library;
-			sourceTree = "<group>";
-		};
-		966FB6DE97917B0F00000000 /* pch */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2879357B7500000000 /* AnotherPCHFile.pch */,
-			);
-			name = pch;
-			sourceTree = "<group>";
-		};
-		966FB6DE9DC3732400000000 /* hdrs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28FE8BFD3900000000 /* HdrsHeader.h */,
-			);
-			name = hdrs;
-			sourceTree = "<group>";
-		};
-		966FB6DEA04342FA00000000 /* SrcGenerator */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000003 /* srcs */,
-			);
-			name = SrcGenerator;
-			sourceTree = "<group>";
-		};
-		966FB6DEAA96F52700000000 /* non_arc_srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28DC6A997500000000 /* NonARCFile.mm */,
-			);
-			name = non_arc_srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DEB58A255E00000000 /* Application */ = {
-			isa = PBXGroup;
-			children = (
-				8CBD86FAC9A4DAF400000000 /* EN.strings */,
-				43D68C2858F5ABDF00000000 /* Info.plist */,
-				8CBD86FA1EA8A08C00000000 /* Localizable.strings */,
-				8CBD86FA9E9C8DC100000000 /* Localized.strings */,
-				43D68C286E7B37CF00000000 /* NonLocalized.strings */,
-				8CBD86FAC9CA518600000000 /* One.storyboard */,
-				43D68C2885A048FD00000000 /* entitlements.entitlements */,
-				966FB6DEAA96F52700000000 /* non_arc_srcs */,
-				966FB6DE5B9D018E00000000 /* srcs */,
-				43D68C28BD12D84F00000000 /* structured_resources.file1 */,
-				43D68C28B112D95100000000 /* structured_resources.file2 */,
-			);
-			name = Application;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E61F218FDA00000000 /* TodayExtension */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755839DDBAE2300000000 /* Build configuration list for PBXNativeTarget "TodayExtension" */;
-			buildPhases = (
-				84B42271545DD03100000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = TodayExtension;
-			productName = TodayExtension;
-			productReference = 43D68C283A3B027E00000000 /* TodayExtension.appex */;
-			productType = "com.apple.product-type.app-extension";
-		};
-		3D31C5E6202AA80600000000 /* _idx_Library_20EC2F4A_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558386FEC76600000000 /* Build configuration list for PBXNativeTarget "_idx_Library_20EC2F4A_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000003 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42E3993AD700000000 /* PBXTargetDependency */,
-				4DAD0B425DB0F3F900000000 /* PBXTargetDependency */,
-				4DAD0B42FBA8FA0900000000 /* PBXTargetDependency */,
-			);
-			name = _idx_Library_20EC2F4A_ios_min8.0;
-			productName = _idx_Library_20EC2F4A_ios_min8.0;
-			productReference = 43D68C28A0499AFA00000000 /* lib_idx_Library_20EC2F4A_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E63753AE4A00000000 /* _idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755836FEEB79400000000 /* Build configuration list for PBXNativeTarget "_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000002 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0;
-			productName = _idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0;
-			productReference = 43D68C283C339BDC00000000 /* lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E65DB0F3F800000000 /* _idx_SubLibrary_19588DB9_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583FE21F14A00000000 /* Build configuration list for PBXNativeTarget "_idx_SubLibrary_19588DB9_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000005 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SubLibrary_19588DB9_ios_min8.0;
-			productName = _idx_SubLibrary_19588DB9_ios_min8.0;
-			productReference = 43D68C28D757BE4200000000 /* lib_idx_SubLibrary_19588DB9_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E66B144ABC00000000 /* Application */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */;
-			buildPhases = (
-				84B42271A4F3D4AC00000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = Application;
-			productName = Application;
-			productReference = 43D68C28F49055A600000000 /* Application.app */;
-			productType = "com.apple.product-type.application";
-		};
-		3D31C5E6C106276200000000 /* _idx_ApplicationLibrary_30DD5A4B_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583C8973FE700000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_30DD5A4B_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B423753AE4B00000000 /* PBXTargetDependency */,
-				4DAD0B423753AE4B00000000 /* PBXTargetDependency */,
-				4DAD0B42202AA80700000000 /* PBXTargetDependency */,
-			);
-			name = _idx_ApplicationLibrary_30DD5A4B_ios_min8.0;
-			productName = _idx_ApplicationLibrary_30DD5A4B_ios_min8.0;
-			productReference = 43D68C2853B580F400000000 /* lib_idx_ApplicationLibrary_30DD5A4B_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6E3993AD600000000 /* _idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583AD8E320D00000000 /* Build configuration list for PBXNativeTarget "_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000004 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0;
-			productName = _idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0;
-			productReference = 43D68C28B7BD546800000000 /* lib_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6EF2E7F4000000000 /* XCTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583B2A6125600000000 /* Build configuration list for PBXNativeTarget "XCTest" */;
-			buildPhases = (
-				84B42271CAC9872900000000 /* ShellScript */,
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B426B144ABD00000000 /* PBXTargetDependency */,
-			);
-			name = XCTest;
-			productName = XCTest;
-			productReference = 43D68C285E266A6000000000 /* XCTest.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E6FBA8FA0800000000 /* _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583FD65EB8600000000 /* Build configuration list for PBXNativeTarget "_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000006 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0;
-			productName = _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0;
-			productReference = 43D68C28F83513A200000000 /* lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EAD324880400000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-				TargetAttributes = {
-					3D31C5E6EF2E7F4000000000 = {
-						TestTargetID = 3D31C5E66B144ABC00000000;
-					};
-				};
-			};
-			buildConfigurationList = DE4755836798DA7E00000000 /* Build configuration list for PBXProject "ComplexSingleProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E66B144ABC00000000 /* Application */,
-				3D31C5E61F218FDA00000000 /* TodayExtension */,
-				3D31C5E6EF2E7F4000000000 /* XCTest */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6C106276200000000 /* _idx_ApplicationLibrary_30DD5A4B_ios_min8.0 */,
-				3D31C5E6202AA80600000000 /* _idx_Library_20EC2F4A_ios_min8.0 */,
-				3D31C5E6E3993AD600000000 /* _idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0 */,
-				3D31C5E6FBA8FA0800000000 /* _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0 */,
-				3D31C5E65DB0F3F800000000 /* _idx_SubLibrary_19588DB9_ios_min8.0 */,
-				3D31C5E63753AE4A00000000 /* _idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271545DD03100000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_complex:TodayExtension --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271A4F3D4AC00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_complex:Application --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271CAC9872900000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_complex:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947F643652200000000 /* defaultTestSource.m in srcs */,
-				E6AF4947958553E300000000 /* src5.mm in srcs */,
-				E6AF49478970786C00000000 /* src1.m in srcs */,
-				E6AF49479B31F4AA00000000 /* src2.m in srcs */,
-				E6AF4947AB2790F000000000 /* src3.m in srcs */,
-				E6AF4947BAE52D2E00000000 /* src4.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494775C5141000000000 /* main.m in srcs */,
-				E6AF49475D9EF01300000000 /* NonARCFile.mm in non_arc_srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000002 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947ED583D0500000000 /* today_extension_library.m in srcs */,
-				E6AF494706F127E800000000 /* Test.xcdatamodeld in tulsi_e2e_complex */,
-				E6AF4947716A3B7000000000 /* input.m in srcs */,
-				E6AF4947F643652200000001 /* defaultTestSource.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000003 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947958553E300000001 /* src5.mm in srcs */,
-				E6AF49478970786C00000001 /* src1.m in srcs */,
-				E6AF49479B31F4AA00000001 /* src2.m in srcs */,
-				E6AF4947AB2790F000000001 /* src3.m in srcs */,
-				E6AF4947BAE52D2E00000001 /* src4.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000004 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49476A36B02900000000 /* src.mm in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000005 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49473148FC2600000000 /* src.mm in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000006 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49477C31BCDA00000000 /* sub_library_with_identical_defines.m in srcs */,
-				E6AF49471A41382100000000 /* src.mm in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-		8CBD86FA1EA8A08C00000000 /* Localizable.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				43D68C28C01A0B2500000000 /* Base */,
-			);
-			name = Localizable.strings;
-			sourceTree = "<group>";
-		};
-		8CBD86FA9E9C8DC100000000 /* Localized.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				43D68C287DE8B05600000000 /* Base */,
-				43D68C284C9C3B6600000000 /* en */,
-				43D68C283CFBA10800000000 /* es */,
-			);
-			name = Localized.strings;
-			sourceTree = "<group>";
-		};
-		8CBD86FAC9A4DAF400000000 /* EN.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				43D68C2866D7C08500000000 /* en */,
-			);
-			name = EN.strings;
-			sourceTree = "<group>";
-		};
-		8CBD86FAC9CA518600000000 /* One.storyboard */ = {
-			isa = PBXVariantGroup;
-			children = (
-				43D68C28A47D8A1F00000000 /* Base */,
-			);
-			name = One.storyboard;
-			sourceTree = "<group>";
-		};
-/* End PBXVariantGroup section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B42202AA80700000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672202AA80700000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B423753AE4B00000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366723753AE4B00000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B425DB0F3F900000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366725DB0F3F900000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B426B144ABD00000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726B144ABD00000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B42E3993AD700000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672E3993AD700000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B42FBA8FA0900000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672FBA8FA0900000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosappTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application";
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosapp;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = ComplexSingleProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:TodayExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_complex-TodayExtension.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosapp.todayextension;
-				PRODUCT_NAME = TodayExtension;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tulsi_e2e_complex/ObjCFramework";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_BWRS)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_BWRS)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DA=BINARY_DEFINE -DLIBRARY SECOND DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1 -DLIBRARY_VALUE_WITH_SPACES=Value with spaces -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1";
-				PRODUCT_NAME = _idx_ApplicationLibrary_30DD5A4B_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000005 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000006 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREFIX_HEADER = "$(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/PCHGenerator/outs/PCHFile.pch";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DLIBRARY SECOND DEFINE=2 -DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1 -DLIBRARY_VALUE_WITH_SPACES=Value with spaces -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1";
-				PRODUCT_NAME = _idx_Library_20EC2F4A_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000007 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-D'SubLibraryWithDifferentDefines Define with spaces and value'=1 -D'SubLibraryWithDifferentDefines Define with spaces' -DSubLibraryWithDifferentDefines=1 -DSubLibraryWithDifferentDefines_INTEGER_DEFINE=1 -DSubLibraryWithDifferentDefines_LocalDefine -DSubLibraryWithDifferentDefines_STRING_DEFINE=Test -DSubLibraryWithDifferentDefines_STRING_WITH_SPACES='String with spaces'";
-				PRODUCT_NAME = _idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000008 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CLANG_ENABLE_MODULES = YES;
-				GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_SubLibrary_19588DB9_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000009 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) /SubLibraryWithDefines/local/includes $(TULSI_BWRS)/relative/SubLibraryWithDefines/local/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-menable-no-nans -menable-no-infs -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines";
-				PRODUCT_NAME = _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosappTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application";
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosapp;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = ComplexSingleProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:TodayExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_complex-TodayExtension.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosapp.todayextension;
-				PRODUCT_NAME = TodayExtension;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				FRAMEWORK_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tulsi_e2e_complex/ObjCFramework";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_WR)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tulsi_e2e_complex/Application/includes/first/include $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/first/include $(TULSI_BWRS)/tulsi_e2e_complex/Application/includes/second/include $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/Application/includes/second/include $(TULSI_BWRS)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DA=BINARY_DEFINE -DLIBRARY SECOND DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1 -DLIBRARY_VALUE_WITH_SPACES=Value with spaces -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1";
-				PRODUCT_NAME = _idx_ApplicationLibrary_30DD5A4B_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000005 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000006 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREFIX_HEADER = "$(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/PCHGenerator/outs/PCHFile.pch";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DLIBRARY SECOND DEFINE=2 -DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1 -DLIBRARY_VALUE_WITH_SPACES=Value with spaces -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines -DSubLibraryWithDifferentDefines=1";
-				PRODUCT_NAME = _idx_Library_20EC2F4A_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000007 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_complex/SubLibraryWithDifferentDefines/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-D'SubLibraryWithDifferentDefines Define with spaces and value'=1 -D'SubLibraryWithDifferentDefines Define with spaces' -DSubLibraryWithDifferentDefines=1 -DSubLibraryWithDifferentDefines_INTEGER_DEFINE=1 -DSubLibraryWithDifferentDefines_LocalDefine -DSubLibraryWithDifferentDefines_STRING_DEFINE=Test -DSubLibraryWithDifferentDefines_STRING_WITH_SPACES='String with spaces'";
-				PRODUCT_NAME = _idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000008 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CLANG_ENABLE_MODULES = YES;
-				GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_SubLibrary_19588DB9_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000009 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) /SubLibraryWithDefines/local/includes $(TULSI_BWRS)/relative/SubLibraryWithDefines/local/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-menable-no-nans -menable-no-infs -DSubLibraryWithDefines=1 -DSubLibraryWithDefines_DEFINE=SubLibraryWithDefines";
-				PRODUCT_NAME = _idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosappTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application";
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosapp;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = ComplexSingleProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:TodayExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_complex-TodayExtension.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosapp.todayextension;
-				PRODUCT_NAME = TodayExtension;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosappTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application";
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosapp;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = ComplexSingleProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_complex:TodayExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_complex-TodayExtension.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = example.iosapp.todayextension;
-				PRODUCT_NAME = TodayExtension;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_complex;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE4755836798DA7E00000000 /* Build configuration list for PBXProject "ComplexSingleProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755836FEEB79400000000 /* Build configuration list for PBXNativeTarget "_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000005 /* Debug */,
-				44936BD6A3D45CE900000005 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558386FEC76600000000 /* Build configuration list for PBXNativeTarget "_idx_Library_20EC2F4A_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000006 /* Debug */,
-				44936BD6A3D45CE900000006 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755839DDBAE2300000000 /* Build configuration list for PBXNativeTarget "TodayExtension" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583AD8E320D00000000 /* Build configuration list for PBXNativeTarget "_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000007 /* Debug */,
-				44936BD6A3D45CE900000007 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583B2A6125600000000 /* Build configuration list for PBXNativeTarget "XCTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583C8973FE700000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_30DD5A4B_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583FD65EB8600000000 /* Build configuration list for PBXNativeTarget "_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000009 /* Debug */,
-				44936BD6A3D45CE900000009 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583FE21F14A00000000 /* Build configuration list for PBXNativeTarget "_idx_SubLibrary_19588DB9_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000008 /* Debug */,
-				44936BD6A3D45CE900000008 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-
-/* Begin XCVersionGroup section */
-		C517CBBD06F127E800000000 /* Test.xcdatamodeld */ = {
-			isa = XCVersionGroup;
-			children = (
-				43D68C283591DFD900000000 /* DataModelsTestv1.xcdatamodel */,
-				43D68C28DACF7BDE00000000 /* DataModelsTestv2.xcdatamodel */,
-			);
-			currentVersion = 43D68C28DACF7BDE00000000 /* DataModelsTestv2.xcdatamodel */;
-			name = Test.xcdatamodeld;
-			sourceTree = "<group>";
-			versionGroupType = wrapper.xcdatamodel;
-		};
-/* End XCVersionGroup section */
-	};
-	rootObject = 7E7BD0EAD324880400000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
deleted file mode 100644
index 4dbb679..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/TodayExtension.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/TodayExtension.xcscheme
deleted file mode 100644
index bbe93c1..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/TodayExtension.xcscheme
+++ /dev/null
@@ -1,32 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3" wasCreatedForAppExtension="YES">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E61F218FDA00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="TodayExtension.appex" BlueprintName="TodayExtension" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E61F218FDA00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="TodayExtension.appex" BlueprintName="TodayExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="" selectedLauncherIdentifier="Xcode.IDEFoundation.Launcher.PosixSpawn" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES" launchAutomaticallySubstyle="2">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E61F218FDA00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="TodayExtension.appex" BlueprintName="TodayExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E61F218FDA00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="TodayExtension.appex" BlueprintName="TodayExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/XCTest.xcscheme
deleted file mode 100644
index e2a6c94..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/XCTest.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 32b8653..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,52 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6202AA80600000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_Library_20EC2F4A_ios_min8.0.a" BlueprintName="_idx_Library_20EC2F4A_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E65DB0F3F800000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_SubLibrary_19588DB9_ios_min8.0.a" BlueprintName="_idx_SubLibrary_19588DB9_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6FBA8FA0800000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0.a" BlueprintName="_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E63753AE4A00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a" BlueprintName="_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6E3993AD600000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0.a" BlueprintName="_idx_SubLibraryWithDifferentDefines_32E5A9BC_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E63753AE4A00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a" BlueprintName="_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6C106276200000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_ApplicationLibrary_30DD5A4B_ios_min8.0.a" BlueprintName="_idx_ApplicationLibrary_30DD5A4B_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E63753AE4A00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a" BlueprintName="_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E63753AE4A00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a" BlueprintName="_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E63753AE4A00000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0.a" BlueprintName="_idx_TodayExtensionLibrary_CoreDataResources_SrcGenerator_TestLibrary_903D0578_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6FBA8FA0800000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0.a" BlueprintName="_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6FBA8FA0800000000" ReferencedContainer="container:ComplexSingleProject.xcodeproj" BuildableName="lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0.a" BlueprintName="_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_EC7E0D8E_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 4cb2953..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>Application.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>TodayExtension.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>XCTest.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 4078df8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,709 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF4947391E055E00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28391E055E00000000 /* a.swift */; };
-		E6AF494747AA0D5F00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2847AA0D5F00000000 /* a.swift */; };
-		E6AF49476172FAAB00000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C286172FAAB00000000 /* b.swift */; };
-		E6AF49479BF237E400000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C289BF237E400000000 /* b.swift */; };
-		E6AF4947B8FD39A800000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28B8FD39A800000000 /* b.swift */; };
-		E6AF4947E197C62500000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28E197C62500000000 /* a.swift */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA2957FA6A00000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		43D68C2800A7363600000000 /* _idx_SwiftLibrary_685F5FCA_ios_min8.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibrary_685F5FCA_ios_min8.0.framework; path = _idx_SwiftLibrary_685F5FCA_ios_min8.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28391E055E00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_legacy_swift/SwiftLibraryV3/srcs/a.swift"; sourceTree = "<group>"; };
-		43D68C2847AA0D5F00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_legacy_swift/SwiftLibrary/srcs/a.swift"; sourceTree = "<group>"; };
-		43D68C284AD8CBBA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_legacy_swift/BUILD; sourceTree = "<group>"; };
-		43D68C286172FAAB00000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_legacy_swift/SwiftLibraryV4/srcs/b.swift"; sourceTree = "<group>"; };
-		43D68C286C1A8B0400000000 /* _idx_SwiftLibraryV3_6E4E4437_ios_min8.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV3_6E4E4437_ios_min8.0.framework; path = _idx_SwiftLibraryV3_6E4E4437_ios_min8.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C289BF237E400000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_legacy_swift/SwiftLibrary/srcs/b.swift"; sourceTree = "<group>"; };
-		43D68C28A308212600000000 /* _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0.framework; path = _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28A7C2E88000000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_legacy_swift/Info.plist"; sourceTree = "<group>"; };
-		43D68C28B8FD39A800000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_legacy_swift/SwiftLibraryV3/srcs/b.swift"; sourceTree = "<group>"; };
-		43D68C28E197C62500000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_legacy_swift/SwiftLibraryV4/srcs/a.swift"; sourceTree = "<group>"; };
-		43D68C28E8DDAB2F00000000 /* Application-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "Application-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_legacy_swift/Application-Info-binary.plist"; sourceTree = "<group>"; };
-		43D68C28F49055A600000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C286C1A8B0400000000 /* _idx_SwiftLibraryV3_6E4E4437_ios_min8.0.framework */,
-				43D68C28A308212600000000 /* _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0.framework */,
-				43D68C2800A7363600000000 /* _idx_SwiftLibrary_685F5FCA_ios_min8.0.framework */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE2A082C2300000000 /* tulsi_e2e_legacy_swift */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28E8DDAB2F00000000 /* Application-Info-binary.plist */,
-			);
-			name = tulsi_e2e_legacy_swift;
-			sourceTree = "<group>";
-		};
-		966FB6DE2A082C2300000001 /* tulsi_e2e_legacy_swift */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C284AD8CBBA00000000 /* BUILD */,
-				43D68C28A7C2E88000000000 /* Info.plist */,
-				966FB6DE582F53CF00000000 /* SwiftLibrary */,
-				966FB6DE906B825800000000 /* SwiftLibraryV3 */,
-				966FB6DE906B425B00000000 /* SwiftLibraryV4 */,
-			);
-			name = tulsi_e2e_legacy_swift;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28F49055A600000000 /* Application.app */,
-				966FB6DE0562C2F700000000 /* Indexer */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE582F53CF00000000 /* SwiftLibrary */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = SwiftLibrary;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2847AA0D5F00000000 /* a.swift */,
-				43D68C289BF237E400000000 /* b.swift */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000001 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28391E055E00000000 /* a.swift */,
-				43D68C28B8FD39A800000000 /* b.swift */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000002 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28E197C62500000000 /* a.swift */,
-				43D68C286172FAAB00000000 /* b.swift */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE2A082C2300000001 /* tulsi_e2e_legacy_swift */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2A082C2300000000 /* tulsi_e2e_legacy_swift */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE906B425B00000000 /* SwiftLibraryV4 */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000002 /* srcs */,
-			);
-			name = SwiftLibraryV4;
-			sourceTree = "<group>";
-		};
-		966FB6DE906B825800000000 /* SwiftLibraryV3 */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000001 /* srcs */,
-			);
-			name = SwiftLibraryV3;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E63B02791A00000000 /* _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558315238EC300000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV4_6E4E44B6_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0;
-			productName = _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0;
-			productReference = 43D68C28A308212600000000 /* _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0.framework */;
-			productType = "com.apple.product-type.framework";
-		};
-		3D31C5E6478AC07800000000 /* _idx_SwiftLibraryV3_6E4E4437_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583F5C6BAF200000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV3_6E4E4437_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SwiftLibraryV3_6E4E4437_ios_min8.0;
-			productName = _idx_SwiftLibraryV3_6E4E4437_ios_min8.0;
-			productReference = 43D68C286C1A8B0400000000 /* _idx_SwiftLibraryV3_6E4E4437_ios_min8.0.framework */;
-			productType = "com.apple.product-type.framework";
-		};
-		3D31C5E6587E672A00000000 /* _idx_SwiftLibrary_685F5FCA_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583DDE7494B00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibrary_685F5FCA_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000002 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SwiftLibrary_685F5FCA_ios_min8.0;
-			productName = _idx_SwiftLibrary_685F5FCA_ios_min8.0;
-			productReference = 43D68C2800A7363600000000 /* _idx_SwiftLibrary_685F5FCA_ios_min8.0.framework */;
-			productType = "com.apple.product-type.framework";
-		};
-		3D31C5E66B144ABC00000000 /* Application */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */;
-			buildPhases = (
-				84B42271259EF36B00000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = Application;
-			productName = Application;
-			productReference = 43D68C28F49055A600000000 /* Application.app */;
-			productType = "com.apple.product-type.application";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EA2957FA6A00000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-			};
-			buildConfigurationList = DE475583808660A400000000 /* Build configuration list for PBXProject "LegacySwiftProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E66B144ABC00000000 /* Application */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6478AC07800000000 /* _idx_SwiftLibraryV3_6E4E4437_ios_min8.0 */,
-				3D31C5E63B02791A00000000 /* _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0 */,
-				3D31C5E6587E672A00000000 /* _idx_SwiftLibrary_685F5FCA_ios_min8.0 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271259EF36B00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_legacy_swift:Application --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947391E055E00000000 /* a.swift in srcs */,
-				E6AF4947B8FD39A800000000 /* b.swift in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947E197C62500000000 /* a.swift in srcs */,
-				E6AF49476172FAAB00000000 /* b.swift in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000002 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494747AA0D5F00000000 /* a.swift in srcs */,
-				E6AF49479BF237E400000000 /* b.swift in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_VERSION = 4;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = LegacySwiftProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_legacy_swift:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.invalid;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_legacy_swift;
-				TULSI_SWIFT_DEPENDENCY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3";
-				PRODUCT_NAME = _idx_SwiftLibraryV3_6E4E4437_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_legacy_swift/SwiftLibraryV3/_objs";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4";
-				PRODUCT_NAME = _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_legacy_swift/SwiftLibraryV4/_objs";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_SwiftLibrary_685F5FCA_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_legacy_swift/SwiftLibrary/_objs";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_VERSION = 4;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = LegacySwiftProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_legacy_swift:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.invalid;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_legacy_swift;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3";
-				PRODUCT_NAME = _idx_SwiftLibraryV3_6E4E4437_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_legacy_swift/SwiftLibraryV3/_objs";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4";
-				PRODUCT_NAME = _idx_SwiftLibraryV4_6E4E44B6_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_legacy_swift/SwiftLibraryV4/_objs";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_SwiftLibrary_685F5FCA_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_legacy_swift/SwiftLibrary/_objs";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				SWIFT_VERSION = 4;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = LegacySwiftProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_legacy_swift:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.invalid;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_legacy_swift;
-				TULSI_SWIFT_DEPENDENCY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				SWIFT_VERSION = 4;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = LegacySwiftProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_legacy_swift:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.invalid;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_legacy_swift;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE47558315238EC300000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV4_6E4E44B6_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583808660A400000000 /* Build configuration list for PBXProject "LegacySwiftProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583DDE7494B00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibrary_685F5FCA_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583F5C6BAF200000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV3_6E4E4437_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EA2957FA6A00000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
deleted file mode 100644
index 0441890..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
+++ /dev/null
@@ -1,29 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:LegacySwiftProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:LegacySwiftProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:LegacySwiftProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:LegacySwiftProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 90e827f..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,25 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E63B02791A00000000" ReferencedContainer="container:LegacySwiftProject.xcodeproj" BuildableName="_idx_SwiftLibraryV4_6E4E44B6_ios_min8.0.framework" BlueprintName="_idx_SwiftLibraryV4_6E4E44B6_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6478AC07800000000" ReferencedContainer="container:LegacySwiftProject.xcodeproj" BuildableName="_idx_SwiftLibraryV3_6E4E4437_ios_min8.0.framework" BlueprintName="_idx_SwiftLibraryV3_6E4E4437_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6587E672A00000000" ReferencedContainer="container:LegacySwiftProject.xcodeproj" BuildableName="_idx_SwiftLibrary_685F5FCA_ios_min8.0.framework" BlueprintName="_idx_SwiftLibrary_685F5FCA_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 36e5e1f..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/LegacySwiftProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>Application.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 186aa8f..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,857 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF49472511224F00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 43D68C282511224F00000000 /* TodayViewController.m */; };
-		E6AF49473C553F8E00000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 43D68C283C553F8E00000000 /* main.m */; };
-		E6AF49473C553F8E00000001 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 43D68C283C553F8E00000000 /* main.m */; };
-		E6AF494759FC82CA00000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 43D68C2859FC82CA00000000 /* AppDelegate.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAB92C4AB700000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		43D68C2810C8DA6C00000000 /* MyMacOSApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = MyMacOSApp.app; path = MyMacOSApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C281E9E743E00000000 /* MyCommandLineApp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; name = MyCommandLineApp; path = MyCommandLineApp; sourceTree = BUILT_PRODUCTS_DIR; };
-		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>"; };
-		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>"; };
-		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>"; };
-		43D68C28936F558E00000000 /* MyTodayExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = MyTodayExtension.appex; path = MyTodayExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28A6703B8200000000 /* lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a; path = lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28CBE52D2300000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_mac/BUILD; sourceTree = "<group>"; };
-		43D68C28DE68C70F00000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "tulsi-workspace/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = "<group>"; };
-		43D68C28F1794D7D00000000 /* MyCommandLineApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyCommandLineApp-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyCommandLineApp-Info.plist"; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28A6703B8200000000 /* lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE05FFEC7B00000000 /* extensions */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEA15649C700000000 /* today */,
-			);
-			name = extensions;
-			sourceTree = "<group>";
-		};
-		966FB6DE05FFEC7B00000001 /* extensions */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEA15649C700000001 /* today */,
-			);
-			name = extensions;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE200CADE500000000 /* Resources */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28DE68C70F00000000 /* Main.storyboard */,
-				966FB6DE05FFEC7B00000000 /* extensions */,
-			);
-			name = Resources;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C281E9E743E00000000 /* MyCommandLineApp */,
-				43D68C2810C8DA6C00000000 /* MyMacOSApp.app */,
-				43D68C28936F558E00000000 /* MyTodayExtension.appex */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				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 = (
-				43D68C2859BF633C00000000 /* AppDelegate.h */,
-				43D68C2859FC82CA00000000 /* AppDelegate.m */,
-				966FB6DE05FFEC7B00000001 /* extensions */,
-				43D68C283C553F8E00000000 /* main.m */,
-			);
-			name = src;
-			sourceTree = "<group>";
-		};
-		966FB6DE987F633E00000000 /* ExtSources */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C282511224F00000000 /* TodayViewController.m */,
-			);
-			name = ExtSources;
-			sourceTree = "<group>";
-		};
-		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 */,
-				43D68C2876BC0BC700000000 /* MyTodayExtension-Entitlements.entitlements */,
-				43D68C283646FFE900000000 /* MyTodayExtension-Info.plist */,
-				966FB6DE200CADE500000000 /* Resources */,
-				966FB6DE97B5B88200000000 /* src */,
-			);
-			name = tulsi_e2e_mac;
-			sourceTree = "<group>";
-		};
-		966FB6DEA15649C700000000 /* today */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2834A5AC2900000000 /* TodayViewController.xib */,
-			);
-			name = today;
-			sourceTree = "<group>";
-		};
-		966FB6DEA15649C700000001 /* today */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE987F633E00000000 /* ExtSources */,
-				43D68C286BE5C4F400000000 /* TodayViewController.h */,
-			);
-			name = today;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E61E9E743E00000000 /* MyCommandLineApp */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755832C9B8E5500000000 /* Build configuration list for PBXNativeTarget "MyCommandLineApp" */;
-			buildPhases = (
-				84B42271A7D2E4F400000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = MyCommandLineApp;
-			productName = MyCommandLineApp;
-			productReference = 43D68C281E9E743E00000000 /* MyCommandLineApp */;
-			productType = "com.apple.product-type.tool";
-		};
-		3D31C5E665954B6A00000000 /* MyTodayExtension */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755839935C7EB00000000 /* Build configuration list for PBXNativeTarget "MyTodayExtension" */;
-			buildPhases = (
-				84B42271A7D2E4F400000001 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = MyTodayExtension;
-			productName = MyTodayExtension;
-			productReference = 43D68C28936F558E00000000 /* MyTodayExtension.appex */;
-			productType = "com.apple.product-type.app-extension";
-		};
-		3D31C5E6F53E4F0A00000000 /* MyMacOSApp */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558336864DFB00000000 /* Build configuration list for PBXNativeTarget "MyMacOSApp" */;
-			buildPhases = (
-				84B42271CAC9872900000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = MyMacOSApp;
-			productName = MyMacOSApp;
-			productReference = 43D68C2810C8DA6C00000000 /* MyMacOSApp.app */;
-			productType = "com.apple.product-type.application";
-		};
-		3D31C5E6F77D1C0800000000 /* _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755830ED6DB7C00000000 /* Build configuration list for PBXNativeTarget "_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12" */;
-			buildPhases = (
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12;
-			productName = _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12;
-			productReference = 43D68C28A6703B8200000000 /* lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EAB92C4AB700000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-			};
-			buildConfigurationList = DE4755839F69ADF100000000 /* Build configuration list for PBXProject "MacOSProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E61E9E743E00000000 /* MyCommandLineApp */,
-				3D31C5E6F53E4F0A00000000 /* MyMacOSApp */,
-				3D31C5E665954B6A00000000 /* MyTodayExtension */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6F77D1C0800000000 /* _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271A7D2E4F400000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:MyCommandLineApp --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271A7D2E4F400000001 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:MyTodayExtension --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271CAC9872900000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:MyMacOSApp --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49472511224F00000000 /* TodayViewController.m in ExtSources */,
-				E6AF49473C553F8E00000000 /* main.m in src */,
-				E6AF494759FC82CA00000000 /* AppDelegate.m in src */,
-				E6AF49473C553F8E00000001 /* main.m in src */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = macosx;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = MacOSProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyCommandLineApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.command-line";
-				PRODUCT_NAME = MyCommandLineApp;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
-				PRODUCT_NAME = MyMacOSApp;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyTodayExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_mac-MyTodayExtension.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app.today-extension";
-				PRODUCT_NAME = MyTodayExtension;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_NAME = _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12;
-				SDKROOT = macosx;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = macosx;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = MacOSProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyCommandLineApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.command-line";
-				PRODUCT_NAME = MyCommandLineApp;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
-				PRODUCT_NAME = MyMacOSApp;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyTodayExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_mac-MyTodayExtension.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app.today-extension";
-				PRODUCT_NAME = MyTodayExtension;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_NAME = _idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12;
-				SDKROOT = macosx;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = MacOSProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyCommandLineApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.command-line";
-				PRODUCT_NAME = MyCommandLineApp;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
-				PRODUCT_NAME = MyMacOSApp;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyTodayExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_mac-MyTodayExtension.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app.today-extension";
-				PRODUCT_NAME = MyTodayExtension;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = MacOSProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyCommandLineApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.command-line";
-				PRODUCT_NAME = MyCommandLineApp;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
-				PRODUCT_NAME = MyMacOSApp;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyTodayExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_mac-MyTodayExtension.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app.today-extension";
-				PRODUCT_NAME = MyTodayExtension;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE4755830ED6DB7C00000000 /* Build configuration list for PBXNativeTarget "_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755832C9B8E5500000000 /* Build configuration list for PBXNativeTarget "MyCommandLineApp" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558336864DFB00000000 /* Build configuration list for PBXNativeTarget "MyMacOSApp" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755839935C7EB00000000 /* Build configuration list for PBXNativeTarget "MyTodayExtension" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755839F69ADF100000000 /* Build configuration list for PBXProject "MacOSProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EAB92C4AB700000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyCommandLineApp.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyCommandLineApp.xcscheme
deleted file mode 100644
index 828109d..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyCommandLineApp.xcscheme
+++ /dev/null
@@ -1,29 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E61E9E743E00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyCommandLineApp" BlueprintName="MyCommandLineApp" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E61E9E743E00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyCommandLineApp" BlueprintName="MyCommandLineApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E61E9E743E00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyCommandLineApp" BlueprintName="MyCommandLineApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E61E9E743E00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyCommandLineApp" BlueprintName="MyCommandLineApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme
deleted file mode 100644
index c995a4a..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme
+++ /dev/null
@@ -1,29 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyTodayExtension.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyTodayExtension.xcscheme
deleted file mode 100644
index 46fa2e1..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/MyTodayExtension.xcscheme
+++ /dev/null
@@ -1,32 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3" wasCreatedForAppExtension="YES">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E665954B6A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyTodayExtension.appex" BlueprintName="MyTodayExtension" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E665954B6A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyTodayExtension.appex" BlueprintName="MyTodayExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="" selectedLauncherIdentifier="Xcode.IDEFoundation.Launcher.PosixSpawn" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES" launchAutomaticallySubstyle="2">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E665954B6A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyTodayExtension.appex" BlueprintName="MyTodayExtension" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E665954B6A00000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="MyTodayExtension.appex" BlueprintName="MyTodayExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 3254876..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,28 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F77D1C0800000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a" BlueprintName="_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F77D1C0800000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a" BlueprintName="_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F77D1C0800000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a" BlueprintName="_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F77D1C0800000000" ReferencedContainer="container:MacOSProject.xcodeproj" BuildableName="lib_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12.a" BlueprintName="_idx_MyTodayExtensionSources_MyCommandLineAppSource_MyMacAppSources_F8389608_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 26b8105..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>MyCommandLineApp.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>MyMacOSApp.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>MyTodayExtension.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 0998684..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,1144 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF49471B1E0BED00000000 /* UnitTestsNoHost.m in test */ = {isa = PBXBuildFile; fileRef = 43D68C281B1E0BED00000000 /* UnitTestsNoHost.m */; };
-		E6AF49471B1E0BED00000001 /* UnitTestsNoHost.m in test */ = {isa = PBXBuildFile; fileRef = 43D68C281B1E0BED00000000 /* UnitTestsNoHost.m */; };
-		E6AF49472511224F00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 43D68C282511224F00000000 /* TodayViewController.m */; };
-		E6AF49473C553F8E00000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 43D68C283C553F8E00000000 /* main.m */; };
-		E6AF494759FC82CA00000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 43D68C2859FC82CA00000000 /* AppDelegate.m */; };
-		E6AF494767EA07A300000000 /* UITests.m in test */ = {isa = PBXBuildFile; fileRef = 43D68C2867EA07A300000000 /* UITests.m */; };
-		E6AF494767EA07A300000001 /* UITests.m in test */ = {isa = PBXBuildFile; fileRef = 43D68C2867EA07A300000000 /* UITests.m */; };
-		E6AF4947C47949AB00000000 /* UnitTests.m in test */ = {isa = PBXBuildFile; fileRef = 43D68C28C47949AB00000000 /* UnitTests.m */; };
-		E6AF4947C47949AB00000001 /* UnitTests.m in test */ = {isa = PBXBuildFile; fileRef = 43D68C28C47949AB00000000 /* UnitTests.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA26475A8F00000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-		81936672F53E4F0B00000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA26475A8F00000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6F53E4F0A00000000;
-		};
-/* 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>"; };
-		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>"; };
-		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>"; };
-		43D68C28DE68C70F00000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "tulsi-workspace/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = "<group>"; };
-		43D68C28E22D54F800000000 /* lib_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10.a; path = lib_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28FCC1A51000000000 /* lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a; path = lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28FCC1A51000000000 /* lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a */,
-				43D68C28E22D54F800000000 /* lib_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE05FFEC7B00000000 /* extensions */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEA15649C700000000 /* today */,
-			);
-			name = extensions;
-			sourceTree = "<group>";
-		};
-		966FB6DE05FFEC7B00000001 /* extensions */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEA15649C700000001 /* today */,
-			);
-			name = extensions;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE200CADE500000000 /* Resources */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28DE68C70F00000000 /* Main.storyboard */,
-				966FB6DE05FFEC7B00000000 /* extensions */,
-			);
-			name = Resources;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C2810C8DA6C00000000 /* MyMacOSApp.app */,
-				43D68C283E3D735200000000 /* UITests.xctest */,
-				43D68C2870F6EB5A00000000 /* UnitTests.xctest */,
-				43D68C28A14CEB9800000000 /* UnitTestsNoHost.xctest */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE6B4B9B2500000000 /* test */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2867EA07A300000000 /* UITests.m */,
-				43D68C28C47949AB00000000 /* UnitTests.m */,
-				43D68C281B1E0BED00000000 /* UnitTestsNoHost.m */,
-			);
-			name = test;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				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 = (
-				43D68C2859BF633C00000000 /* AppDelegate.h */,
-				43D68C2859FC82CA00000000 /* AppDelegate.m */,
-				966FB6DE05FFEC7B00000001 /* extensions */,
-				43D68C283C553F8E00000000 /* main.m */,
-			);
-			name = src;
-			sourceTree = "<group>";
-		};
-		966FB6DE987F633E00000000 /* ExtSources */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C282511224F00000000 /* TodayViewController.m */,
-			);
-			name = ExtSources;
-			sourceTree = "<group>";
-		};
-		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 */,
-				43D68C283646FFE900000000 /* MyTodayExtension-Info.plist */,
-				966FB6DE200CADE500000000 /* Resources */,
-				966FB6DE97B5B88200000000 /* src */,
-				966FB6DE6B4B9B2500000000 /* test */,
-			);
-			name = tulsi_e2e_mac;
-			sourceTree = "<group>";
-		};
-		966FB6DEA15649C700000000 /* today */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2834A5AC2900000000 /* TodayViewController.xib */,
-			);
-			name = today;
-			sourceTree = "<group>";
-		};
-		966FB6DEA15649C700000001 /* today */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE987F633E00000000 /* ExtSources */,
-				43D68C286BE5C4F400000000 /* TodayViewController.h */,
-			);
-			name = today;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E619998B3A00000000 /* UnitTests */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558302B841D300000000 /* Build configuration list for PBXNativeTarget "UnitTests" */;
-			buildPhases = (
-				84B42271BCF125E800000000 /* ShellScript */,
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42F53E4F0B00000000 /* PBXTargetDependency */,
-			);
-			name = UnitTests;
-			productName = UnitTests;
-			productReference = 43D68C2870F6EB5A00000000 /* UnitTests.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E6211D1A7800000000 /* UnitTestsNoHost */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755836E46667200000000 /* Build configuration list for PBXNativeTarget "UnitTestsNoHost" */;
-			buildPhases = (
-				84B42271A4F3D4AC00000000 /* ShellScript */,
-				605793E20000000000000002 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = UnitTestsNoHost;
-			productName = UnitTestsNoHost;
-			productReference = 43D68C28A14CEB9800000000 /* UnitTestsNoHost.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E63AACEB6600000000 /* _idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583D3E79BE900000000 /* Build configuration list for PBXNativeTarget "_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10" */;
-			buildPhases = (
-				605793E20000000000000004 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10;
-			productName = _idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10;
-			productReference = 43D68C28E22D54F800000000 /* lib_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E660313F3200000000 /* UITests */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583737127CF00000000 /* Build configuration list for PBXNativeTarget "UITests" */;
-			buildPhases = (
-				84B42271D70FA0A000000000 /* ShellScript */,
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42F53E4F0B00000000 /* PBXTargetDependency */,
-			);
-			name = UITests;
-			productName = UITests;
-			productReference = 43D68C283E3D735200000000 /* UITests.xctest */;
-			productType = "com.apple.product-type.bundle.ui-testing";
-		};
-		3D31C5E6F27F76B800000000 /* _idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558335F2CA3000000000 /* Build configuration list for PBXNativeTarget "_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12" */;
-			buildPhases = (
-				605793E20000000000000003 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12;
-			productName = _idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12;
-			productReference = 43D68C28FCC1A51000000000 /* lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6F53E4F0A00000000 /* MyMacOSApp */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558336864DFB00000000 /* Build configuration list for PBXNativeTarget "MyMacOSApp" */;
-			buildPhases = (
-				84B42271CAC9872900000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = MyMacOSApp;
-			productName = MyMacOSApp;
-			productReference = 43D68C2810C8DA6C00000000 /* MyMacOSApp.app */;
-			productType = "com.apple.product-type.application";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EA26475A8F00000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-				TargetAttributes = {
-					3D31C5E619998B3A00000000 = {
-						TestTargetID = 3D31C5E6F53E4F0A00000000;
-					};
-					3D31C5E660313F3200000000 = {
-						TestTargetID = 3D31C5E6F53E4F0A00000000;
-					};
-				};
-			};
-			buildConfigurationList = DE47558382AEE2C900000000 /* Build configuration list for PBXProject "MacOSTestsProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E6F53E4F0A00000000 /* MyMacOSApp */,
-				3D31C5E660313F3200000000 /* UITests */,
-				3D31C5E619998B3A00000000 /* UnitTests */,
-				3D31C5E6211D1A7800000000 /* UnitTestsNoHost */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6F27F76B800000000 /* _idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12 */,
-				3D31C5E63AACEB6600000000 /* _idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271A4F3D4AC00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:UnitTestsNoHost --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271BCF125E800000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:UnitTests --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271CAC9872900000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:MyMacOSApp --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271D70FA0A000000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:UITests --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947C47949AB00000000 /* UnitTests.m in test */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494767EA07A300000000 /* UITests.m in test */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000002 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49471B1E0BED00000000 /* UnitTestsNoHost.m in test */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000003 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947C47949AB00000001 /* UnitTests.m in test */,
-				E6AF494759FC82CA00000000 /* AppDelegate.m in src */,
-				E6AF49473C553F8E00000000 /* main.m in src */,
-				E6AF49472511224F00000000 /* TodayViewController.m in ExtSources */,
-				E6AF494767EA07A300000001 /* UITests.m in test */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000004 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49471B1E0BED00000001 /* UnitTestsNoHost.m in test */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B42F53E4F0B00000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672F53E4F0B00000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UnitTests;
-				SDKROOT = macosx;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
-				PRODUCT_NAME = MyMacOSApp;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UITests;
-				SDKROOT = macosx;
-				TEST_TARGET_NAME = MyMacOSApp;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = macosx;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = MacOSTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.10;
-				PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests;
-				PRODUCT_NAME = UnitTestsNoHost;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000005 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_NAME = _idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12;
-				SDKROOT = macosx;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000006 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				MACOSX_DEPLOYMENT_TARGET = 10.10;
-				PRODUCT_NAME = _idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10;
-				SDKROOT = macosx;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UnitTests;
-				SDKROOT = macosx;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
-				PRODUCT_NAME = MyMacOSApp;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UITests;
-				SDKROOT = macosx;
-				TEST_TARGET_NAME = MyMacOSApp;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = macosx;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = MacOSTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.10;
-				PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests;
-				PRODUCT_NAME = UnitTestsNoHost;
-				SDKROOT = macosx;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000005 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				PRODUCT_NAME = _idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12;
-				SDKROOT = macosx;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000006 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				MACOSX_DEPLOYMENT_TARGET = 10.10;
-				PRODUCT_NAME = _idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10;
-				SDKROOT = macosx;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UnitTests;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
-				PRODUCT_NAME = MyMacOSApp;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UITests;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_TARGET_NAME = MyMacOSApp;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = MacOSTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000004 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.10;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests;
-				PRODUCT_NAME = UnitTestsNoHost;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UnitTests;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
-				PRODUCT_NAME = MyMacOSApp;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.12;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UITests;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_TARGET_NAME = MyMacOSApp;
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = MacOSTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000004 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				MACOSX_DEPLOYMENT_TARGET = 10.10;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests;
-				PRODUCT_NAME = UnitTestsNoHost;
-				SDKROOT = macosx;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_mac;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE47558302B841D300000000 /* Build configuration list for PBXNativeTarget "UnitTests" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558335F2CA3000000000 /* Build configuration list for PBXNativeTarget "_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000005 /* Debug */,
-				44936BD6A3D45CE900000005 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558336864DFB00000000 /* Build configuration list for PBXNativeTarget "MyMacOSApp" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755836E46667200000000 /* Build configuration list for PBXNativeTarget "UnitTestsNoHost" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-				44936BD6C928366700000004 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000004 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583737127CF00000000 /* Build configuration list for PBXNativeTarget "UITests" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558382AEE2C900000000 /* Build configuration list for PBXProject "MacOSTestsProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583D3E79BE900000000 /* Build configuration list for PBXNativeTarget "_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000006 /* Debug */,
-				44936BD6A3D45CE900000006 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EA26475A8F00000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme
deleted file mode 100644
index 0743bf6..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme
+++ /dev/null
@@ -1,36 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E619998B3A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTests.xctest" BlueprintName="UnitTests" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E660313F3200000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UITests.xctest" BlueprintName="UITests" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6F53E4F0A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="MyMacOSApp.app" BlueprintName="MyMacOSApp" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UITests.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UITests.xcscheme
deleted file mode 100644
index 3bdc50b..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UITests.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E660313F3200000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UITests.xctest" BlueprintName="UITests" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E660313F3200000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UITests.xctest" BlueprintName="UITests" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E660313F3200000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UITests.xctest" BlueprintName="UITests" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E660313F3200000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UITests.xctest" BlueprintName="UITests" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E660313F3200000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UITests.xctest" BlueprintName="UITests" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UnitTests.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UnitTests.xcscheme
deleted file mode 100644
index 2e453e9..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UnitTests.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E619998B3A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTests.xctest" BlueprintName="UnitTests" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E619998B3A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTests.xctest" BlueprintName="UnitTests" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E619998B3A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTests.xctest" BlueprintName="UnitTests" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E619998B3A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTests.xctest" BlueprintName="UnitTests" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E619998B3A00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTests.xctest" BlueprintName="UnitTests" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UnitTestsNoHost.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UnitTestsNoHost.xcscheme
deleted file mode 100644
index 4c5b2c2..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/UnitTestsNoHost.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6211D1A7800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTestsNoHost.xctest" BlueprintName="UnitTestsNoHost" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6211D1A7800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTestsNoHost.xctest" BlueprintName="UnitTestsNoHost" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6211D1A7800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTestsNoHost.xctest" BlueprintName="UnitTestsNoHost" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6211D1A7800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTestsNoHost.xctest" BlueprintName="UnitTestsNoHost" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6211D1A7800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTestsNoHost.xctest" BlueprintName="UnitTestsNoHost" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 7a07565..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,34 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F27F76B800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a" BlueprintName="_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F27F76B800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a" BlueprintName="_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F27F76B800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a" BlueprintName="_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F27F76B800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a" BlueprintName="_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E63AACEB6600000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="lib_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10.a" BlueprintName="_idx_UnitTestsNoHostLib_EC0877C6_macos_min10.10" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F27F76B800000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="lib_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12.a" BlueprintName="_idx_UnitTestsLib_MyMacAppSources_MyTodayExtensionSources_UITestsLib_5415F9E2_macos_min10.12" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 9759e05..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>MyMacOSApp.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>UITests.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>UnitTests.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>UnitTestsNoHost.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 1a18476..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,529 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF494736E2B24400000000 /* src2.c in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2836E2B24400000000 /* src2.c */; };
-		E6AF494740C4A2B300000000 /* main.cc in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2840C4A2B300000000 /* main.cc */; };
-		E6AF4947B55D3E0600000000 /* src1.c in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28B55D3E0600000000 /* src1.c */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAC31A68F700000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		43D68C280B4C210700000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_ccsimple/BUILD; sourceTree = "<group>"; };
-		43D68C2836E2B24400000000 /* src2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src2.c; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/src2.c"; sourceTree = "<group>"; };
-		43D68C2840C4A2B300000000 /* main.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = main.cc; path = "tulsi-workspace/tulsi_e2e_ccsimple/Binary/srcs/main.cc"; sourceTree = "<group>"; };
-		43D68C287BD278C400000000 /* lib_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0.a; path = lib_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28B55D3E0600000000 /* src1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src1.c; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/src1.c"; sourceTree = "<group>"; };
-		43D68C28BEB0070E00000000 /* ccBinary.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = ccBinary.app; path = ccBinary.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28D27C3EF200000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/SrcsHeader.h"; sourceTree = "<group>"; };
-		43D68C28ED21EAD400000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/hdrs/HdrsHeader.h"; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE03DFCF6C00000000 /* tulsi_e2e_ccsimple */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C280B4C210700000000 /* BUILD */,
-				966FB6DEE2E4E10A00000000 /* Binary */,
-				966FB6DE94E444FD00000000 /* Library */,
-			);
-			name = tulsi_e2e_ccsimple;
-			sourceTree = "<group>";
-		};
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C287BD278C400000000 /* lib_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C28BEB0070E00000000 /* ccBinary.app */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2840C4A2B300000000 /* main.cc */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000001 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28D27C3EF200000000 /* SrcsHeader.h */,
-				43D68C28B55D3E0600000000 /* src1.c */,
-				43D68C2836E2B24400000000 /* src2.c */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE03DFCF6C00000000 /* tulsi_e2e_ccsimple */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE94E444FD00000000 /* Library */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE9DC3732400000000 /* hdrs */,
-				966FB6DE5B9D018E00000001 /* srcs */,
-			);
-			name = Library;
-			sourceTree = "<group>";
-		};
-		966FB6DE9DC3732400000000 /* hdrs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28ED21EAD400000000 /* HdrsHeader.h */,
-			);
-			name = hdrs;
-			sourceTree = "<group>";
-		};
-		966FB6DEE2E4E10A00000000 /* Binary */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = Binary;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E683D3FEB200000000 /* _idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755834E49238F00000000 /* Build configuration list for PBXNativeTarget "_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0" */;
-			buildPhases = (
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0;
-			productName = _idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0;
-			productReference = 43D68C287BD278C400000000 /* lib_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E689384A2400000000 /* ccBinary */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583130F2B4800000000 /* Build configuration list for PBXNativeTarget "ccBinary" */;
-			buildPhases = (
-				84B422717004956B00000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = ccBinary;
-			productName = ccBinary;
-			productReference = 43D68C28BEB0070E00000000 /* ccBinary.app */;
-			productType = "com.apple.product-type.application";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EAC31A68F700000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-			};
-			buildConfigurationList = DE475583D7572F3100000000 /* Build configuration list for PBXProject "SimpleCCProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E683D3FEB200000000 /* _idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0 */,
-				3D31C5E689384A2400000000 /* ccBinary */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B422717004956B00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_ccsimple:ccBinary --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947B55D3E0600000000 /* src1.c in srcs */,
-				E6AF494736E2B24400000000 /* src2.c in srcs */,
-				E6AF494740C4A2B300000000 /* main.cc in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = SimpleCCProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = _idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_ccsimple:ccBinary";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = ccBinary;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_ccsimple;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = SimpleCCProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = _idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_ccsimple:ccBinary";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = ccBinary;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_ccsimple;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = SimpleCCProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_ccsimple:ccBinary";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_NAME = ccBinary;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_ccsimple;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = SimpleCCProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_ccsimple:ccBinary";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_NAME = ccBinary;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_ccsimple;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE475583130F2B4800000000 /* Build configuration list for PBXNativeTarget "ccBinary" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755834E49238F00000000 /* Build configuration list for PBXNativeTarget "_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583D7572F3100000000 /* Build configuration list for PBXProject "SimpleCCProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EAC31A68F700000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 5af4747..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,25 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E683D3FEB200000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="lib_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0.a" BlueprintName="_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E683D3FEB200000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="lib_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0.a" BlueprintName="_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E683D3FEB200000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="lib_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0.a" BlueprintName="_idx_ccLibrary_ccBinary_F372BDE7_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcshareddata/xcschemes/ccBinary.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcshareddata/xcschemes/ccBinary.xcscheme
deleted file mode 100644
index 888c13a..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcshareddata/xcschemes/ccBinary.xcscheme
+++ /dev/null
@@ -1,29 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E689384A2400000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="ccBinary.app" BlueprintName="ccBinary" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E689384A2400000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="ccBinary.app" BlueprintName="ccBinary" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E689384A2400000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="ccBinary.app" BlueprintName="ccBinary" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E689384A2400000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="ccBinary.app" BlueprintName="ccBinary" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index e43f539..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-		<key>ccBinary.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 369c30b..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,1109 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF494719E313D100000000 /* src1.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2819E313D100000000 /* src1.mm */; };
-		E6AF494719E313D100000001 /* src1.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2819E313D100000000 /* src1.mm */; };
-		E6AF494741E053A700000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2841E053A700000000 /* main.m */; };
-		E6AF49478B9856D200000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C288B9856D200000000 /* src1.m */; };
-		E6AF4947AD49D31000000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28AD49D31000000000 /* src2.m */; };
-		E6AF4947BA33721800000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple */ = {isa = PBXBuildFile; fileRef = C517CBBDBA33721800000000 /* SimpleTest.xcdatamodeld */; };
-		E6AF4947CD6F6F5600000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28CD6F6F5600000000 /* src3.m */; };
-		E6AF4947ED1C8B9400000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28ED1C8B9400000000 /* src4.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA590AA76F00000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-		819366726B144ABD00000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA590AA76F00000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E66B144ABC00000000;
-		};
-		81936672BB25C05700000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA590AA76F00000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6BB25C05600000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* 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; };
-		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; };
-		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>"; };
-		43D68C28594CBB3F00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_simple/BUILD; sourceTree = "<group>"; };
-		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>"; };
-		43D68C28B173B88A00000000 /* lib_idx_TestLibrary_92E29781_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_TestLibrary_92E29781_ios_min8.0.a; path = lib_idx_TestLibrary_92E29781_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28B6B94D0C00000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/hdrs/HdrsHeader.h"; sourceTree = "<group>"; };
-		43D68C28CD6F6F5600000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src3.m"; sourceTree = "<group>"; };
-		43D68C28D3EF7BE200000000 /* lib_idx_Library_1A8360DD_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_Library_1A8360DD_ios_min8.0.a; path = lib_idx_Library_1A8360DD_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28D69C1D8C00000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_simple/Application/entitlements.entitlements"; sourceTree = "<group>"; };
-		43D68C28D98253B200000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_simple/Application/Info.plist"; sourceTree = "<group>"; };
-		43D68C28ED1C8B9400000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src4.m"; sourceTree = "<group>"; };
-		43D68C28EFB26B8400000000 /* SimpleDataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv2.xcdatamodel; path = tulsi_e2e_simple/SimpleTest.xcdatamodeld/SimpleDataModelsTestv2.xcdatamodel; sourceTree = "<group>"; };
-		43D68C28F49055A600000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28376F90AC00000000 /* lib_idx_ApplicationLibrary_BB2F88FA_ios_min8.0.a */,
-				43D68C28D3EF7BE200000000 /* lib_idx_Library_1A8360DD_ios_min8.0.a */,
-				43D68C28B173B88A00000000 /* lib_idx_TestLibrary_92E29781_ios_min8.0.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28F49055A600000000 /* Application.app */,
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C280BFD6EFC00000000 /* TargetApplication.app */,
-				43D68C285E266A6000000000 /* XCTest.xctest */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE3377C20200000000 /* textual_hdrs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2805AAC31600000000 /* TextualHdrsHeader.h */,
-			);
-			name = textual_hdrs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2841E053A700000000 /* main.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000001 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28AC13992A00000000 /* SrcsHeader.h */,
-				43D68C288B9856D200000000 /* src1.m */,
-				43D68C28AD49D31000000000 /* src2.m */,
-				43D68C28CD6F6F5600000000 /* src3.m */,
-				43D68C28ED1C8B9400000000 /* src4.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000002 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2819E313D100000000 /* src1.mm */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE61BF2DA400000000 /* tulsi_e2e_simple */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C289B0E1CB400000000 /* Application-Info-binary.plist */,
-				43D68C28978A91A200000000 /* TargetApplication-Info-binary.plist */,
-				43D68C282AF40CC000000000 /* XCTest_test_bundle-Info-binary.plist */,
-			);
-			name = tulsi_e2e_simple;
-			sourceTree = "<group>";
-		};
-		966FB6DE61BF2DA400000001 /* tulsi_e2e_simple */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEB58A255E00000000 /* Application */,
-				966FB6DEC4D81E7A00000000 /* ApplicationLibrary */,
-				43D68C28594CBB3F00000000 /* BUILD */,
-				966FB6DE94E444FD00000000 /* Library */,
-				C517CBBDBA33721800000000 /* SimpleTest.xcdatamodeld */,
-				966FB6DE77973FA000000000 /* XCTest */,
-			);
-			name = tulsi_e2e_simple;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE61BF2DA400000001 /* tulsi_e2e_simple */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE77973FA000000000 /* XCTest */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000002 /* srcs */,
-			);
-			name = XCTest;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE61BF2DA400000000 /* tulsi_e2e_simple */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE94E444FD00000000 /* Library */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE9DC3732400000000 /* hdrs */,
-				966FB6DE97917B0F00000000 /* pch */,
-				966FB6DE5B9D018E00000001 /* srcs */,
-				966FB6DE3377C20200000000 /* textual_hdrs */,
-				966FB6DEA07B457B00000000 /* xibs */,
-			);
-			name = Library;
-			sourceTree = "<group>";
-		};
-		966FB6DE97917B0F00000000 /* pch */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C284759C53900000000 /* PCHFile.pch */,
-			);
-			name = pch;
-			sourceTree = "<group>";
-		};
-		966FB6DE9DC3732400000000 /* hdrs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28B6B94D0C00000000 /* HdrsHeader.h */,
-			);
-			name = hdrs;
-			sourceTree = "<group>";
-		};
-		966FB6DEA07B457B00000000 /* xibs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C285A65770D00000000 /* xib.xib */,
-			);
-			name = xibs;
-			sourceTree = "<group>";
-		};
-		966FB6DEB58A255E00000000 /* Application */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28D98253B200000000 /* Info.plist */,
-				43D68C2854A2185400000000 /* Launch.storyboard */,
-				43D68C28D69C1D8C00000000 /* entitlements.entitlements */,
-			);
-			name = Application;
-			sourceTree = "<group>";
-		};
-		966FB6DEC4D81E7A00000000 /* ApplicationLibrary */ = {
-			isa = PBXGroup;
-			children = (
-				8CBD86FAC9CA518600000000 /* One.storyboard */,
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = ApplicationLibrary;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E63956EB9A00000000 /* TargetApplication */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583978C206500000000 /* Build configuration list for PBXNativeTarget "TargetApplication" */;
-			buildPhases = (
-				84B42271B0F2B72000000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = TargetApplication;
-			productName = TargetApplication;
-			productReference = 43D68C280BFD6EFC00000000 /* TargetApplication.app */;
-			productType = "com.apple.product-type.application";
-		};
-		3D31C5E657AF671A00000000 /* _idx_ApplicationLibrary_BB2F88FA_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583B76803C300000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_BB2F88FA_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42BB25C05700000000 /* PBXTargetDependency */,
-			);
-			name = _idx_ApplicationLibrary_BB2F88FA_ios_min8.0;
-			productName = _idx_ApplicationLibrary_BB2F88FA_ios_min8.0;
-			productReference = 43D68C28376F90AC00000000 /* lib_idx_ApplicationLibrary_BB2F88FA_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E66B144ABC00000000 /* Application */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */;
-			buildPhases = (
-				84B4227126CDD19D00000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = Application;
-			productName = Application;
-			productReference = 43D68C28F49055A600000000 /* Application.app */;
-			productType = "com.apple.product-type.application";
-		};
-		3D31C5E6BB25C05600000000 /* _idx_Library_1A8360DD_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755834677851A00000000 /* Build configuration list for PBXNativeTarget "_idx_Library_1A8360DD_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000002 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_Library_1A8360DD_ios_min8.0;
-			productName = _idx_Library_1A8360DD_ios_min8.0;
-			productReference = 43D68C28D3EF7BE200000000 /* lib_idx_Library_1A8360DD_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6DDB1401000000000 /* _idx_TestLibrary_92E29781_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583DEADDDEE00000000 /* Build configuration list for PBXNativeTarget "_idx_TestLibrary_92E29781_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000003 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42BB25C05700000000 /* PBXTargetDependency */,
-			);
-			name = _idx_TestLibrary_92E29781_ios_min8.0;
-			productName = _idx_TestLibrary_92E29781_ios_min8.0;
-			productReference = 43D68C28B173B88A00000000 /* lib_idx_TestLibrary_92E29781_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6EF2E7F4000000000 /* XCTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583B2A6125600000000 /* Build configuration list for PBXNativeTarget "XCTest" */;
-			buildPhases = (
-				84B42271667CEC0300000000 /* ShellScript */,
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B426B144ABD00000000 /* PBXTargetDependency */,
-			);
-			name = XCTest;
-			productName = XCTest;
-			productReference = 43D68C285E266A6000000000 /* XCTest.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EA590AA76F00000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-				TargetAttributes = {
-					3D31C5E6EF2E7F4000000000 = {
-						TestTargetID = 3D31C5E66B144ABC00000000;
-					};
-				};
-			};
-			buildConfigurationList = DE4755835CE813A900000000 /* Build configuration list for PBXProject "SimpleProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E66B144ABC00000000 /* Application */,
-				3D31C5E63956EB9A00000000 /* TargetApplication */,
-				3D31C5E6EF2E7F4000000000 /* XCTest */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E657AF671A00000000 /* _idx_ApplicationLibrary_BB2F88FA_ios_min8.0 */,
-				3D31C5E6BB25C05600000000 /* _idx_Library_1A8360DD_ios_min8.0 */,
-				3D31C5E6DDB1401000000000 /* _idx_TestLibrary_92E29781_ios_min8.0 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B4227126CDD19D00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple:Application --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271667CEC0300000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271B0F2B72000000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple:TargetApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494719E313D100000000 /* src1.mm in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947BA33721800000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple */,
-				E6AF494741E053A700000000 /* main.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000002 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49478B9856D200000000 /* src1.m in srcs */,
-				E6AF4947AD49D31000000000 /* src2.m in srcs */,
-				E6AF4947CD6F6F5600000000 /* src3.m in srcs */,
-				E6AF4947ED1C8B9400000000 /* src4.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000003 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494719E313D100000001 /* src1.mm in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-		8CBD86FAC9CA518600000000 /* One.storyboard */ = {
-			isa = PBXVariantGroup;
-			children = (
-				43D68C28326496CA00000000 /* Base */,
-			);
-			name = One.storyboard;
-			sourceTree = "<group>";
-		};
-/* End PBXVariantGroup section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B426B144ABD00000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726B144ABD00000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B42BB25C05700000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672BB25C05700000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-idTests";
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application";
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = SimpleProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:TargetApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = TargetApplication;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DAPPLIB_ADDITIONAL_DEFINE -DAPPLIB_ANOTHER_DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1";
-				PRODUCT_NAME = _idx_ApplicationLibrary_BB2F88FA_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000005 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_simple/Library/pch/PCHFile.pch";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) /Library/absolute/include/path $(TULSI_BWRS)/relative/Library/include/path $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1";
-				PRODUCT_NAME = _idx_Library_1A8360DD_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000006 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1";
-				PRODUCT_NAME = _idx_TestLibrary_92E29781_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-idTests";
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application";
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = SimpleProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:TargetApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = TargetApplication;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple/ApplicationLibrary/includes $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DAPPLIB_ADDITIONAL_DEFINE -DAPPLIB_ANOTHER_DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1";
-				PRODUCT_NAME = _idx_ApplicationLibrary_BB2F88FA_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000005 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_simple/Library/pch/PCHFile.pch";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) /Library/absolute/include/path $(TULSI_BWRS)/relative/Library/include/path $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1";
-				PRODUCT_NAME = _idx_Library_1A8360DD_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000006 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1";
-				PRODUCT_NAME = _idx_TestLibrary_92E29781_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-idTests";
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application";
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = SimpleProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:TargetApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = TargetApplication;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-idTests";
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Application.app/Application";
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = SimpleProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_simple:TargetApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = TargetApplication;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_simple;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE4755834677851A00000000 /* Build configuration list for PBXNativeTarget "_idx_Library_1A8360DD_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000005 /* Debug */,
-				44936BD6A3D45CE900000005 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755835CE813A900000000 /* Build configuration list for PBXProject "SimpleProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583978C206500000000 /* Build configuration list for PBXNativeTarget "TargetApplication" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583B2A6125600000000 /* Build configuration list for PBXNativeTarget "XCTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583B76803C300000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_BB2F88FA_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583DEADDDEE00000000 /* Build configuration list for PBXNativeTarget "_idx_TestLibrary_92E29781_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000006 /* Debug */,
-				44936BD6A3D45CE900000006 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-
-/* Begin XCVersionGroup section */
-		C517CBBDBA33721800000000 /* SimpleTest.xcdatamodeld */ = {
-			isa = XCVersionGroup;
-			children = (
-				43D68C28A556FB7A00000000 /* SimpleDataModelsTestv1.xcdatamodel */,
-				43D68C28EFB26B8400000000 /* SimpleDataModelsTestv2.xcdatamodel */,
-			);
-			currentVersion = 43D68C28A556FB7A00000000 /* SimpleDataModelsTestv1.xcdatamodel */;
-			name = SimpleTest.xcdatamodeld;
-			sourceTree = "<group>";
-			versionGroupType = wrapper.xcdatamodel;
-		};
-/* End XCVersionGroup section */
-	};
-	rootObject = 7E7BD0EA590AA76F00000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
deleted file mode 100644
index ac52820..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
+++ /dev/null
@@ -1,92 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a build pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a build post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a test pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a test post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <CommandLineArguments>
-            <CommandLineArgument argument="--project-flag" isEnabled="YES"></CommandLineArgument>
-        </CommandLineArguments>
-        <EnvironmentVariables>
-            <EnvironmentVariable key="projectKey" value="projectValue" isEnabled="YES"></EnvironmentVariable>
-        </EnvironmentVariables>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a lauch pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a launch post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/TargetApplication.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/TargetApplication.xcscheme
deleted file mode 100644
index 503adc8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/TargetApplication.xcscheme
+++ /dev/null
@@ -1,90 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a target specific build pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a target specific build post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a target specific test pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a target specific test post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <CommandLineArguments>
-            <CommandLineArgument argument="--target-specific-test-flag" isEnabled="YES"></CommandLineArgument>
-        </CommandLineArguments>
-        <EnvironmentVariables>
-            <EnvironmentVariable key="targetKey1" value="targetValue1" isEnabled="YES"></EnvironmentVariable>
-            <EnvironmentVariable key="targetKey3" value="" isEnabled="YES"></EnvironmentVariable>
-            <EnvironmentVariable key="targetKey2" value="targetValue2=" isEnabled="YES"></EnvironmentVariable>
-        </EnvironmentVariables>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a target specific launch pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a target specific launch post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E63956EB9A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="TargetApplication.app" BlueprintName="TargetApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/XCTest.xcscheme
deleted file mode 100644
index d44458f..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/XCTest.xcscheme
+++ /dev/null
@@ -1,92 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a build pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a build post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a test pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a test post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <CommandLineArguments>
-            <CommandLineArgument argument="--project-flag" isEnabled="YES"></CommandLineArgument>
-        </CommandLineArguments>
-        <EnvironmentVariables>
-            <EnvironmentVariable key="projectKey" value="projectValue" isEnabled="YES"></EnvironmentVariable>
-        </EnvironmentVariables>
-        <PreActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a lauch pre action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PreActions>
-        <PostActions>
-            <ExecutionAction ActionType="Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
-                <ActionContent scriptText="This is a launch post action script" title="Run Script">
-                    <EnvironmentBuildable>
-                        <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-                    </EnvironmentBuildable>
-                </ActionContent>
-            </ExecutionAction>
-        </PostActions>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EF2E7F4000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="XCTest.xctest" BlueprintName="XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 477d8e0..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,25 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6DDB1401000000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="lib_idx_TestLibrary_92E29781_ios_min8.0.a" BlueprintName="_idx_TestLibrary_92E29781_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E657AF671A00000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="lib_idx_ApplicationLibrary_BB2F88FA_ios_min8.0.a" BlueprintName="_idx_ApplicationLibrary_BB2F88FA_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6BB25C05600000000" ReferencedContainer="container:SimpleProject.xcodeproj" BuildableName="lib_idx_Library_1A8360DD_ios_min8.0.a" BlueprintName="_idx_Library_1A8360DD_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 8286d52..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>Application.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>TargetApplication.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>XCTest.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj
deleted file mode 100644
index e1166b6..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,684 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF494771FF98DC00000000 /* src.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2871FF98DC00000000 /* src.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA531F212000000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		43D68C281108F5BC00000000 /* tvOSExtension-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "tvOSExtension-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSExtension-Info-binary.plist"; sourceTree = "<group>"; };
-		43D68C282103AF1200000000 /* tvOSExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = tvOSExtension.appex; path = tvOSExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C282F44A2FE00000000 /* tvOSApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "tvOSApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_tvos_project/tvOSApplication-Info-binary.plist"; sourceTree = "<group>"; };
-		43D68C2845BA43BC00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSApplication/Info.plist"; sourceTree = "<group>"; };
-		43D68C284B9C3F1D00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_tvos_project/BUILD; sourceTree = "<group>"; };
-		43D68C2858AD74E500000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSExtension/Info.plist"; sourceTree = "<group>"; };
-		43D68C2871FF98DC00000000 /* src.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src.m; path = "tulsi-workspace/tulsi_e2e_tvos_project/tvOSLibrary/srcs/src.m"; sourceTree = "<group>"; };
-		43D68C28BD354C7A00000000 /* lib_idx_tvOSLibrary_5CB253EB_tvos_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_tvOSLibrary_5CB253EB_tvos_min10.0.a; path = lib_idx_tvOSLibrary_5CB253EB_tvos_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28F66BEF4600000000 /* tvOSApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = tvOSApplication.app; path = tvOSApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE01C9BA2E00000000 /* tvOSApplication */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2845BA43BC00000000 /* Info.plist */,
-			);
-			name = tvOSApplication;
-			sourceTree = "<group>";
-		};
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28BD354C7A00000000 /* lib_idx_tvOSLibrary_5CB253EB_tvos_min10.0.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE2533E34D00000000 /* tvOSLibrary */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = tvOSLibrary;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE0562C2F700000000 /* Indexer */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-				43D68C28F66BEF4600000000 /* tvOSApplication.app */,
-				43D68C282103AF1200000000 /* tvOSExtension.appex */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2871FF98DC00000000 /* src.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE8B59490200000001 /* tulsi_e2e_tvos_project */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE8B59490200000000 /* tulsi_e2e_tvos_project */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE8B59490200000000 /* tulsi_e2e_tvos_project */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C282F44A2FE00000000 /* tvOSApplication-Info-binary.plist */,
-				43D68C281108F5BC00000000 /* tvOSExtension-Info-binary.plist */,
-			);
-			name = tulsi_e2e_tvos_project;
-			sourceTree = "<group>";
-		};
-		966FB6DE8B59490200000001 /* tulsi_e2e_tvos_project */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C284B9C3F1D00000000 /* BUILD */,
-				966FB6DE01C9BA2E00000000 /* tvOSApplication */,
-				966FB6DEF634A87700000000 /* tvOSExtension */,
-				966FB6DE2533E34D00000000 /* tvOSLibrary */,
-			);
-			name = tulsi_e2e_tvos_project;
-			sourceTree = "<group>";
-		};
-		966FB6DEF634A87700000000 /* tvOSExtension */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2858AD74E500000000 /* Info.plist */,
-			);
-			name = tvOSExtension;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E60393745C00000000 /* tvOSApplication */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755838DC51D6400000000 /* Build configuration list for PBXNativeTarget "tvOSApplication" */;
-			buildPhases = (
-				84B422717D9ED1D800000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = tvOSApplication;
-			productName = tvOSApplication;
-			productReference = 43D68C28F66BEF4600000000 /* tvOSApplication.app */;
-			productType = "com.apple.product-type.application";
-		};
-		3D31C5E6EC6950EE00000000 /* tvOSExtension */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558346438EAD00000000 /* Build configuration list for PBXNativeTarget "tvOSExtension" */;
-			buildPhases = (
-				84B42271309905A000000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = tvOSExtension;
-			productName = tvOSExtension;
-			productReference = 43D68C282103AF1200000000 /* tvOSExtension.appex */;
-			productType = "com.apple.product-type.app-extension";
-		};
-		3D31C5E6F707CD6000000000 /* _idx_tvOSLibrary_5CB253EB_tvos_min10.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558389D06DA600000000 /* Build configuration list for PBXNativeTarget "_idx_tvOSLibrary_5CB253EB_tvos_min10.0" */;
-			buildPhases = (
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_tvOSLibrary_5CB253EB_tvos_min10.0;
-			productName = _idx_tvOSLibrary_5CB253EB_tvos_min10.0;
-			productReference = 43D68C28BD354C7A00000000 /* lib_idx_tvOSLibrary_5CB253EB_tvos_min10.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EA531F212000000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-			};
-			buildConfigurationList = DE475583B6DDF65700000000 /* Build configuration list for PBXProject "SkylarkBundlingProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6F707CD6000000000 /* _idx_tvOSLibrary_5CB253EB_tvos_min10.0 */,
-				3D31C5E60393745C00000000 /* tvOSApplication */,
-				3D31C5E6EC6950EE00000000 /* tvOSExtension */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271309905A000000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_tvos_project:tvOSExtension --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B422717D9ED1D800000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_tvos_project:tvOSApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494771FF98DC00000000 /* src.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = appletvos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = SkylarkBundlingProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CLANG_ENABLE_MODULES = YES;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				PRODUCT_NAME = _idx_tvOSLibrary_5CB253EB_tvos_min10.0;
-				SDKROOT = appletvos;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_tvos_project:tvOSApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				PRODUCT_BUNDLE_IDENTIFIER = c.test.tvOSApplication;
-				PRODUCT_NAME = tvOSApplication;
-				SDKROOT = appletvos;
-				TULSI_BUILD_PATH = tulsi_e2e_tvos_project;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_tvos_project:tvOSExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_tvos_project-tvOSExtension.plist";
-				PRODUCT_BUNDLE_IDENTIFIER = c.test.tvOSExtension;
-				PRODUCT_NAME = tvOSExtension;
-				SDKROOT = appletvos;
-				TULSI_BUILD_PATH = tulsi_e2e_tvos_project;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = appletvos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = SkylarkBundlingProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CLANG_ENABLE_MODULES = YES;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				PRODUCT_NAME = _idx_tvOSLibrary_5CB253EB_tvos_min10.0;
-				SDKROOT = appletvos;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_tvos_project:tvOSApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				PRODUCT_BUNDLE_IDENTIFIER = c.test.tvOSApplication;
-				PRODUCT_NAME = tvOSApplication;
-				SDKROOT = appletvos;
-				TULSI_BUILD_PATH = tulsi_e2e_tvos_project;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_tvos_project:tvOSExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_tvos_project-tvOSExtension.plist";
-				PRODUCT_BUNDLE_IDENTIFIER = c.test.tvOSExtension;
-				PRODUCT_NAME = tvOSExtension;
-				SDKROOT = appletvos;
-				TULSI_BUILD_PATH = tulsi_e2e_tvos_project;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = appletvos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = SkylarkBundlingProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_tvos_project:tvOSApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = c.test.tvOSApplication;
-				PRODUCT_NAME = tvOSApplication;
-				SDKROOT = appletvos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_tvos_project;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_tvos_project:tvOSExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_tvos_project-tvOSExtension.plist";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = c.test.tvOSExtension;
-				PRODUCT_NAME = tvOSExtension;
-				SDKROOT = appletvos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_tvos_project;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = appletvos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = SkylarkBundlingProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_tvos_project:tvOSApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = c.test.tvOSApplication;
-				PRODUCT_NAME = tvOSApplication;
-				SDKROOT = appletvos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_tvos_project;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_tvos_project:tvOSExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_tvos_project-tvOSExtension.plist";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = c.test.tvOSExtension;
-				PRODUCT_NAME = tvOSExtension;
-				SDKROOT = appletvos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_tvos_project;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TVOS_DEPLOYMENT_TARGET = 10.0;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE47558346438EAD00000000 /* Build configuration list for PBXNativeTarget "tvOSExtension" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558389D06DA600000000 /* Build configuration list for PBXNativeTarget "_idx_tvOSLibrary_5CB253EB_tvos_min10.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755838DC51D6400000000 /* Build configuration list for PBXNativeTarget "tvOSApplication" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583B6DDF65700000000 /* Build configuration list for PBXProject "SkylarkBundlingProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EA531F212000000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 40ed0f6..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,19 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F707CD6000000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="lib_idx_tvOSLibrary_5CB253EB_tvos_min10.0.a" BlueprintName="_idx_tvOSLibrary_5CB253EB_tvos_min10.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/tvOSApplication.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/tvOSApplication.xcscheme
deleted file mode 100644
index 5ef1ea5..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/tvOSApplication.xcscheme
+++ /dev/null
@@ -1,29 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E60393745C00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSApplication.app" BlueprintName="tvOSApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E60393745C00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSApplication.app" BlueprintName="tvOSApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E60393745C00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSApplication.app" BlueprintName="tvOSApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E60393745C00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSApplication.app" BlueprintName="tvOSApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/tvOSExtension.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/tvOSExtension.xcscheme
deleted file mode 100644
index 3a00417..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcshareddata/xcschemes/tvOSExtension.xcscheme
+++ /dev/null
@@ -1,32 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3" wasCreatedForAppExtension="YES">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EC6950EE00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSExtension.appex" BlueprintName="tvOSExtension" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E60393745C00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSApplication.app" BlueprintName="tvOSApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC6950EE00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSExtension.appex" BlueprintName="tvOSExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="" selectedLauncherIdentifier="Xcode.IDEFoundation.Launcher.PosixSpawn" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES" launchAutomaticallySubstyle="2">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC6950EE00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSExtension.appex" BlueprintName="tvOSExtension" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC6950EE00000000" ReferencedContainer="container:SkylarkBundlingProject.xcodeproj" BuildableName="tvOSExtension.appex" BlueprintName="tvOSExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 0072afa..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SkylarkBundlingProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-		<key>tvOSApplication.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>tvOSExtension.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 30e2db1..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,711 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF494797AEEFA100000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2897AEEFA100000000 /* a.swift */; };
-		E6AF4947A81C321400000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28A81C321400000000 /* a.swift */; };
-		E6AF4947BF9D04A000000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28BF9D04A000000000 /* a.swift */; };
-		E6AF4947DA373E9A00000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28DA373E9A00000000 /* b.swift */; };
-		E6AF4947E006042300000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28E006042300000000 /* b.swift */; };
-		E6AF4947F7BC10E600000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28F7BC10E600000000 /* b.swift */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA25BED5D100000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		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; };
-		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; };
-		43D68C28F61CF22100000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_swift/BUILD; sourceTree = "<group>"; };
-		43D68C28F7BC10E600000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV4/srcs/b.swift"; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2875CB931600000000 /* _idx_SwiftLibraryV3_56AA3A57_ios_min8.0.framework */,
-				43D68C281A91031800000000 /* _idx_SwiftLibraryV4_56AA3A59_ios_min8.0.framework */,
-				43D68C283DDF903600000000 /* _idx_SwiftLibrary_EA7FC891_ios_min8.0.framework */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28F49055A600000000 /* Application.app */,
-				966FB6DE0562C2F700000000 /* Indexer */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE582F53CF00000000 /* SwiftLibrary */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = SwiftLibrary;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28A81C321400000000 /* a.swift */,
-				43D68C28DA373E9A00000000 /* b.swift */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000001 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2897AEEFA100000000 /* a.swift */,
-				43D68C28E006042300000000 /* b.swift */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000002 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28BF9D04A000000000 /* a.swift */,
-				43D68C28F7BC10E600000000 /* b.swift */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE9E30860600000001 /* tulsi_e2e_swift */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE9E30860600000000 /* tulsi_e2e_swift */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE906B425B00000000 /* SwiftLibraryV4 */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000002 /* srcs */,
-			);
-			name = SwiftLibraryV4;
-			sourceTree = "<group>";
-		};
-		966FB6DE906B825800000000 /* SwiftLibraryV3 */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000001 /* srcs */,
-			);
-			name = SwiftLibraryV3;
-			sourceTree = "<group>";
-		};
-		966FB6DE9E30860600000000 /* tulsi_e2e_swift */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28C8C0AE1600000000 /* Application-Info-binary.plist */,
-			);
-			name = tulsi_e2e_swift;
-			sourceTree = "<group>";
-		};
-		966FB6DE9E30860600000001 /* tulsi_e2e_swift */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28F61CF22100000000 /* BUILD */,
-				43D68C28ADF10C6300000000 /* Info.plist */,
-				966FB6DE582F53CF00000000 /* SwiftLibrary */,
-				966FB6DE906B825800000000 /* SwiftLibraryV3 */,
-				966FB6DE906B425B00000000 /* SwiftLibraryV4 */,
-			);
-			name = tulsi_e2e_swift;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E62F55BA0C00000000 /* _idx_SwiftLibraryV4_56AA3A59_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558383F42CFC00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV4_56AA3A59_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SwiftLibraryV4_56AA3A59_ios_min8.0;
-			productName = _idx_SwiftLibraryV4_56AA3A59_ios_min8.0;
-			productReference = 43D68C281A91031800000000 /* _idx_SwiftLibraryV4_56AA3A59_ios_min8.0.framework */;
-			productType = "com.apple.product-type.framework";
-		};
-		3D31C5E66B144ABC00000000 /* Application */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */;
-			buildPhases = (
-				84B422717004956B00000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = Application;
-			productName = Application;
-			productReference = 43D68C28F49055A600000000 /* Application.app */;
-			productType = "com.apple.product-type.application";
-		};
-		3D31C5E685D0530A00000000 /* _idx_SwiftLibraryV3_56AA3A57_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558357CE7FFB00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV3_56AA3A57_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SwiftLibraryV3_56AA3A57_ios_min8.0;
-			productName = _idx_SwiftLibraryV3_56AA3A57_ios_min8.0;
-			productReference = 43D68C2875CB931600000000 /* _idx_SwiftLibraryV3_56AA3A57_ios_min8.0.framework */;
-			productType = "com.apple.product-type.framework";
-		};
-		3D31C5E68D4F012A00000000 /* _idx_SwiftLibrary_EA7FC891_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755838C94FE4B00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibrary_EA7FC891_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000002 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_SwiftLibrary_EA7FC891_ios_min8.0;
-			productName = _idx_SwiftLibrary_EA7FC891_ios_min8.0;
-			productReference = 43D68C283DDF903600000000 /* _idx_SwiftLibrary_EA7FC891_ios_min8.0.framework */;
-			productType = "com.apple.product-type.framework";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EA25BED5D100000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-			};
-			buildConfigurationList = DE475583EEBE630B00000000 /* Build configuration list for PBXProject "SwiftProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E66B144ABC00000000 /* Application */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E685D0530A00000000 /* _idx_SwiftLibraryV3_56AA3A57_ios_min8.0 */,
-				3D31C5E62F55BA0C00000000 /* _idx_SwiftLibraryV4_56AA3A59_ios_min8.0 */,
-				3D31C5E68D4F012A00000000 /* _idx_SwiftLibrary_EA7FC891_ios_min8.0 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B422717004956B00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_swift:Application --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494797AEEFA100000000 /* a.swift in srcs */,
-				E6AF4947E006042300000000 /* b.swift in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947BF9D04A000000000 /* a.swift in srcs */,
-				E6AF4947F7BC10E600000000 /* b.swift in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000002 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947A81C321400000000 /* a.swift in srcs */,
-				E6AF4947DA373E9A00000000 /* b.swift in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_VERSION = 4;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = SwiftProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_swift:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.invalid;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_swift;
-				TULSI_SWIFT_DEPENDENCY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3 -DLIBRARY_DEFINE_V3";
-				PRODUCT_NAME = _idx_SwiftLibraryV3_56AA3A57_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4 -DLIBRARY_DEFINE_V4";
-				PRODUCT_NAME = _idx_SwiftLibraryV4_56AA3A59_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.modulemaps $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.modulemaps/module.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE";
-				PRODUCT_NAME = _idx_SwiftLibrary_EA7FC891_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_VERSION = 4;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = SwiftProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_swift:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.invalid;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_swift;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3 -DLIBRARY_DEFINE_V3";
-				PRODUCT_NAME = _idx_SwiftLibraryV3_56AA3A57_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4 -DLIBRARY_DEFINE_V4";
-				PRODUCT_NAME = _idx_SwiftLibraryV4_56AA3A59_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.modulemaps $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.modulemaps/module.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE";
-				PRODUCT_NAME = _idx_SwiftLibrary_EA7FC891_ios_min8.0;
-				SDKROOT = iphoneos;
-				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				SWIFT_VERSION = 4;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = SwiftProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_swift:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.invalid;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_swift;
-				TULSI_SWIFT_DEPENDENCY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				SWIFT_VERSION = 4;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = SwiftProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_swift:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.invalid;
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_swift;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE47558357CE7FFB00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV3_56AA3A57_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558383F42CFC00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV4_56AA3A59_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755838C94FE4B00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibrary_EA7FC891_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583EEBE630B00000000 /* Build configuration list for PBXProject "SwiftProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EA25BED5D100000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
deleted file mode 100644
index e663135..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
+++ /dev/null
@@ -1,29 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SwiftProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SwiftProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SwiftProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:SwiftProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index a92069c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,25 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E68D4F012A00000000" ReferencedContainer="container:SwiftProject.xcodeproj" BuildableName="_idx_SwiftLibrary_EA7FC891_ios_min8.0.framework" BlueprintName="_idx_SwiftLibrary_EA7FC891_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E685D0530A00000000" ReferencedContainer="container:SwiftProject.xcodeproj" BuildableName="_idx_SwiftLibraryV3_56AA3A57_ios_min8.0.framework" BlueprintName="_idx_SwiftLibraryV3_56AA3A57_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E62F55BA0C00000000" ReferencedContainer="container:SwiftProject.xcodeproj" BuildableName="_idx_SwiftLibraryV4_56AA3A59_ios_min8.0.framework" BlueprintName="_idx_SwiftLibraryV4_56AA3A59_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 36e5e1f..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>Application.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 73c4601..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,1299 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF494730D2727A00000000 /* XCTest.m in Three */ = {isa = PBXBuildFile; fileRef = 43D68C2830D2727A00000000 /* XCTest.m */; };
-		E6AF494730D2727A00000001 /* XCTest.m in Three */ = {isa = PBXBuildFile; fileRef = 43D68C2830D2727A00000000 /* XCTest.m */; };
-		E6AF494737CE81F900000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2837CE81F900000000 /* main.m */; };
-		E6AF494737CE81F900000001 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2837CE81F900000000 /* main.m */; };
-		E6AF49478021770E00000000 /* LogicTest.m in One */ = {isa = PBXBuildFile; fileRef = 43D68C288021770E00000000 /* LogicTest.m */; };
-		E6AF49478021770E00000001 /* LogicTest.m in One */ = {isa = PBXBuildFile; fileRef = 43D68C288021770E00000000 /* LogicTest.m */; };
-		E6AF4947D835DF2200000000 /* XCTest.m in One */ = {isa = PBXBuildFile; fileRef = 43D68C28D835DF2200000000 /* XCTest.m */; };
-		E6AF4947D835DF2200000001 /* XCTest.m in One */ = {isa = PBXBuildFile; fileRef = 43D68C28D835DF2200000000 /* XCTest.m */; };
-		E6AF4947E8EE103A00000000 /* XCTest.m in Two */ = {isa = PBXBuildFile; fileRef = 43D68C28E8EE103A00000000 /* XCTest.m */; };
-		E6AF4947E8EE103A00000001 /* XCTest.m in Two */ = {isa = PBXBuildFile; fileRef = 43D68C28E8EE103A00000000 /* XCTest.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA68854BB100000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-		81936672EC64700500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA68854BB100000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6EC64700400000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		43D68C280514D6D800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = "<group>"; };
-		43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_12894588_ios_min8.0.a; path = lib_idx_ApplicationLibrary_12894588_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		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>"; };
-		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>"; };
-		43D68C2855A5EB7C00000000 /* lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a; path = lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		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>"; };
-		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>"; };
-		43D68C28D835DF2200000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/One/XCTest.m"; 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; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */,
-				43D68C2855A5EB7C00000000 /* lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		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 */,
-			);
-			name = Three;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C288E51A48C00000000 /* LogicTest.xctest */,
-				43D68C285A2F8B6E00000000 /* TestApplication.app */,
-				43D68C28FF916CC800000000 /* TestSuite-One-XCTest.xctest */,
-				43D68C284E81BC7800000000 /* TestSuite-Three-XCTest.xctest */,
-				43D68C28DEE022F800000000 /* TestSuite-Two-XCTest.xctest */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2837CE81F900000000 /* main.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE97D5C89200000001 /* TestSuite */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE97D5C89200000000 /* TestSuite */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		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 */,
-			);
-			name = Two;
-			sourceTree = "<group>";
-		};
-		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 */,
-			);
-			name = One;
-			sourceTree = "<group>";
-		};
-		966FB6DE97D5C89200000000 /* TestSuite */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE96FC0B6C00000000 /* One */,
-				43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */,
-				966FB6DE2008A7BC00000000 /* Three */,
-				966FB6DE9692BF0400000000 /* Two */,
-			);
-			name = TestSuite;
-			sourceTree = "<group>";
-		};
-		966FB6DE97D5C89200000001 /* TestSuite */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEB58A255E00000000 /* Application */,
-				43D68C28588752AD00000000 /* BUILD */,
-				43D68C2864939ADF00000000 /* Info.plist */,
-				966FB6DE96FC0B6C00000001 /* One */,
-				966FB6DE2008A7BC00000001 /* Three */,
-				966FB6DE9692BF0400000001 /* Two */,
-			);
-			name = TestSuite;
-			sourceTree = "<group>";
-		};
-		966FB6DEB58A255E00000000 /* Application */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = Application;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E6004A74A800000000 /* TestSuite-One-XCTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558391D6432200000000 /* Build configuration list for PBXNativeTarget "TestSuite-One-XCTest" */;
-			buildPhases = (
-				84B422717B29D47D00000000 /* ShellScript */,
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42EC64700500000000 /* PBXTargetDependency */,
-			);
-			name = "TestSuite-One-XCTest";
-			productName = "TestSuite-One-XCTest";
-			productReference = 43D68C28FF916CC800000000 /* TestSuite-One-XCTest.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E6042EA8D800000000 /* TestSuite-Three-XCTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755834E80A3C200000000 /* Build configuration list for PBXNativeTarget "TestSuite-Three-XCTest" */;
-			buildPhases = (
-				84B422719344596500000000 /* ShellScript */,
-				605793E20000000000000002 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42EC64700500000000 /* PBXTargetDependency */,
-			);
-			name = "TestSuite-Three-XCTest";
-			productName = "TestSuite-Three-XCTest";
-			productReference = 43D68C284E81BC7800000000 /* TestSuite-Three-XCTest.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E60AB7D76C00000000 /* LogicTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558341AF1CEC00000000 /* Build configuration list for PBXNativeTarget "LogicTest" */;
-			buildPhases = (
-				84B42271BCF125E800000000 /* ShellScript */,
-				605793E20000000000000003 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = LogicTest;
-			productName = LogicTest;
-			productReference = 43D68C288E51A48C00000000 /* LogicTest.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E67C4CFB5800000000 /* TestSuite-Two-XCTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755831AEA36FA00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Two-XCTest" */;
-			buildPhases = (
-				84B422717B29D47D00000001 /* ShellScript */,
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42EC64700500000000 /* PBXTargetDependency */,
-			);
-			name = "TestSuite-Two-XCTest";
-			productName = "TestSuite-Two-XCTest";
-			productReference = 43D68C28DEE022F800000000 /* TestSuite-Two-XCTest.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E6D741188E00000000 /* _idx_ApplicationLibrary_12894588_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583E54EB6BD00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_12894588_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000004 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_ApplicationLibrary_12894588_ios_min8.0;
-			productName = _idx_ApplicationLibrary_12894588_ios_min8.0;
-			productReference = 43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6EC64700400000000 /* TestApplication */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558305B5AF7800000000 /* Build configuration list for PBXNativeTarget "TestApplication" */;
-			buildPhases = (
-				84B42271684CC92C00000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = TestApplication;
-			productName = TestApplication;
-			productReference = 43D68C285A2F8B6E00000000 /* TestApplication.app */;
-			productType = "com.apple.product-type.application";
-		};
-		3D31C5E6F5A547EA00000000 /* _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755835B3B019C00000000 /* Build configuration list for PBXNativeTarget "_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0" */;
-			buildPhases = (
-				605793E20000000000000005 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0;
-			productName = _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0;
-			productReference = 43D68C2855A5EB7C00000000 /* lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EA68854BB100000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-				TargetAttributes = {
-					3D31C5E6004A74A800000000 = {
-						TestTargetID = 3D31C5E6EC64700400000000;
-					};
-					3D31C5E6042EA8D800000000 = {
-						TestTargetID = 3D31C5E6EC64700400000000;
-					};
-					3D31C5E67C4CFB5800000000 = {
-						TestTargetID = 3D31C5E6EC64700400000000;
-					};
-				};
-			};
-			buildConfigurationList = DE4755832C50EFEB00000000 /* Build configuration list for PBXProject "TestSuiteExplicitXCTestsProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E60AB7D76C00000000 /* LogicTest */,
-				3D31C5E6EC64700400000000 /* TestApplication */,
-				3D31C5E6004A74A800000000 /* TestSuite-One-XCTest */,
-				3D31C5E6042EA8D800000000 /* TestSuite-Three-XCTest */,
-				3D31C5E67C4CFB5800000000 /* TestSuite-Two-XCTest */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6D741188E00000000 /* _idx_ApplicationLibrary_12894588_ios_min8.0 */,
-				3D31C5E6F5A547EA00000000 /* _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271684CC92C00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite:TestApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B422717B29D47D00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/One:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B422717B29D47D00000001 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/Two:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B422719344596500000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/Three:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271BCF125E800000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/One:LogicTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947D835DF2200000000 /* XCTest.m in One */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947E8EE103A00000000 /* XCTest.m in Two */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000002 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494730D2727A00000000 /* XCTest.m in Three */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000003 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49478021770E00000000 /* LogicTest.m in One */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000004 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494737CE81F900000000 /* main.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000005 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947D835DF2200000001 /* XCTest.m in One */,
-				E6AF494737CE81F900000001 /* main.m in srcs */,
-				E6AF49478021770E00000001 /* LogicTest.m in One */,
-				E6AF494730D2727A00000001 /* XCTest.m in Three */,
-				E6AF4947E8EE103A00000001 /* XCTest.m in Two */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B42EC64700500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672EC64700500000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/One:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/One;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Two:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Two;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000005 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/One:LogicTest";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests;
-				PRODUCT_NAME = LogicTest;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = TestSuite/One;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000006 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ApplicationLibrary_12894588_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000007 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/One:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/One;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Two:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Two;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000005 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/One:LogicTest";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests;
-				PRODUCT_NAME = LogicTest;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = TestSuite/One;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000006 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ApplicationLibrary_12894588_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000007 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/One:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/One;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Two:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Two;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000004 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000005 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/One:LogicTest";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests;
-				PRODUCT_NAME = LogicTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = TestSuite/One;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/One:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/One;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Two:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Two;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:XCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = XCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000004 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000005 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/One:LogicTest";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests;
-				PRODUCT_NAME = LogicTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = TestSuite/One;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE47558305B5AF7800000000 /* Build configuration list for PBXNativeTarget "TestApplication" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755831AEA36FA00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Two-XCTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755832C50EFEB00000000 /* Build configuration list for PBXProject "TestSuiteExplicitXCTestsProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-				44936BD6C928366700000004 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000004 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558341AF1CEC00000000 /* Build configuration list for PBXNativeTarget "LogicTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000005 /* Debug */,
-				44936BD6A3D45CE900000005 /* Release */,
-				44936BD6C928366700000005 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000005 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755834E80A3C200000000 /* Build configuration list for PBXNativeTarget "TestSuite-Three-XCTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755835B3B019C00000000 /* Build configuration list for PBXNativeTarget "_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000007 /* Debug */,
-				44936BD6A3D45CE900000007 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558391D6432200000000 /* Build configuration list for PBXNativeTarget "TestSuite-One-XCTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583E54EB6BD00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_12894588_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000006 /* Debug */,
-				44936BD6A3D45CE900000006 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EA68854BB100000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/LogicTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/LogicTest.xcscheme
deleted file mode 100644
index 8c18934..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/LogicTest.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E60AB7D76C00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="LogicTest.xctest" BlueprintName="LogicTest" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E60AB7D76C00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="LogicTest.xctest" BlueprintName="LogicTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E60AB7D76C00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="LogicTest.xctest" BlueprintName="LogicTest" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E60AB7D76C00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="LogicTest.xctest" BlueprintName="LogicTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E60AB7D76C00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="LogicTest.xctest" BlueprintName="LogicTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
deleted file mode 100644
index b28b60f..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
+++ /dev/null
@@ -1,39 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6004A74A800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67C4CFB5800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6042EA8D800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-One-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-One-XCTest.xcscheme
deleted file mode 100644
index ec4de40..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-One-XCTest.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6004A74A800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6004A74A800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6004A74A800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6004A74A800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6004A74A800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Three-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Three-XCTest.xcscheme
deleted file mode 100644
index 666b2de..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Three-XCTest.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6042EA8D800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6042EA8D800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6042EA8D800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6042EA8D800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6042EA8D800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Two-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Two-XCTest.xcscheme
deleted file mode 100644
index efd9bd6..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Two-XCTest.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E67C4CFB5800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67C4CFB5800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E67C4CFB5800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E67C4CFB5800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E67C4CFB5800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 5ea40df..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,37 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F5A547EA00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a" BlueprintName="_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F5A547EA00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a" BlueprintName="_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F5A547EA00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a" BlueprintName="_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6D741188E00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="lib_idx_ApplicationLibrary_12894588_ios_min8.0.a" BlueprintName="_idx_ApplicationLibrary_12894588_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F5A547EA00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a" BlueprintName="_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F5A547EA00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a" BlueprintName="_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6F5A547EA00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0.a" BlueprintName="_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_0F4BF70A_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/explicit_XCTests_Suite.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/explicit_XCTests_Suite.xcscheme
deleted file mode 100644
index 14eaddd..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/explicit_XCTests_Suite.xcscheme
+++ /dev/null
@@ -1,42 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67C4CFB5800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E60AB7D76C00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="LogicTest.xctest" BlueprintName="LogicTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6004A74A800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6042EA8D800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 39776d9..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>LogicTest.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>TestApplication.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>TestSuite-One-XCTest.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>TestSuite-Three-XCTest.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>TestSuite-Two-XCTest.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-		<key>explicit_XCTests_Suite.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 2ec157b..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,776 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF494737CE81F900000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2837CE81F900000000 /* main.m */; };
-		E6AF494737CE81F900000001 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2837CE81F900000000 /* main.m */; };
-		E6AF4947E1F52E9200000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */; };
-		E6AF4947E1F52E9200000001 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAF670C7F700000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-		81936672EC64700500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EAF670C7F700000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6EC64700400000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_12894588_ios_min8.0.a; path = lib_idx_ApplicationLibrary_12894588_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C2837CE81F900000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; };
-		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; };
-		43D68C28DF04E59200000000 /* lib_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0.a; path = lib_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */,
-				43D68C28DF04E59200000000 /* lib_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C285A2F8B6E00000000 /* TestApplication.app */,
-				43D68C28A6179FCA00000000 /* TestSuiteXCTest.xctest */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2837CE81F900000000 /* main.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE97D5C89200000001 /* TestSuite */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE97D5C89200000000 /* TestSuite */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE97D5C89200000000 /* TestSuite */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */,
-				43D68C28791AEFD000000000 /* TestSuiteXCTest_test_bundle-Info-binary.plist */,
-			);
-			name = TestSuite;
-			sourceTree = "<group>";
-		};
-		966FB6DE97D5C89200000001 /* TestSuite */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEB58A255E00000000 /* Application */,
-				43D68C28588752AD00000000 /* BUILD */,
-				43D68C2864939ADF00000000 /* Info.plist */,
-				966FB6DE97D5C89200000002 /* TestSuite */,
-			);
-			name = TestSuite;
-			sourceTree = "<group>";
-		};
-		966FB6DE97D5C89200000002 /* TestSuite */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */,
-			);
-			name = TestSuite;
-			sourceTree = "<group>";
-		};
-		966FB6DEB58A255E00000000 /* Application */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = Application;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E609A5E3F800000000 /* _idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583BB458AD300000000 /* Build configuration list for PBXNativeTarget "_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0" */;
-			buildPhases = (
-				605793E20000000000000002 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0;
-			productName = _idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0;
-			productReference = 43D68C28DF04E59200000000 /* lib_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6420BCBAA00000000 /* TestSuiteXCTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558395C0260B00000000 /* Build configuration list for PBXNativeTarget "TestSuiteXCTest" */;
-			buildPhases = (
-				84B42271684CC92C00000000 /* ShellScript */,
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42EC64700500000000 /* PBXTargetDependency */,
-			);
-			name = TestSuiteXCTest;
-			productName = TestSuiteXCTest;
-			productReference = 43D68C28A6179FCA00000000 /* TestSuiteXCTest.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E6D741188E00000000 /* _idx_ApplicationLibrary_12894588_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583E54EB6BD00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_12894588_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_ApplicationLibrary_12894588_ios_min8.0;
-			productName = _idx_ApplicationLibrary_12894588_ios_min8.0;
-			productReference = 43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6EC64700400000000 /* TestApplication */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558305B5AF7800000000 /* Build configuration list for PBXNativeTarget "TestApplication" */;
-			buildPhases = (
-				84B42271684CC92C00000001 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = TestApplication;
-			productName = TestApplication;
-			productReference = 43D68C285A2F8B6E00000000 /* TestApplication.app */;
-			productType = "com.apple.product-type.application";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EAF670C7F700000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-				TargetAttributes = {
-					3D31C5E6420BCBAA00000000 = {
-						TestTargetID = 3D31C5E6EC64700400000000;
-					};
-				};
-			};
-			buildConfigurationList = DE475583A9DA720400000000 /* Build configuration list for PBXProject "TestSuiteLocalTaggedTestsProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E6EC64700400000000 /* TestApplication */,
-				3D31C5E6420BCBAA00000000 /* TestSuiteXCTest */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6D741188E00000000 /* _idx_ApplicationLibrary_12894588_ios_min8.0 */,
-				3D31C5E609A5E3F800000000 /* _idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271684CC92C00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite:TestSuiteXCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271684CC92C00000001 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite:TestApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947E1F52E9200000000 /* TestSuiteXCTest.m in TestSuite */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494737CE81F900000000 /* main.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000002 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947E1F52E9200000001 /* TestSuiteXCTest.m in TestSuite */,
-				E6AF494737CE81F900000001 /* main.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B42EC64700500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672EC64700500000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = TestSuiteXCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = TestSuiteLocalTaggedTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ApplicationLibrary_12894588_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = _idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = TestSuiteXCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = TestSuiteLocalTaggedTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ApplicationLibrary_12894588_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = _idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = TestSuiteXCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = TestSuiteLocalTaggedTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = TestSuiteXCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = TestSuiteLocalTaggedTestsProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE47558305B5AF7800000000 /* Build configuration list for PBXNativeTarget "TestApplication" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558395C0260B00000000 /* Build configuration list for PBXNativeTarget "TestSuiteXCTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583A9DA720400000000 /* Build configuration list for PBXProject "TestSuiteLocalTaggedTestsProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583BB458AD300000000 /* Build configuration list for PBXNativeTarget "_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583E54EB6BD00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_12894588_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EAF670C7F700000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
deleted file mode 100644
index 95bb4b1..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuiteXCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuiteXCTest.xcscheme
deleted file mode 100644
index 2624aaf..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuiteXCTest.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 646bf2b..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,28 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6D741188E00000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="lib_idx_ApplicationLibrary_12894588_ios_min8.0.a" BlueprintName="_idx_ApplicationLibrary_12894588_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E609A5E3F800000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="lib_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0.a" BlueprintName="_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E609A5E3F800000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="lib_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0.a" BlueprintName="_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E609A5E3F800000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="lib_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0.a" BlueprintName="_idx_TestSuiteXCTestLib_ApplicationLibrary_96607F05_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/local_tagged_tests_Suite.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/local_tagged_tests_Suite.xcscheme
deleted file mode 100644
index 482c5c0..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcshareddata/xcschemes/local_tagged_tests_Suite.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteLocalTaggedTestsProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index faf5c47..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>TestApplication.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>TestSuiteXCTest.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-		<key>local_tagged_tests_Suite.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 0ed17d1..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,1120 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF4947203681C000000000 /* tagged_xctest_2.m in Three */ = {isa = PBXBuildFile; fileRef = 43D68C28203681C000000000 /* tagged_xctest_2.m */; };
-		E6AF4947203681C000000001 /* tagged_xctest_2.m in Three */ = {isa = PBXBuildFile; fileRef = 43D68C28203681C000000000 /* tagged_xctest_2.m */; };
-		E6AF494728386DC200000000 /* tagged_xctest_1.m in Three */ = {isa = PBXBuildFile; fileRef = 43D68C2828386DC200000000 /* tagged_xctest_1.m */; };
-		E6AF494728386DC200000001 /* tagged_xctest_1.m in Three */ = {isa = PBXBuildFile; fileRef = 43D68C2828386DC200000000 /* tagged_xctest_1.m */; };
-		E6AF494737CE81F900000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2837CE81F900000000 /* main.m */; };
-		E6AF494737CE81F900000001 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2837CE81F900000000 /* main.m */; };
-		E6AF4947E1F52E9200000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */; };
-		E6AF4947E1F52E9200000001 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EADCACBA3800000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-		81936672EC64700500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EADCACBA3800000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6EC64700400000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		43D68C280514D6D800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = "<group>"; };
-		43D68C28203681C000000000 /* tagged_xctest_2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_2.m; path = "tulsi-workspace/TestSuite/Three/tagged_xctest_2.m"; sourceTree = "<group>"; };
-		43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_12894588_ios_min8.0.a; path = lib_idx_ApplicationLibrary_12894588_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C2828386DC200000000 /* tagged_xctest_1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_1.m; path = "tulsi-workspace/TestSuite/Three/tagged_xctest_1.m"; sourceTree = "<group>"; };
-		43D68C282CFB11EE00000000 /* tagged_xctest_2.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_2.xctest; path = tagged_xctest_2.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C2837CE81F900000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; };
-		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>"; };
-		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>"; };
-		43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = "<group>"; };
-		43D68C28E74022DC00000000 /* lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a; path = lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXGroup section */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */,
-				43D68C28E74022DC00000000 /* lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		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 */,
-			);
-			name = Three;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C285A2F8B6E00000000 /* TestApplication.app */,
-				43D68C28A6179FCA00000000 /* TestSuiteXCTest.xctest */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-				43D68C28672DE3E800000000 /* tagged_xctest_1.xctest */,
-				43D68C282CFB11EE00000000 /* tagged_xctest_2.xctest */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2837CE81F900000000 /* main.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE97D5C89200000001 /* TestSuite */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE97D5C89200000000 /* TestSuite */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE97D5C89200000000 /* TestSuite */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28A4CA799E00000000 /* TestApplication-Info-binary.plist */,
-				43D68C28791AEFD000000000 /* TestSuiteXCTest_test_bundle-Info-binary.plist */,
-				966FB6DE2008A7BC00000000 /* Three */,
-			);
-			name = TestSuite;
-			sourceTree = "<group>";
-		};
-		966FB6DE97D5C89200000001 /* TestSuite */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEB58A255E00000000 /* Application */,
-				43D68C28588752AD00000000 /* BUILD */,
-				43D68C2864939ADF00000000 /* Info.plist */,
-				966FB6DE97D5C89200000002 /* TestSuite */,
-				966FB6DE2008A7BC00000001 /* Three */,
-			);
-			name = TestSuite;
-			sourceTree = "<group>";
-		};
-		966FB6DE97D5C89200000002 /* TestSuite */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28E1F52E9200000000 /* TestSuiteXCTest.m */,
-			);
-			name = TestSuite;
-			sourceTree = "<group>";
-		};
-		966FB6DEB58A255E00000000 /* Application */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = Application;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E6420BCBAA00000000 /* TestSuiteXCTest */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558395C0260B00000000 /* Build configuration list for PBXNativeTarget "TestSuiteXCTest" */;
-			buildPhases = (
-				84B42271684CC92C00000000 /* ShellScript */,
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42EC64700500000000 /* PBXTargetDependency */,
-			);
-			name = TestSuiteXCTest;
-			productName = TestSuiteXCTest;
-			productReference = 43D68C28A6179FCA00000000 /* TestSuiteXCTest.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E67E0C424E00000000 /* tagged_xctest_2 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583CC86731D00000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_2" */;
-			buildPhases = (
-				84B42271A3C744F300000000 /* ShellScript */,
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42EC64700500000000 /* PBXTargetDependency */,
-			);
-			name = tagged_xctest_2;
-			productName = tagged_xctest_2;
-			productReference = 43D68C282CFB11EE00000000 /* tagged_xctest_2.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E67E0D424800000000 /* tagged_xctest_1 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755838C86721A00000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_1" */;
-			buildPhases = (
-				84B42271A3C744F300000001 /* ShellScript */,
-				605793E20000000000000002 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42EC64700500000000 /* PBXTargetDependency */,
-			);
-			name = tagged_xctest_1;
-			productName = tagged_xctest_1;
-			productReference = 43D68C28672DE3E800000000 /* tagged_xctest_1.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		3D31C5E69EC2AF4A00000000 /* _idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558357DD019300000000 /* Build configuration list for PBXNativeTarget "_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0" */;
-			buildPhases = (
-				605793E20000000000000004 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0;
-			productName = _idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0;
-			productReference = 43D68C28E74022DC00000000 /* lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6D741188E00000000 /* _idx_ApplicationLibrary_12894588_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583E54EB6BD00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_12894588_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000003 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_ApplicationLibrary_12894588_ios_min8.0;
-			productName = _idx_ApplicationLibrary_12894588_ios_min8.0;
-			productReference = 43D68C2826E34A2000000000 /* lib_idx_ApplicationLibrary_12894588_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6EC64700400000000 /* TestApplication */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE47558305B5AF7800000000 /* Build configuration list for PBXNativeTarget "TestApplication" */;
-			buildPhases = (
-				84B42271684CC92C00000001 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = TestApplication;
-			productName = TestApplication;
-			productReference = 43D68C285A2F8B6E00000000 /* TestApplication.app */;
-			productType = "com.apple.product-type.application";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EADCACBA3800000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-				TargetAttributes = {
-					3D31C5E6420BCBAA00000000 = {
-						TestTargetID = 3D31C5E6EC64700400000000;
-					};
-					3D31C5E67E0C424E00000000 = {
-						TestTargetID = 3D31C5E6EC64700400000000;
-					};
-					3D31C5E67E0D424800000000 = {
-						TestTargetID = 3D31C5E6EC64700400000000;
-					};
-				};
-			};
-			buildConfigurationList = DE4755833C2D621E00000000 /* Build configuration list for PBXProject "TestSuiteRecursiveTestSuiteProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E6EC64700400000000 /* TestApplication */,
-				3D31C5E6420BCBAA00000000 /* TestSuiteXCTest */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6D741188E00000000 /* _idx_ApplicationLibrary_12894588_ios_min8.0 */,
-				3D31C5E69EC2AF4A00000000 /* _idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0 */,
-				3D31C5E67E0D424800000000 /* tagged_xctest_1 */,
-				3D31C5E67E0C424E00000000 /* tagged_xctest_2 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271684CC92C00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite:TestSuiteXCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271684CC92C00000001 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite:TestApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271A3C744F300000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/Three:tagged_xctest_2 --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271A3C744F300000001 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/Three:tagged_xctest_1 --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947E1F52E9200000000 /* TestSuiteXCTest.m in TestSuite */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947203681C000000000 /* tagged_xctest_2.m in Three */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000002 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494728386DC200000000 /* tagged_xctest_1.m in Three */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000003 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF494737CE81F900000000 /* main.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000004 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF4947203681C000000001 /* tagged_xctest_2.m in Three */,
-				E6AF494737CE81F900000001 /* main.m in srcs */,
-				E6AF4947E1F52E9200000001 /* TestSuiteXCTest.m in TestSuite */,
-				E6AF494728386DC200000001 /* tagged_xctest_1.m in Three */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B42EC64700500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672EC64700500000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = TestSuiteXCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_2";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = tagged_xctest_2;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_1";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = tagged_xctest_1;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000005 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ApplicationLibrary_12894588_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000006 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = _idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = TestSuiteXCTest;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_2";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = tagged_xctest_2;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_1";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = tagged_xctest_1;
-				SDKROOT = iphoneos;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000005 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ApplicationLibrary_12894588_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000006 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = _idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = TestSuiteXCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_2";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = tagged_xctest_2;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_1";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = tagged_xctest_1;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000004 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = TestSuiteXCTest;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite:TestApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
-				PRODUCT_NAME = TestApplication;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = TestSuite;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_2";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = tagged_xctest_2;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_1";
-				BUNDLE_LOADER = "$(TEST_HOST)";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
-				PRODUCT_NAME = tagged_xctest_1;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
-				TULSI_BUILD_PATH = TestSuite/Three;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				TULSI_TEST_RUNNER_ONLY = YES;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000004 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE47558305B5AF7800000000 /* Build configuration list for PBXNativeTarget "TestApplication" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755833C2D621E00000000 /* Build configuration list for PBXProject "TestSuiteRecursiveTestSuiteProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-				44936BD6C928366700000004 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000004 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558357DD019300000000 /* Build configuration list for PBXNativeTarget "_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000006 /* Debug */,
-				44936BD6A3D45CE900000006 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755838C86721A00000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_1" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE47558395C0260B00000000 /* Build configuration list for PBXNativeTarget "TestSuiteXCTest" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CC86731D00000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_2" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583E54EB6BD00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_12894588_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000005 /* Debug */,
-				44936BD6A3D45CE900000005 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EADCACBA3800000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
deleted file mode 100644
index 90b80e0..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
+++ /dev/null
@@ -1,39 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0C424E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BlueprintName="tagged_xctest_2" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0D424800000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BlueprintName="tagged_xctest_1" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestSuiteXCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestSuiteXCTest.xcscheme
deleted file mode 100644
index 78313b4..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestSuiteXCTest.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index c7ba43e..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,34 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6D741188E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="lib_idx_ApplicationLibrary_12894588_ios_min8.0.a" BlueprintName="_idx_ApplicationLibrary_12894588_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E69EC2AF4A00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a" BlueprintName="_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E69EC2AF4A00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a" BlueprintName="_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E69EC2AF4A00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a" BlueprintName="_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E69EC2AF4A00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a" BlueprintName="_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E69EC2AF4A00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0.a" BlueprintName="_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_345F39DA_ios_min7.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/recursive_test_suite_Suite.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/recursive_test_suite_Suite.xcscheme
deleted file mode 100644
index 07aea36..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/recursive_test_suite_Suite.xcscheme
+++ /dev/null
@@ -1,39 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0C424E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BlueprintName="tagged_xctest_2" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E6420BCBAA00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BlueprintName="TestSuiteXCTest" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0D424800000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BlueprintName="tagged_xctest_1" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_tests_Suite.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_tests_Suite.xcscheme
deleted file mode 100644
index 55db25c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_tests_Suite.xcscheme
+++ /dev/null
@@ -1,36 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0C424E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BlueprintName="tagged_xctest_2" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0D424800000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BlueprintName="tagged_xctest_1" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6EC64700400000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestApplication.app" BlueprintName="TestApplication" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_xctest_1.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_xctest_1.xcscheme
deleted file mode 100644
index 1c5bf77..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_xctest_1.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0D424800000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BlueprintName="tagged_xctest_1" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0D424800000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BlueprintName="tagged_xctest_1" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E67E0D424800000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BlueprintName="tagged_xctest_1" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E67E0D424800000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BlueprintName="tagged_xctest_1" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E67E0D424800000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BlueprintName="tagged_xctest_1" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_xctest_2.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_xctest_2.xcscheme
deleted file mode 100644
index 22a47eb..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/tagged_xctest_2.xcscheme
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0C424E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BlueprintName="tagged_xctest_2" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables>
-            <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="3D31C5E67E0C424E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BlueprintName="tagged_xctest_2" BuildableIdentifier="primary"></BuildableReference>
-            </TestableReference>
-        </Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E67E0C424E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BlueprintName="tagged_xctest_2" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E67E0C424E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BlueprintName="tagged_xctest_2" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <MacroExpansion>
-            <BuildableReference BlueprintIdentifier="3D31C5E67E0C424E00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BlueprintName="tagged_xctest_2" BuildableIdentifier="primary"></BuildableReference>
-        </MacroExpansion>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 62acbbe..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>TestApplication.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>TestSuiteXCTest.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-		<key>recursive_test_suite_Suite.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>tagged_tests_Suite.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>tagged_xctest_1.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>tagged_xctest_2.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj
deleted file mode 100644
index 276f4b3..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,932 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		E6AF49473FF4EFB600000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C283FF4EFB600000000 /* main.m */; };
-		E6AF49479ECDDEA400000000 /* watch2_extension_binary.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C289ECDDEA400000000 /* watch2_extension_binary.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		819366726921D83500000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA5BD6CCFB00000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = ECCC95946921D83400000000;
-		};
-		81936672CD47F3C700000000 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 7E7BD0EA5BD6CCFB00000000 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 3D31C5E6CD47F3C600000000;
-		};
-/* End PBXContainerItemProxy section */
-
-/* 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>"; };
-		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; };
-		43D68C285B0DEC7800000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_watch/Application/entitlements.entitlements"; sourceTree = "<group>"; };
-		43D68C285F5DD83400000000 /* lib_idx_WatchExtensionLibrary_6997976B_watchos_min3.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_WatchExtensionLibrary_6997976B_watchos_min3.0.a; path = lib_idx_WatchExtensionLibrary_6997976B_watchos_min3.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		43D68C289E265EE800000000 /* ext_structured_resources.file */ = {isa = PBXFileReference; lastKnownFileType = dyn.age80q4pqqy; name = ext_structured_resources.file; path = "tulsi-workspace/tulsi_e2e_watch/Watch2Extension/ext_structured_resources.file"; sourceTree = "<group>"; };
-		43D68C289ECDDEA400000000 /* watch2_extension_binary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = watch2_extension_binary.m; path = "tulsi-workspace/tulsi_e2e_watch/Watch2ExtensionBinary/srcs/watch2_extension_binary.m"; sourceTree = "<group>"; };
-		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 */
-		966FB6DE0562C2F700000000 /* Indexer */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2858A082E200000000 /* lib_idx_ApplicationLibrary_06BBE256_ios_min8.0.a */,
-				43D68C285F5DD83400000000 /* lib_idx_WatchExtensionLibrary_6997976B_watchos_min3.0.a */,
-			);
-			name = Indexer;
-			sourceTree = "<group>";
-		};
-		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000000 /* x */,
-			);
-			name = "_tulsi-includes";
-			sourceTree = "<group>";
-		};
-		966FB6DE099EE73000000000 /* tulsi_e2e_watch */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28FD56830000000000 /* Application-Info-binary.plist */,
-				43D68C284A8D2A4000000000 /* WatchApplication-Info-binary.plist */,
-				43D68C28C70540DD00000000 /* WatchExtension-Info-binary.plist */,
-			);
-			name = tulsi_e2e_watch;
-			sourceTree = "<group>";
-		};
-		966FB6DE099EE73000000001 /* tulsi_e2e_watch */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DEB58A255E00000000 /* Application */,
-				43D68C2849C0CECB00000000 /* BUILD */,
-				966FB6DE94E444FD00000000 /* Library */,
-				966FB6DE0C67C7D400000000 /* Watch2Extension */,
-				966FB6DEB5D4FA4100000000 /* Watch2ExtensionBinary */,
-			);
-			name = tulsi_e2e_watch;
-			sourceTree = "<group>";
-		};
-		966FB6DE0C67C7D400000000 /* Watch2Extension */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C2806CBDC2C00000000 /* Interface.storyboard */,
-				966FB6DE998D7AD800000000 /* app_infoplists */,
-				43D68C28EFD4953600000000 /* ext_entitlements.entitlements */,
-				966FB6DEB9A4BB2800000000 /* ext_infoplists */,
-				43D68C283686445A00000000 /* ext_resources.file */,
-				43D68C289E265EE800000000 /* ext_structured_resources.file */,
-			);
-			name = Watch2Extension;
-			sourceTree = "<group>";
-		};
-		966FB6DE2BD1037D00000000 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28F49055A600000000 /* Application.app */,
-				966FB6DE0562C2F700000000 /* Indexer */,
-				43D68C284E902D9E00000000 /* WatchApplication.app */,
-				43D68C28BBC8EE6A00000000 /* WatchExtension.appex */,
-				966FB6DE07201E0200000000 /* _tulsi-includes */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000000 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C283FF4EFB600000000 /* main.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE5B9D018E00000001 /* srcs */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C289ECDDEA400000000 /* watch2_extension_binary.m */,
-			);
-			name = srcs;
-			sourceTree = "<group>";
-		};
-		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE2BD1037D00000000 /* Products */,
-				966FB6DE099EE73000000001 /* tulsi_e2e_watch */,
-			);
-			name = mainGroup;
-			path = ..;
-			sourceTree = SOURCE_ROOT;
-		};
-		966FB6DE88DDC84A00000000 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE88DDC84A00000001 /* x */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE88DDC84A00000001 /* x */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE099EE73000000000 /* tulsi_e2e_watch */,
-			);
-			name = x;
-			sourceTree = "<group>";
-		};
-		966FB6DE94E444FD00000000 /* Library */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000000 /* srcs */,
-			);
-			name = Library;
-			sourceTree = "<group>";
-		};
-		966FB6DE998D7AD800000000 /* app_infoplists */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C284AC8D59B00000000 /* Info.plist */,
-			);
-			name = app_infoplists;
-			sourceTree = "<group>";
-		};
-		966FB6DEB58A255E00000000 /* Application */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28AFD9A63E00000000 /* Info.plist */,
-				43D68C285B0DEC7800000000 /* entitlements.entitlements */,
-				43D68C28B713E4AE00000000 /* structured_resources.file1 */,
-			);
-			name = Application;
-			sourceTree = "<group>";
-		};
-		966FB6DEB5D4FA4100000000 /* Watch2ExtensionBinary */ = {
-			isa = PBXGroup;
-			children = (
-				966FB6DE5B9D018E00000001 /* srcs */,
-			);
-			name = Watch2ExtensionBinary;
-			sourceTree = "<group>";
-		};
-		966FB6DEB9A4BB2800000000 /* ext_infoplists */ = {
-			isa = PBXGroup;
-			children = (
-				43D68C28FC1765AB00000000 /* Info.plist */,
-			);
-			name = ext_infoplists;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXLegacyTarget section */
-		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
-			isa = PBXLegacyTarget;
-			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
-			buildConfigurationList = DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
-			buildPhases = (
-			);
-			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
-			buildWorkingDirectory = "${SRCROOT}/..";
-			dependencies = (
-			);
-			name = _bazel_clean_;
-			passBuildSettingsInEnvironment = 1;
-			productName = _bazel_clean_;
-		};
-/* End PBXLegacyTarget section */
-
-/* Begin PBXNativeTarget section */
-		3D31C5E6074E6CA200000000 /* _idx_WatchExtensionLibrary_6997976B_watchos_min3.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583A15A0B8900000000 /* Build configuration list for PBXNativeTarget "_idx_WatchExtensionLibrary_6997976B_watchos_min3.0" */;
-			buildPhases = (
-				605793E20000000000000001 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_WatchExtensionLibrary_6997976B_watchos_min3.0;
-			productName = _idx_WatchExtensionLibrary_6997976B_watchos_min3.0;
-			productReference = 43D68C285F5DD83400000000 /* lib_idx_WatchExtensionLibrary_6997976B_watchos_min3.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E61E7C5AB400000000 /* WatchApplication */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755834598A69000000000 /* Build configuration list for PBXNativeTarget "WatchApplication" */;
-			buildPhases = (
-				84B42271545DD03100000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-				4DAD0B42CD47F3C700000000 /* PBXTargetDependency */,
-			);
-			name = WatchApplication;
-			productName = WatchApplication;
-			productReference = 43D68C284E902D9E00000000 /* WatchApplication.app */;
-			productType = "com.apple.product-type.application.watchapp2";
-		};
-		3D31C5E66B144ABC00000000 /* Application */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */;
-			buildPhases = (
-				84B422717004956B00000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = Application;
-			productName = Application;
-			productReference = 43D68C28F49055A600000000 /* Application.app */;
-			productType = "com.apple.product-type.application";
-		};
-		3D31C5E6C6B1A54800000000 /* _idx_ApplicationLibrary_06BBE256_ios_min8.0 */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE475583998DB39A00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_06BBE256_ios_min8.0" */;
-			buildPhases = (
-				605793E20000000000000000 /* Sources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = _idx_ApplicationLibrary_06BBE256_ios_min8.0;
-			productName = _idx_ApplicationLibrary_06BBE256_ios_min8.0;
-			productReference = 43D68C2858A082E200000000 /* lib_idx_ApplicationLibrary_06BBE256_ios_min8.0.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-		3D31C5E6CD47F3C600000000 /* WatchExtension */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = DE4755830DB9CDD900000000 /* Build configuration list for PBXNativeTarget "WatchExtension" */;
-			buildPhases = (
-				84B42271A7D2E4F400000000 /* ShellScript */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				4DAD0B426921D83500000000 /* PBXTargetDependency */,
-			);
-			name = WatchExtension;
-			productName = WatchExtension;
-			productReference = 43D68C28BBC8EE6A00000000 /* WatchExtension.appex */;
-			productType = "com.apple.product-type.watchkit2-extension";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		7E7BD0EA5BD6CCFB00000000 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastSwiftUpdateCheck = 0710;
-				LastUpgradeCheck = 0900;
-			};
-			buildConfigurationList = DE475583E3BE2C3500000000 /* Build configuration list for PBXProject "WatchProject" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
-			targets = (
-				3D31C5E66B144ABC00000000 /* Application */,
-				3D31C5E61E7C5AB400000000 /* WatchApplication */,
-				3D31C5E6CD47F3C600000000 /* WatchExtension */,
-				ECCC95946921D83400000000 /* _bazel_clean_ */,
-				3D31C5E6C6B1A54800000000 /* _idx_ApplicationLibrary_06BBE256_ios_min8.0 */,
-				3D31C5E6074E6CA200000000 /* _idx_WatchExtensionLibrary_6997976B_watchos_min3.0 */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		84B42271545DD03100000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_watch:WatchApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B422717004956B00000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_watch:Application --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-		84B42271A7D2E4F400000000 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 0;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_watch:WatchExtension --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_options[Release] --define=TULSI_TEST=rel --workspace_status_command=/usr/bin/true --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
-			showEnvVarsInLog = 1;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		605793E20000000000000000 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49473FF4EFB600000000 /* main.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		605793E20000000000000001 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 0;
-			files = (
-				E6AF49479ECDDEA400000000 /* watch2_extension_binary.m in srcs */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
-		};
-		4DAD0B42CD47F3C700000000 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			targetProxy = 81936672CD47F3C700000000 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		44936BD67EED3C4D00000000 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = WatchProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000001 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000002 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:WatchApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2InfoPlist.plist";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.watch.app.bundle-id";
-				PRODUCT_NAME = WatchApplication;
-				SDKROOT = watchos;
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000003 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:WatchExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2AppExInfoPlist.plist";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.watch.ext.bundle-id";
-				PRODUCT_NAME = WatchExtension;
-				SDKROOT = watchos;
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000004 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ApplicationLibrary_06BBE256_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Debug;
-		};
-		44936BD67EED3C4D00000005 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				PRODUCT_NAME = _idx_WatchExtensionLibrary_6997976B_watchos_min3.0;
-				SDKROOT = watchos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = Debug;
-		};
-		44936BD6A3D45CE900000000 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
-				ONLY_ACTIVE_ARCH = YES;
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = WatchProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000001 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000002 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:WatchApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2InfoPlist.plist";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.watch.app.bundle-id";
-				PRODUCT_NAME = WatchApplication;
-				SDKROOT = watchos;
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000003 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:WatchExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2AppExInfoPlist.plist";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.watch.ext.bundle-id";
-				PRODUCT_NAME = WatchExtension;
-				SDKROOT = watchos;
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000004 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_watch/Library/includes/one/include $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ApplicationLibrary_06BBE256_ios_min8.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-			};
-			name = Release;
-		};
-		44936BD6A3D45CE900000005 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
-				PRODUCT_NAME = _idx_WatchExtensionLibrary_6997976B_watchos_min3.0;
-				SDKROOT = watchos;
-				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = Release;
-		};
-		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_PROJECT = WatchProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:WatchApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2InfoPlist.plist";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.watch.app.bundle-id";
-				PRODUCT_NAME = WatchApplication;
-				SDKROOT = watchos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:WatchExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2AppExInfoPlist.plist";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.watch.ext.bundle-id";
-				PRODUCT_NAME = WatchExtension;
-				SDKROOT = watchos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				CODE_SIGNING_REQUIRED = NO;
-				CODE_SIGN_IDENTITY = "";
-				ENABLE_TESTABILITY = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = "";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PYTHONIOENCODING = utf8;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_DIRECT_DBG_PREFIX_MAP = YES;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_PROJECT = WatchProject;
-				TULSI_VERSION = 9.99.999.9999;
-				TULSI_WR = "${SRCROOT}/..";
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:Application";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
-				PRODUCT_NAME = Application;
-				SDKROOT = iphoneos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:WatchApplication";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2InfoPlist.plist";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.watch.app.bundle-id";
-				PRODUCT_NAME = WatchApplication;
-				SDKROOT = watchos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_watch:WatchExtension";
-				DEBUG_INFORMATION_FORMAT = dwarf;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubWatchOS2AppExInfoPlist.plist";
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "-help";
-				OTHER_LDFLAGS = "-help";
-				OTHER_SWIFT_FLAGS = "-help";
-				PRODUCT_BUNDLE_IDENTIFIER = "application.watch.ext.bundle-id";
-				PRODUCT_NAME = WatchExtension;
-				SDKROOT = watchos;
-				SWIFT_INSTALL_OBJC_HEADER = NO;
-				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TULSI_BUILD_PATH = tulsi_e2e_watch;
-				TULSI_MUST_USE_DSYM = YES;
-				TULSI_SWIFT_DEPENDENCY = NO;
-				WATCHOS_DEPLOYMENT_TARGET = 3.0;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		DE4755830DB9CDD900000000 /* Build configuration list for PBXNativeTarget "WatchExtension" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000003 /* Debug */,
-				44936BD6A3D45CE900000003 /* Release */,
-				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE4755834598A69000000000 /* Build configuration list for PBXNativeTarget "WatchApplication" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000002 /* Debug */,
-				44936BD6A3D45CE900000002 /* Release */,
-				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583998DB39A00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_06BBE256_ios_min8.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000004 /* Debug */,
-				44936BD6A3D45CE900000004 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583A15A0B8900000000 /* Build configuration list for PBXNativeTarget "_idx_WatchExtensionLibrary_6997976B_watchos_min3.0" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000005 /* Debug */,
-				44936BD6A3D45CE900000005 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583E3BE2C3500000000 /* Build configuration list for PBXProject "WatchProject" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000000 /* Debug */,
-				44936BD6A3D45CE900000000 /* Release */,
-				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-		DE475583F843F89400000000 /* Build configuration list for PBXNativeTarget "Application" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				44936BD67EED3C4D00000001 /* Debug */,
-				44936BD6A3D45CE900000001 /* Release */,
-				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
-				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 7E7BD0EA5BD6CCFB00000000 /* Project object */;
-}
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index a3f43a8..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>BuildSystemType</key>
-	<string>Original</string>
-	<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
-	<false/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index 8ab079c..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.xcworkspace/xcuserdata/_TEST_USER_.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IssueFilterStyle</key>
-	<string>ShowAll</string>
-	<key>LiveSourceIssuesEnabled</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
deleted file mode 100644
index 9a71fc5..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/Application.xcscheme
+++ /dev/null
@@ -1,29 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/WatchApplication.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/WatchApplication.xcscheme
deleted file mode 100644
index ed7d860..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/WatchApplication.xcscheme
+++ /dev/null
@@ -1,32 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="NO" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E61E7C5AB400000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchApplication.app" BlueprintName="WatchApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E66B144ABC00000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="Application.app" BlueprintName="Application" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <RemoteRunnable runnableDebuggingMode="2" BundleIdentifier="com.apple.carousel" RemotePath="/WatchApplication">
-            <BuildableReference BlueprintIdentifier="3D31C5E61E7C5AB400000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchApplication.app" BlueprintName="WatchApplication" BuildableIdentifier="primary"></BuildableReference>
-        </RemoteRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <RemoteRunnable runnableDebuggingMode="2" BundleIdentifier="com.apple.carousel" RemotePath="/WatchApplication">
-            <BuildableReference BlueprintIdentifier="3D31C5E61E7C5AB400000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchApplication.app" BlueprintName="WatchApplication" BuildableIdentifier="primary"></BuildableReference>
-        </RemoteRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <RemoteRunnable runnableDebuggingMode="2" BundleIdentifier="com.apple.carousel" RemotePath="/WatchApplication">
-            <BuildableReference BlueprintIdentifier="3D31C5E61E7C5AB400000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchApplication.app" BlueprintName="WatchApplication" BuildableIdentifier="primary"></BuildableReference>
-        </RemoteRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/WatchExtension.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/WatchExtension.xcscheme
deleted file mode 100644
index c6818d6..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/WatchExtension.xcscheme
+++ /dev/null
@@ -1,32 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6CD47F3C600000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchExtension.appex" BlueprintName="WatchExtension" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E61E7C5AB400000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchApplication.app" BlueprintName="WatchApplication" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
-        <Testables></Testables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6CD47F3C600000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchExtension.appex" BlueprintName="WatchExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6CD47F3C600000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchExtension.appex" BlueprintName="WatchExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
-        <BuildableProductRunnable runnableDebuggingMode="0">
-            <BuildableReference BlueprintIdentifier="3D31C5E6CD47F3C600000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="WatchExtension.appex" BlueprintName="WatchExtension" BuildableIdentifier="primary"></BuildableReference>
-        </BuildableProductRunnable>
-    </ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
deleted file mode 100644
index 489399b..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ /dev/null
@@ -1,22 +0,0 @@
-
-<Scheme LastUpgradeVersion="0900" version="1.3">
-    <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
-        <BuildActionEntries>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6074E6CA200000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="lib_idx_WatchExtensionLibrary_6997976B_watchos_min3.0.a" BlueprintName="_idx_WatchExtensionLibrary_6997976B_watchos_min3.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="3D31C5E6C6B1A54800000000" ReferencedContainer="container:WatchProject.xcodeproj" BuildableName="lib_idx_ApplicationLibrary_06BBE256_ios_min8.0.a" BlueprintName="_idx_ApplicationLibrary_06BBE256_ios_min8.0" BuildableIdentifier="primary"></BuildableReference>
-            </BuildActionEntry>
-        </BuildActionEntries>
-    </BuildAction>
-    <TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Debug">
-        <Testables></Testables>
-    </TestAction>
-    <LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" buildConfiguration="Debug" debugServiceExtension="internal" ignoresPersistentStateOnLaunch="NO" useCustomWorkingDirectory="NO" allowLocationSimulation="YES" debugDocumentVersioning="YES">
-        <EnvironmentVariables></EnvironmentVariables>
-    </LaunchAction>
-    <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="Release" debugDocumentVersioning="YES"></ProfileAction>
-    <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
-    <ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
-</Scheme>
\ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 61b0f4a..0000000
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>Application.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>WatchApplication.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>WatchExtension.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<true/>
-		</dict>
-		<key>_idx_Scheme.xcscheme_^#shared#^_</key>
-		<dict>
-			<key>isShown</key>
-			<false/>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict/>
-</dict>
-</plist>
