Update for new rules_swift APIs.

rules_swift has removed `SwiftClangModuleInfo`,
so the modulemaps and C defines are now obtained
from `SwiftInfo` and `CcInfo` respectively.

PiperOrigin-RevId: 247480250
diff --git a/WORKSPACE b/WORKSPACE
index 7988c3d..85b1c03 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 git_repository(
     name = "build_bazel_rules_apple",
     remote = "https://github.com/bazelbuild/rules_apple.git",
-    tag = "0.15.0",
+    tag = "0.16.1",
 )
 
 load(
diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
index 58dab75..471a8b7 100644
--- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
+++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
@@ -23,7 +23,6 @@
     "AppleBundleInfo",
     "AppleTestInfo",
     "IosExtensionBundleInfo",
-    "SwiftClangModuleInfo",
     "SwiftInfo",
 )
 load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain")
@@ -627,8 +626,8 @@
             depsets.append(objc.module_map)
 
         for dep in _collect_dependencies(rule_attr, "deps"):
-            if SwiftClangModuleInfo in dep:
-                module_info = dep[SwiftClangModuleInfo]
+            if SwiftInfo in dep:
+                module_info = dep[SwiftInfo]
                 if hasattr(module_info, "transitive_modulemaps"):
                     depsets.append(module_info.transitive_modulemaps)
         return depset(transitive = depsets)
@@ -638,10 +637,9 @@
     """Returns a depset of C-compiler defines."""
     depsets = [objc_provider.define] if objc_provider else []
     for dep in _collect_dependencies(rule_attr, "deps"):
-        if SwiftClangModuleInfo in dep:
-            module_info = dep[SwiftClangModuleInfo]
-            if hasattr(module_info, "transitive_defines"):
-                depsets.append(module_info.transitive_defines)
+        if CcInfo in dep:
+            compilation_context = dep[CcInfo].compilation_context
+            depsets.append(compilation_context.defines)
     return depset(transitive = depsets)
 
 # TODO(b/64490743): Add these files to the Xcode project.
diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects_paths.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects_paths.bzl
index 706591f..a79a7c5 100644
--- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects_paths.bzl
+++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects_paths.bzl
@@ -28,7 +28,6 @@
 )
 load(
     "@build_bazel_rules_swift//swift:swift.bzl",
-    _SwiftClangModuleInfo = "SwiftClangModuleInfo",
     _SwiftInfo = "SwiftInfo",
 )
 
@@ -39,6 +38,4 @@
 
 IosExtensionBundleInfo = _IosExtensionBundleInfo
 
-SwiftClangModuleInfo = _SwiftClangModuleInfo
-
 SwiftInfo = _SwiftInfo
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
index 4e79fc9..48f0ea7 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
@@ -102,6 +102,7 @@
 		25889F7C52C027AF00000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src4.m"; sourceTree = "<group>"; };
 		25889F7C54F2E63700000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_complex/BUILD; sourceTree = "<group>"; };
 		25889F7C55B4D94500000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src3.m"; sourceTree = "<group>"; };
+		25889F7C5E50914A00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_complex/XCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C5F03A4CF00000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_complex/Library/srcs/SrcsHeader.h"; sourceTree = "<group>"; };
 		25889F7C631271AE00000000 /* file1 */ = {isa = PBXFileReference; lastKnownFileType = text; name = file1; path = "tulsi-workspace/tulsi_e2e_complex/TodayExtension/resources/file1"; sourceTree = "<group>"; };
 		25889F7C635C5F3A00000000 /* lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a; path = lib_idx_SubLibraryWithIdenticalDefines_SubLibraryWithDefines_3CB291AA_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -115,7 +116,6 @@
 		25889F7CB097D0E400000000 /* input.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = input.m; path = "tulsi-workspace/tulsi_e2e_complex/SrcGenerator/srcs/input.m"; sourceTree = "<group>"; };
 		25889F7CB225790200000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_complex/Application/srcs/main.m"; sourceTree = "<group>"; };
 		25889F7CB778F33400000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_complex/LibrarySources/srcs/src2.m"; sourceTree = "<group>"; };
-		25889F7CBACA2BA600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_complex/XCTest_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CBC55BF9A00000000 /* lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a; path = lib_idx_ApplicationLibrary_3EA018EE_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7CBD70A62600000000 /* AnotherPCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AnotherPCHFile.pch; path = "tulsi-workspace/tulsi_e2e_complex/SubLibrary/pch/AnotherPCHFile.pch"; sourceTree = "<group>"; };
 		25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -227,6 +227,14 @@
 			name = ObjCFramework;
 			sourceTree = "<group>";
 		};
+		45D0562979F3F88D00000000 /* XCTest-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7C5E50914A00000000 /* Info.plist */,
+			);
+			name = "XCTest-intermediates";
+			sourceTree = "<group>";
+		};
 		45D056298928A9C900000000 /* resources */ = {
 			isa = PBXGroup;
 			children = (
@@ -241,7 +249,7 @@
 			children = (
 				45D05629BBA58A3000000000 /* Application-intermediates */,
 				45D0562943A1317500000000 /* TodayExtension-intermediates */,
-				45D05629F032CFBE00000000 /* XCTest_test_bundle-intermediates */,
+				45D0562979F3F88D00000000 /* XCTest-intermediates */,
 			);
 			name = tulsi_e2e_complex;
 			sourceTree = "<group>";
@@ -440,14 +448,6 @@
 			name = SubLibraryWithIdenticalDefines;
 			sourceTree = "<group>";
 		};
-		45D05629F032CFBE00000000 /* XCTest_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7CBACA2BA600000000 /* Info.plist */,
-			);
-			name = "XCTest_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
 		45D05629F6FDB1D000000000 /* TodayExtension */ = {
 			isa = PBXGroup;
 			children = (
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
index a553c40..49fdec3 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
@@ -35,18 +35,17 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
-		25889F7C050B686200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UnitTestsNoHost_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C0B8893FD00000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = "<group>"; };
 		25889F7C13A3ADB400000000 /* UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UITests.xctest; path = UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = "<group>"; };
 		25889F7C1D215DBF00000000 /* 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>"; };
 		25889F7C1DF2978800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/Info.plist"; sourceTree = "<group>"; };
 		25889F7C2659003900000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = "<group>"; };
-		25889F7C2C79AB9200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UnitTests_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C2FDF604B00000000 /* UnitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTests.m"; sourceTree = "<group>"; };
 		25889F7C434F672400000000 /* 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>"; };
 		25889F7C4CA0295900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C59FF2E4A00000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = "<group>"; };
+		25889F7C5ADEA42500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UnitTests-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C733E1DFE00000000 /* lib_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13.a; path = lib_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C7CBFB06500000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = "<group>"; };
 		25889F7C8363577600000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = "<group>"; };
@@ -55,9 +54,10 @@
 		25889F7C89A6486800000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = "<group>"; };
 		25889F7C8BF96B6600000000 /* UITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UITests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UITests.m"; sourceTree = "<group>"; };
 		25889F7CB053494A00000000 /* MyMacOSApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = MyMacOSApp.app; path = MyMacOSApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		25889F7CBAD2DD0600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UITests_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CBE1ACDB100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_mac/src/main.m"; sourceTree = "<group>"; };
 		25889F7CC867E1F300000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = "<group>"; };
+		25889F7CC906726900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UITests-intermediates/Info.plist"; sourceTree = "<group>"; };
+		25889F7CCD5B2C9400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UnitTestsNoHost-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTestsNoHost.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTestsNoHost.m"; sourceTree = "<group>"; };
 		25889F7CEAD580F400000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_mac/BUILD; sourceTree = "<group>"; };
 		25889F7CEF58351100000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "tulsi-workspace/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = "<group>"; };
@@ -65,14 +65,6 @@
 /* End PBXFileReference section */
 
 /* Begin PBXGroup section */
-		45D0562906CD3B2400000000 /* UnitTests_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7C2C79AB9200000000 /* Info.plist */,
-			);
-			name = "UnitTests_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
 		45D056291BF813BD00000000 /* Products */ = {
 			isa = PBXGroup;
 			children = (
@@ -129,6 +121,14 @@
 			name = x;
 			sourceTree = "<group>";
 		};
+		45D056293C017A9100000000 /* UnitTestsNoHost-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7CCD5B2C9400000000 /* Info.plist */,
+			);
+			name = "UnitTestsNoHost-intermediates";
+			sourceTree = "<group>";
+		};
 		45D056293D848C8300000000 /* today */ = {
 			isa = PBXGroup;
 			children = (
@@ -188,12 +188,12 @@
 			name = "MyMacOSApp-intermediates";
 			sourceTree = "<group>";
 		};
-		45D05629AE2DF71800000000 /* UnitTestsNoHost_test_bundle-intermediates */ = {
+		45D05629A370188800000000 /* UnitTests-intermediates */ = {
 			isa = PBXGroup;
 			children = (
-				25889F7C050B686200000000 /* Info.plist */,
+				25889F7C5ADEA42500000000 /* Info.plist */,
 			);
-			name = "UnitTestsNoHost_test_bundle-intermediates";
+			name = "UnitTests-intermediates";
 			sourceTree = "<group>";
 		};
 		45D05629B56AD7F200000000 /* mainGroup */ = {
@@ -206,14 +206,6 @@
 			path = ..;
 			sourceTree = SOURCE_ROOT;
 		};
-		45D05629BDC4481300000000 /* UITests_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7CBAD2DD0600000000 /* Info.plist */,
-			);
-			name = "UITests_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
 		45D05629C0087DBE00000000 /* Indexer */ = {
 			isa = PBXGroup;
 			children = (
@@ -226,9 +218,9 @@
 			isa = PBXGroup;
 			children = (
 				45D056296ADC2BDB00000000 /* MyMacOSApp-intermediates */,
-				45D05629BDC4481300000000 /* UITests_test_bundle-intermediates */,
-				45D05629AE2DF71800000000 /* UnitTestsNoHost_test_bundle-intermediates */,
-				45D0562906CD3B2400000000 /* UnitTests_test_bundle-intermediates */,
+				45D05629E02415E500000000 /* UITests-intermediates */,
+				45D05629A370188800000000 /* UnitTests-intermediates */,
+				45D056293C017A9100000000 /* UnitTestsNoHost-intermediates */,
 			);
 			name = tulsi_e2e_mac;
 			sourceTree = "<group>";
@@ -260,6 +252,14 @@
 			name = src;
 			sourceTree = "<group>";
 		};
+		45D05629E02415E500000000 /* UITests-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7CC906726900000000 /* Info.plist */,
+			);
+			name = "UITests-intermediates";
+			sourceTree = "<group>";
+		};
 		45D05629EAC0EC1600000000 /* _tulsi-includes */ = {
 			isa = PBXGroup;
 			children = (
@@ -328,7 +328,7 @@
 			buildPhases = (
 				978262AB8536FCD700000000 /* ShellScript */,
 				978262AB849093BB00000000 /* ShellScript */,
-				04BFD5160000000000000000 /* Sources */,
+				04BFD5160000000000000001 /* Sources */,
 			);
 			buildRules = (
 			);
@@ -347,7 +347,7 @@
 			buildPhases = (
 				978262AB6D7A83AC00000000 /* ShellScript */,
 				978262AB6890D86300000000 /* ShellScript */,
-				04BFD5160000000000000001 /* Sources */,
+				04BFD5160000000000000000 /* Sources */,
 			);
 			buildRules = (
 			);
@@ -522,7 +522,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 0;
 			files = (
-				952C886D2FDF604B00000000 /* UnitTests.m in test */,
+				952C886D8BF96B6600000000 /* UITests.m in test */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -530,7 +530,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 0;
 			files = (
-				952C886D8BF96B6600000000 /* UITests.m in test */,
+				952C886D2FDF604B00000000 /* UnitTests.m in test */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -574,8 +574,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
-				BUNDLE_LOADER = "$(TEST_HOST)";
+				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				FRAMEWORK_SEARCH_PATHS = "";
 				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
@@ -587,11 +586,11 @@
 				OTHER_LDFLAGS = "--version";
 				OTHER_SWIFT_FLAGS = "--version";
 				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UnitTests;
+				PRODUCT_NAME = UITests;
 				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";
+				TEST_TARGET_NAME = MyMacOSApp;
 				TULSI_BUILD_PATH = tulsi_e2e_mac;
 				TULSI_TEST_RUNNER_ONLY = YES;
 				TULSI_XCODE_VERSION = 10.1.0.10B61;
@@ -627,7 +626,8 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
+				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
+				BUNDLE_LOADER = "$(TEST_HOST)";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				FRAMEWORK_SEARCH_PATHS = "";
 				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
@@ -639,11 +639,11 @@
 				OTHER_LDFLAGS = "--version";
 				OTHER_SWIFT_FLAGS = "--version";
 				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UITests;
+				PRODUCT_NAME = UnitTests;
 				SDKROOT = macosx;
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_TARGET_NAME = MyMacOSApp;
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
 				TULSI_BUILD_PATH = tulsi_e2e_mac;
 				TULSI_TEST_RUNNER_ONLY = YES;
 				TULSI_XCODE_VERSION = 10.1.0.10B61;
@@ -721,16 +721,15 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
-				BUNDLE_LOADER = "$(TEST_HOST)";
+				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
 				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
 				MACOSX_DEPLOYMENT_TARGET = 10.13;
 				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UnitTests;
+				PRODUCT_NAME = UITests;
 				SDKROOT = macosx;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
+				TEST_TARGET_NAME = MyMacOSApp;
 				TULSI_BUILD_PATH = tulsi_e2e_mac;
 				TULSI_TEST_RUNNER_ONLY = YES;
 				TULSI_XCODE_VERSION = 10.1.0.10B61;
@@ -758,15 +757,16 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
+				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
+				BUNDLE_LOADER = "$(TEST_HOST)";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
 				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
 				MACOSX_DEPLOYMENT_TARGET = 10.13;
 				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UITests;
+				PRODUCT_NAME = UnitTests;
 				SDKROOT = macosx;
-				TEST_TARGET_NAME = MyMacOSApp;
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
 				TULSI_BUILD_PATH = tulsi_e2e_mac;
 				TULSI_TEST_RUNNER_ONLY = YES;
 				TULSI_XCODE_VERSION = 10.1.0.10B61;
@@ -843,16 +843,15 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
-				BUNDLE_LOADER = "$(TEST_HOST)";
+				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
 				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
 				MACOSX_DEPLOYMENT_TARGET = 10.13;
 				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UnitTests;
+				PRODUCT_NAME = UITests;
 				SDKROOT = macosx;
-				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
+				TEST_TARGET_NAME = MyMacOSApp;
 				TULSI_BUILD_PATH = tulsi_e2e_mac;
 				TULSI_TEST_RUNNER_ONLY = YES;
 				TULSI_XCODE_VERSION = 10.1.0.10B61;
@@ -880,15 +879,16 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
+				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
+				BUNDLE_LOADER = "$(TEST_HOST)";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
 				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
 				MACOSX_DEPLOYMENT_TARGET = 10.13;
 				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UITests;
+				PRODUCT_NAME = UnitTests;
 				SDKROOT = macosx;
-				TEST_TARGET_NAME = MyMacOSApp;
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
 				TULSI_BUILD_PATH = tulsi_e2e_mac;
 				TULSI_TEST_RUNNER_ONLY = YES;
 				TULSI_XCODE_VERSION = 10.1.0.10B61;
@@ -965,8 +965,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
-				BUNDLE_LOADER = "$(TEST_HOST)";
+				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				FRAMEWORK_SEARCH_PATHS = "";
 				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
@@ -978,11 +977,11 @@
 				OTHER_LDFLAGS = "--version";
 				OTHER_SWIFT_FLAGS = "--version";
 				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UnitTests;
+				PRODUCT_NAME = UITests;
 				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";
+				TEST_TARGET_NAME = MyMacOSApp;
 				TULSI_BUILD_PATH = tulsi_e2e_mac;
 				TULSI_TEST_RUNNER_ONLY = YES;
 				TULSI_XCODE_VERSION = 10.1.0.10B61;
@@ -1018,7 +1017,8 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
-				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
+				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
+				BUNDLE_LOADER = "$(TEST_HOST)";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				FRAMEWORK_SEARCH_PATHS = "";
 				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
@@ -1030,11 +1030,11 @@
 				OTHER_LDFLAGS = "--version";
 				OTHER_SWIFT_FLAGS = "--version";
 				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
-				PRODUCT_NAME = UITests;
+				PRODUCT_NAME = UnitTests;
 				SDKROOT = macosx;
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
-				TEST_TARGET_NAME = MyMacOSApp;
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
 				TULSI_BUILD_PATH = tulsi_e2e_mac;
 				TULSI_TEST_RUNNER_ONLY = YES;
 				TULSI_XCODE_VERSION = 10.1.0.10B61;
@@ -1114,10 +1114,10 @@
 		F4222DED1478E90F00000000 /* Build configuration list for PBXNativeTarget "UITests" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
-				0207AA2838C3D90E00000002 /* Debug */,
-				0207AA28616216BF00000002 /* Release */,
-				0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */,
-				0207AA281FC531E700000002 /* __TulsiTestRunner_Release */,
+				0207AA2838C3D90E00000000 /* Debug */,
+				0207AA28616216BF00000000 /* Release */,
+				0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */,
+				0207AA281FC531E700000000 /* __TulsiTestRunner_Release */,
 			);
 			defaultConfigurationIsVisible = 0;
 		};
@@ -1158,10 +1158,10 @@
 		F4222DEDE993F33E00000000 /* Build configuration list for PBXNativeTarget "UnitTests" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
-				0207AA2838C3D90E00000000 /* Debug */,
-				0207AA28616216BF00000000 /* Release */,
-				0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */,
-				0207AA281FC531E700000000 /* __TulsiTestRunner_Release */,
+				0207AA2838C3D90E00000002 /* Debug */,
+				0207AA28616216BF00000002 /* Release */,
+				0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */,
+				0207AA281FC531E700000002 /* __TulsiTestRunner_Release */,
 			);
 			defaultConfigurationIsVisible = 0;
 		};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme
index 748bad0..6b00f35 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/xcshareddata/xcschemes/MyMacOSApp.xcscheme
@@ -10,10 +10,10 @@
     <TestAction buildConfiguration="__TulsiTestRunner_Debug" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" shouldUseLaunchSchemeArgsEnv="YES">
         <Testables>
             <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="7E9AFE6256F24F5400000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTests.xctest" BuildableIdentifier="primary" BlueprintName="UnitTests"></BuildableReference>
+                <BuildableReference BlueprintIdentifier="7E9AFE628549A53C00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UITests.xctest" BuildableIdentifier="primary" BlueprintName="UITests"></BuildableReference>
             </TestableReference>
             <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="7E9AFE628549A53C00000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UITests.xctest" BuildableIdentifier="primary" BlueprintName="UITests"></BuildableReference>
+                <BuildableReference BlueprintIdentifier="7E9AFE6256F24F5400000000" ReferencedContainer="container:MacOSTestsProject.xcodeproj" BuildableName="UnitTests.xctest" BuildableIdentifier="primary" BlueprintName="UnitTests"></BuildableReference>
             </TestableReference>
         </Testables>
         <BuildableProductRunnable runnableDebuggingMode="0">
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj
index cb336eb..ab1accc 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj
@@ -19,16 +19,23 @@
 			proxyType = 1;
 			remoteGlobalIDString = 01F2CBCF9734745C00000000;
 		};
+		30E8372AECC4155900000000 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 9034464B04E85D2700000000 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 7E9AFE62ECC4155800000000;
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
-		25889F7C31634C2800000000 /* lib_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0.a; path = lib_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C40FA11C700000000 /* src1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src1.c; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/src1.c"; sourceTree = "<group>"; };
 		25889F7C465997B800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_ccsimple/BUILD; sourceTree = "<group>"; };
 		25889F7C6024490600000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/SrcsHeader.h"; sourceTree = "<group>"; };
 		25889F7C7C32F61200000000 /* ccBinary.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = ccBinary.app; path = ccBinary.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C9AAB485E00000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/hdrs/HdrsHeader.h"; sourceTree = "<group>"; };
+		25889F7CA44D367C00000000 /* lib_idx_ccBinary_C9583FBE_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccBinary_C9583FBE_ios_min8.0.a; path = lib_idx_ccBinary_C9583FBE_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7CAEA4670600000000 /* main.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = main.cc; path = "tulsi-workspace/tulsi_e2e_ccsimple/Binary/srcs/main.cc"; sourceTree = "<group>"; };
+		25889F7CB7F6ECEE00000000 /* lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a; path = lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7CBA739E5700000000 /* src2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = src2.c; path = "tulsi-workspace/tulsi_e2e_ccsimple/Library/srcs/src2.c"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -80,7 +87,8 @@
 		45D05629C0087DBE00000000 /* Indexer */ = {
 			isa = PBXGroup;
 			children = (
-				25889F7C31634C2800000000 /* lib_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0.a */,
+				25889F7CA44D367C00000000 /* lib_idx_ccBinary_C9583FBE_ios_min8.0.a */,
+				25889F7CB7F6ECEE00000000 /* lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a */,
 			);
 			name = Indexer;
 			sourceTree = "<group>";
@@ -133,9 +141,9 @@
 /* End PBXLegacyTarget section */
 
 /* Begin PBXNativeTarget section */
-		7E9AFE62883BEF4A00000000 /* _idx_ccLibrary_ccBinary_96012DA7_ios_min8.0 */ = {
+		7E9AFE624842150000000000 /* _idx_ccBinary_C9583FBE_ios_min8.0 */ = {
 			isa = PBXNativeTarget;
-			buildConfigurationList = F4222DEDCD63391D00000000 /* Build configuration list for PBXNativeTarget "_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0" */;
+			buildConfigurationList = F4222DEDC8A51A7100000000 /* Build configuration list for PBXNativeTarget "_idx_ccBinary_C9583FBE_ios_min8.0" */;
 			buildPhases = (
 				04BFD5160000000000000000 /* Sources */,
 			);
@@ -143,10 +151,11 @@
 			);
 			dependencies = (
 				89B1AEB39734745D00000000 /* PBXTargetDependency */,
+				89B1AEB3ECC4155900000000 /* PBXTargetDependency */,
 			);
-			name = _idx_ccLibrary_ccBinary_96012DA7_ios_min8.0;
-			productName = _idx_ccLibrary_ccBinary_96012DA7_ios_min8.0;
-			productReference = 25889F7C31634C2800000000 /* lib_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0.a */;
+			name = _idx_ccBinary_C9583FBE_ios_min8.0;
+			productName = _idx_ccBinary_C9583FBE_ios_min8.0;
+			productReference = 25889F7CA44D367C00000000 /* lib_idx_ccBinary_C9583FBE_ios_min8.0.a */;
 			productType = "com.apple.product-type.library.static";
 		};
 		7E9AFE62CF73120000000000 /* ccBinary */ = {
@@ -165,6 +174,22 @@
 			productReference = 25889F7C7C32F61200000000 /* ccBinary.app */;
 			productType = "com.apple.product-type.application";
 		};
+		7E9AFE62ECC4155800000000 /* _idx_ccLibrary_CCA8EDE9_ios_min8.0 */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = F4222DED7C6DD08000000000 /* Build configuration list for PBXNativeTarget "_idx_ccLibrary_CCA8EDE9_ios_min8.0" */;
+			buildPhases = (
+				04BFD5160000000000000001 /* Sources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				89B1AEB39734745D00000000 /* PBXTargetDependency */,
+			);
+			name = _idx_ccLibrary_CCA8EDE9_ios_min8.0;
+			productName = _idx_ccLibrary_CCA8EDE9_ios_min8.0;
+			productReference = 25889F7CB7F6ECEE00000000 /* lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a */;
+			productType = "com.apple.product-type.library.static";
+		};
 /* End PBXNativeTarget section */
 
 /* Begin PBXProject section */
@@ -184,7 +209,8 @@
 			mainGroup = 45D05629B56AD7F200000000 /* mainGroup */;
 			targets = (
 				01F2CBCF9734745C00000000 /* _bazel_clean_ */,
-				7E9AFE62883BEF4A00000000 /* _idx_ccLibrary_ccBinary_96012DA7_ios_min8.0 */,
+				7E9AFE624842150000000000 /* _idx_ccBinary_C9583FBE_ios_min8.0 */,
+				7E9AFE62ECC4155800000000 /* _idx_ccLibrary_CCA8EDE9_ios_min8.0 */,
 				7E9AFE62CF73120000000000 /* ccBinary */,
 			);
 		};
@@ -213,9 +239,16 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 0;
 			files = (
+				952C886DAEA4670600000000 /* main.cc in srcs */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		04BFD5160000000000000001 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 0;
+			files = (
 				952C886D40FA11C700000000 /* src1.c in srcs */,
 				952C886DBA739E5700000000 /* src2.c in srcs */,
-				952C886DAEA4670600000000 /* main.cc in srcs */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -226,6 +259,10 @@
 			isa = PBXTargetDependency;
 			targetProxy = 30E8372A9734745D00000000 /* PBXContainerItemProxy */;
 		};
+		89B1AEB3ECC4155900000000 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			targetProxy = 30E8372AECC4155900000000 /* PBXContainerItemProxy */;
+		};
 /* End PBXTargetDependency section */
 
 /* Begin XCBuildConfiguration section */
@@ -335,7 +372,8 @@
 			buildSettings = {
 				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
 				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ccLibrary_ccBinary_96012DA7_ios_min8.0;
+				OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1";
+				PRODUCT_NAME = _idx_ccBinary_C9583FBE_ios_min8.0;
 				SDKROOT = iphoneos;
 				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
 			};
@@ -344,6 +382,17 @@
 		0207AA2838C3D90E00000002 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				PRODUCT_NAME = _idx_ccLibrary_CCA8EDE9_ios_min8.0;
+				SDKROOT = iphoneos;
+				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
+			};
+			name = Debug;
+		};
+		0207AA2838C3D90E00000003 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
 				BAZEL_TARGET = "//tulsi_e2e_ccsimple:ccBinary";
 				DEBUG_INFORMATION_FORMAT = dwarf;
@@ -398,7 +447,8 @@
 			buildSettings = {
 				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
 				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				PRODUCT_NAME = _idx_ccLibrary_ccBinary_96012DA7_ios_min8.0;
+				OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1";
+				PRODUCT_NAME = _idx_ccBinary_C9583FBE_ios_min8.0;
 				SDKROOT = iphoneos;
 				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
 			};
@@ -407,6 +457,17 @@
 		0207AA28616216BF00000002 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				PRODUCT_NAME = _idx_ccLibrary_CCA8EDE9_ios_min8.0;
+				SDKROOT = iphoneos;
+				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
+			};
+			name = Release;
+		};
+		0207AA28616216BF00000003 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
 				BAZEL_TARGET = "//tulsi_e2e_ccsimple:ccBinary";
 				DEBUG_INFORMATION_FORMAT = dwarf;
@@ -497,13 +558,21 @@
 		F4222DED4700556B00000000 /* Build configuration list for PBXNativeTarget "ccBinary" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
-				0207AA2838C3D90E00000002 /* Debug */,
-				0207AA28616216BF00000002 /* Release */,
+				0207AA2838C3D90E00000003 /* Debug */,
+				0207AA28616216BF00000003 /* Release */,
 				0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */,
 				0207AA281FC531E700000001 /* __TulsiTestRunner_Release */,
 			);
 			defaultConfigurationIsVisible = 0;
 		};
+		F4222DED7C6DD08000000000 /* Build configuration list for PBXNativeTarget "_idx_ccLibrary_CCA8EDE9_ios_min8.0" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				0207AA2838C3D90E00000002 /* Debug */,
+				0207AA28616216BF00000002 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
 		F4222DEDAD65FD1700000000 /* Build configuration list for PBXProject "SimpleCCProject" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
@@ -514,7 +583,7 @@
 			);
 			defaultConfigurationIsVisible = 0;
 		};
-		F4222DEDCD63391D00000000 /* Build configuration list for PBXNativeTarget "_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0" */ = {
+		F4222DEDC8A51A7100000000 /* Build configuration list for PBXNativeTarget "_idx_ccBinary_C9583FBE_ios_min8.0" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				0207AA2838C3D90E00000001 /* Debug */,
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
index 58ab62f..f0becff 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/xcshareddata/xcschemes/_idx_Scheme.xcscheme
@@ -3,13 +3,10 @@
     <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
         <BuildActionEntries>
             <BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="7E9AFE62883BEF4A00000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="lib_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0.a" BuildableIdentifier="primary" BlueprintName="_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0"></BuildableReference>
+                <BuildableReference BlueprintIdentifier="7E9AFE62ECC4155800000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="lib_idx_ccLibrary_CCA8EDE9_ios_min8.0.a" BuildableIdentifier="primary" BlueprintName="_idx_ccLibrary_CCA8EDE9_ios_min8.0"></BuildableReference>
             </BuildActionEntry>
             <BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="7E9AFE62883BEF4A00000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="lib_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0.a" BuildableIdentifier="primary" BlueprintName="_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0"></BuildableReference>
-            </BuildActionEntry>
-            <BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES">
-                <BuildableReference BlueprintIdentifier="7E9AFE62883BEF4A00000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="lib_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0.a" BuildableIdentifier="primary" BlueprintName="_idx_ccLibrary_ccBinary_96012DA7_ios_min8.0"></BuildableReference>
+                <BuildableReference BlueprintIdentifier="7E9AFE624842150000000000" ReferencedContainer="container:SimpleCCProject.xcodeproj" BuildableName="lib_idx_ccBinary_C9583FBE_ios_min8.0.a" BuildableIdentifier="primary" BlueprintName="_idx_ccBinary_C9583FBE_ios_min8.0"></BuildableReference>
             </BuildActionEntry>
         </BuildActionEntries>
     </BuildAction>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
index 5da435f..071ed49 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
@@ -46,7 +46,6 @@
 		25889F7C1A1D3E7000000000 /* lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a; path = lib_idx_ApplicationLibrary_5E9B8EB0_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C301CC73800000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/hdrs/HdrsHeader.h"; sourceTree = "<group>"; };
 		25889F7C477067CE00000000 /* SimpleDataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv2.xcdatamodel; path = tulsi_e2e_simple/SimpleTest.xcdatamodeld/SimpleDataModelsTestv2.xcdatamodel; sourceTree = "<group>"; };
-		25889F7C5CBE396F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple/XCTest_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C6079DDB000000000 /* 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>"; };
 		25889F7C632AC61000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple/TargetApplication-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C80E2A65800000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/src2.m"; sourceTree = "<group>"; };
@@ -65,6 +64,7 @@
 		25889F7CEA45B29C00000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "tulsi-workspace/tulsi_e2e_simple/Application/Launch.storyboard"; sourceTree = "<group>"; };
 		25889F7CEBE4382E00000000 /* TargetApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TargetApplication.app; path = TargetApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7CEC8BA1B100000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple/Library/srcs/SrcsHeader.h"; sourceTree = "<group>"; };
+		25889F7CF0C2F01F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple/XCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CFC41714700000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_simple/Application/Info.plist"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -151,6 +151,14 @@
 			name = hdrs;
 			sourceTree = "<group>";
 		};
+		45D0562979F3F88D00000000 /* XCTest-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7CF0C2F01F00000000 /* Info.plist */,
+			);
+			name = "XCTest-intermediates";
+			sourceTree = "<group>";
+		};
 		45D0562991BACA9000000000 /* pch */ = {
 			isa = PBXGroup;
 			children = (
@@ -182,7 +190,7 @@
 			children = (
 				45D05629BBA58A3000000000 /* Application-intermediates */,
 				45D056294C3C17AD00000000 /* TargetApplication-intermediates */,
-				45D05629F032CFBE00000000 /* XCTest_test_bundle-intermediates */,
+				45D0562979F3F88D00000000 /* XCTest-intermediates */,
 			);
 			name = tulsi_e2e_simple;
 			sourceTree = "<group>";
@@ -263,14 +271,6 @@
 			name = "_tulsi-includes";
 			sourceTree = "<group>";
 		};
-		45D05629F032CFBE00000000 /* XCTest_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7C5CBE396F00000000 /* Info.plist */,
-			);
-			name = "XCTest_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
 /* End PBXGroup section */
 
 /* Begin PBXLegacyTarget section */
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
index 5d02f84..48c3139 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
@@ -37,22 +37,22 @@
 		25889F7C149738A400000000 /* TestSuite-Three-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-Three-XCTest.xctest"; path = "TestSuite-Three-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C1E33767800000000 /* TestSuite-One-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-One-XCTest.xctest"; path = "TestSuite-One-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C2E28BE8E00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Two/BUILD; sourceTree = "<group>"; };
-		25889F7C35383A6300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/XCTest_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = "<group>"; };
 		25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; };
-		25889F7C4741065100000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/One/XCTest_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C5801CD8000000000 /* LogicTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = LogicTest.xctest; path = LogicTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C5D1BD9FD00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Two/XCTest.m"; sourceTree = "<group>"; };
 		25889F7C5F8D5C0800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/One/BUILD; sourceTree = "<group>"; };
-		25889F7C93A523F900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/One/LogicTest_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
+		25889F7C7C3A6A7300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Two/XCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C96D67B6F00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Three/XCTest.m"; sourceTree = "<group>"; };
 		25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = "<group>"; };
 		25889F7C9F3B3D3900000000 /* LogicTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LogicTest.m; path = "tulsi-workspace/TestSuite/One/LogicTest.m"; sourceTree = "<group>"; };
 		25889F7CA25B0A0200000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/One/XCTest.m"; sourceTree = "<group>"; };
 		25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = "<group>"; };
+		25889F7CB5DA941F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/One/LogicTest-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		25889F7CC3598D4400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/One/XCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CCE0328AC00000000 /* TestSuite-Two-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-Two-XCTest.xctest"; path = "TestSuite-Two-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
-		25889F7CF3D1E6E500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Two/XCTest_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
+		25889F7CDF3A2AE800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/XCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CF525E57600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CF757D27400000000 /* lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0.a; path = lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
@@ -85,7 +85,7 @@
 		45D056290913F81B00000000 /* Two */ = {
 			isa = PBXGroup;
 			children = (
-				45D05629F032CFBE00000002 /* XCTest_test_bundle-intermediates */,
+				45D0562979F3F88D00000002 /* XCTest-intermediates */,
 			);
 			name = Two;
 			sourceTree = "<group>";
@@ -148,7 +148,7 @@
 		45D0562978986CA000000000 /* Three */ = {
 			isa = PBXGroup;
 			children = (
-				45D05629F032CFBE00000001 /* XCTest_test_bundle-intermediates */,
+				45D0562979F3F88D00000001 /* XCTest-intermediates */,
 			);
 			name = Three;
 			sourceTree = "<group>";
@@ -162,6 +162,38 @@
 			name = Three;
 			sourceTree = "<group>";
 		};
+		45D0562979F3F88D00000000 /* XCTest-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7CC3598D4400000000 /* Info.plist */,
+			);
+			name = "XCTest-intermediates";
+			sourceTree = "<group>";
+		};
+		45D0562979F3F88D00000001 /* XCTest-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7CDF3A2AE800000000 /* Info.plist */,
+			);
+			name = "XCTest-intermediates";
+			sourceTree = "<group>";
+		};
+		45D0562979F3F88D00000002 /* XCTest-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7C7C3A6A7300000000 /* Info.plist */,
+			);
+			name = "XCTest-intermediates";
+			sourceTree = "<group>";
+		};
+		45D0562986127A4B00000000 /* LogicTest-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7CB5DA941F00000000 /* Info.plist */,
+			);
+			name = "LogicTest-intermediates";
+			sourceTree = "<group>";
+		};
 		45D05629B56AD7F200000000 /* mainGroup */ = {
 			isa = PBXGroup;
 			children = (
@@ -188,19 +220,11 @@
 			name = srcs;
 			sourceTree = "<group>";
 		};
-		45D05629CC77832B00000000 /* LogicTest_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7C93A523F900000000 /* Info.plist */,
-			);
-			name = "LogicTest_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
 		45D05629D43882ED00000000 /* One */ = {
 			isa = PBXGroup;
 			children = (
-				45D05629CC77832B00000000 /* LogicTest_test_bundle-intermediates */,
-				45D05629F032CFBE00000000 /* XCTest_test_bundle-intermediates */,
+				45D0562986127A4B00000000 /* LogicTest-intermediates */,
+				45D0562979F3F88D00000000 /* XCTest-intermediates */,
 			);
 			name = One;
 			sourceTree = "<group>";
@@ -223,30 +247,6 @@
 			name = "_tulsi-includes";
 			sourceTree = "<group>";
 		};
-		45D05629F032CFBE00000000 /* XCTest_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7C4741065100000000 /* Info.plist */,
-			);
-			name = "XCTest_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
-		45D05629F032CFBE00000001 /* XCTest_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7C35383A6300000000 /* Info.plist */,
-			);
-			name = "XCTest_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
-		45D05629F032CFBE00000002 /* XCTest_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7CF3D1E6E500000000 /* Info.plist */,
-			);
-			name = "XCTest_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
 /* End PBXGroup section */
 
 /* Begin PBXLegacyTarget section */
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
index 7786714..e600101 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
@@ -28,11 +28,11 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		25889F7C2883293400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestSuiteXCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = "<group>"; };
 		25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; };
 		25889F7C6518C99300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = "<group>"; };
 		25889F7C8408F73400000000 /* lib_idx_TestSuiteXCTestLib_ApplicationLibrary_259E13F8_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_TestSuiteXCTestLib_ApplicationLibrary_259E13F8_ios_min10.0.a; path = lib_idx_TestSuiteXCTestLib_ApplicationLibrary_259E13F8_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		25889F7C85CAB77500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestSuiteXCTest_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = "<group>"; };
 		25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -44,7 +44,7 @@
 			isa = PBXGroup;
 			children = (
 				45D05629143ABA8700000000 /* TestApplication-intermediates */,
-				45D05629A315078600000000 /* TestSuiteXCTest_test_bundle-intermediates */,
+				45D056297DBBCAE200000000 /* TestSuiteXCTest-intermediates */,
 			);
 			name = TestSuite;
 			sourceTree = "<group>";
@@ -111,12 +111,12 @@
 			name = x;
 			sourceTree = "<group>";
 		};
-		45D05629A315078600000000 /* TestSuiteXCTest_test_bundle-intermediates */ = {
+		45D056297DBBCAE200000000 /* TestSuiteXCTest-intermediates */ = {
 			isa = PBXGroup;
 			children = (
-				25889F7C85CAB77500000000 /* Info.plist */,
+				25889F7C2883293400000000 /* Info.plist */,
 			);
-			name = "TestSuiteXCTest_test_bundle-intermediates";
+			name = "TestSuiteXCTest-intermediates";
 			sourceTree = "<group>";
 		};
 		45D05629B56AD7F200000000 /* mainGroup */ = {
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
index 7811ab2..3ac0d16 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
@@ -32,20 +32,20 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
-		25889F7C2FD4A5ED00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/tagged_xctest_1_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
+		25889F7C2883293400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestSuiteXCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
+		25889F7C2EADE2D900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/tagged_xctest_1-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = "<group>"; };
 		25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; };
 		25889F7C5D62264A00000000 /* lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_5646CF7B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_5646CF7B_ios_min10.0.a; path = lib_idx_tagged_xctest_2_lib_ApplicationLibrary_TestSuiteXCTestLib_tagged_xctest_1_lib_5646CF7B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C6518C99300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = "<group>"; };
 		25889F7C66D4941800000000 /* 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>"; };
 		25889F7C6DC9EDB600000000 /* 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>"; };
-		25889F7C85CAB77500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestSuiteXCTest_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
+		25889F7C8740F8D900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/tagged_xctest_2-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7C8E4953C800000000 /* tagged_xctest_1.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_1.xctest; path = tagged_xctest_1.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C965CD29E00000000 /* tagged_xctest_2.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_2.xctest; path = tagged_xctest_2.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = "<group>"; };
 		25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = "<group>"; };
-		25889F7CB7C144CF00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/Three/tagged_xctest_2_test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
 		25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		25889F7CF525E57600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -55,7 +55,7 @@
 			isa = PBXGroup;
 			children = (
 				45D05629143ABA8700000000 /* TestApplication-intermediates */,
-				45D05629A315078600000000 /* TestSuiteXCTest_test_bundle-intermediates */,
+				45D056297DBBCAE200000000 /* TestSuiteXCTest-intermediates */,
 				45D0562978986CA000000000 /* Three */,
 			);
 			name = TestSuite;
@@ -89,14 +89,6 @@
 			name = "TestApplication-intermediates";
 			sourceTree = "<group>";
 		};
-		45D0562919088B6000000000 /* tagged_xctest_2_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7CB7C144CF00000000 /* Info.plist */,
-			);
-			name = "tagged_xctest_2_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
 		45D056291BF813BD00000000 /* Products */ = {
 			isa = PBXGroup;
 			children = (
@@ -110,14 +102,6 @@
 			name = Products;
 			sourceTree = "<group>";
 		};
-		45D05629309D967D00000000 /* tagged_xctest_1_test_bundle-intermediates */ = {
-			isa = PBXGroup;
-			children = (
-				25889F7C2FD4A5ED00000000 /* Info.plist */,
-			);
-			name = "tagged_xctest_1_test_bundle-intermediates";
-			sourceTree = "<group>";
-		};
 		45D0562933ECA2A800000000 /* Application */ = {
 			isa = PBXGroup;
 			children = (
@@ -142,11 +126,19 @@
 			name = x;
 			sourceTree = "<group>";
 		};
+		45D0562940E977DA00000000 /* tagged_xctest_2-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7C8740F8D900000000 /* Info.plist */,
+			);
+			name = "tagged_xctest_2-intermediates";
+			sourceTree = "<group>";
+		};
 		45D0562978986CA000000000 /* Three */ = {
 			isa = PBXGroup;
 			children = (
-				45D05629309D967D00000000 /* tagged_xctest_1_test_bundle-intermediates */,
-				45D0562919088B6000000000 /* tagged_xctest_2_test_bundle-intermediates */,
+				45D05629C219548E00000000 /* tagged_xctest_1-intermediates */,
+				45D0562940E977DA00000000 /* tagged_xctest_2-intermediates */,
 			);
 			name = Three;
 			sourceTree = "<group>";
@@ -161,12 +153,12 @@
 			name = Three;
 			sourceTree = "<group>";
 		};
-		45D05629A315078600000000 /* TestSuiteXCTest_test_bundle-intermediates */ = {
+		45D056297DBBCAE200000000 /* TestSuiteXCTest-intermediates */ = {
 			isa = PBXGroup;
 			children = (
-				25889F7C85CAB77500000000 /* Info.plist */,
+				25889F7C2883293400000000 /* Info.plist */,
 			);
-			name = "TestSuiteXCTest_test_bundle-intermediates";
+			name = "TestSuiteXCTest-intermediates";
 			sourceTree = "<group>";
 		};
 		45D05629B56AD7F200000000 /* mainGroup */ = {
@@ -187,6 +179,14 @@
 			name = Indexer;
 			sourceTree = "<group>";
 		};
+		45D05629C219548E00000000 /* tagged_xctest_1-intermediates */ = {
+			isa = PBXGroup;
+			children = (
+				25889F7C2EADE2D900000000 /* Info.plist */,
+			);
+			name = "tagged_xctest_1-intermediates";
+			sourceTree = "<group>";
+		};
 		45D05629CC62AD9600000000 /* srcs */ = {
 			isa = PBXGroup;
 			children = (
@@ -245,7 +245,7 @@
 			buildPhases = (
 				978262ABFFED74C200000000 /* ShellScript */,
 				978262ABC1E8B9F000000000 /* ShellScript */,
-				04BFD5160000000000000001 /* Sources */,
+				04BFD5160000000000000002 /* Sources */,
 			);
 			buildRules = (
 			);
@@ -280,7 +280,7 @@
 			buildPhases = (
 				978262AB018163CC00000000 /* ShellScript */,
 				978262AB4DF59FB800000000 /* ShellScript */,
-				04BFD5160000000000000002 /* Sources */,
+				04BFD5160000000000000001 /* Sources */,
 			);
 			buildRules = (
 			);
@@ -469,7 +469,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 0;
 			files = (
-				952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */,
+				952C886D66D4941800000000 /* tagged_xctest_2.m in Three */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -477,7 +477,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 0;
 			files = (
-				952C886D66D4941800000000 /* tagged_xctest_2.m in Three */,
+				952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -563,34 +563,6 @@
 			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 = 10.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "--version";
-				OTHER_LDFLAGS = "--version";
-				OTHER_SWIFT_FLAGS = "--version";
-				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_TEST_RUNNER_ONLY = YES;
-				TULSI_XCODE_VERSION = 10.1.0.10B61;
-			};
-			name = __TulsiTestRunner_Release;
-		};
-		0207AA281FC531E700000003 /* __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;
@@ -615,6 +587,34 @@
 			};
 			name = __TulsiTestRunner_Release;
 		};
+		0207AA281FC531E700000003 /* __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 = 10.0;
+				ONLY_ACTIVE_ARCH = YES;
+				OTHER_CFLAGS = "--version";
+				OTHER_LDFLAGS = "--version";
+				OTHER_SWIFT_FLAGS = "--version";
+				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_TEST_RUNNER_ONLY = YES;
+				TULSI_XCODE_VERSION = 10.1.0.10B61;
+			};
+			name = __TulsiTestRunner_Release;
+		};
 		0207AA281FC531E700000004 /* __TulsiTestRunner_Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -697,26 +697,6 @@
 			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";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 10.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_TEST_RUNNER_ONLY = YES;
-				TULSI_XCODE_VERSION = 10.1.0.10B61;
-			};
-			name = Debug;
-		};
-		0207AA2838C3D90E00000003 /* 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;
@@ -733,6 +713,26 @@
 			};
 			name = Debug;
 		};
+		0207AA2838C3D90E00000003 /* 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";
+				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 10.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_TEST_RUNNER_ONLY = YES;
+				TULSI_XCODE_VERSION = 10.1.0.10B61;
+			};
+			name = Debug;
+		};
 		0207AA2838C3D90E00000004 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -822,26 +822,6 @@
 			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";
-				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 10.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_TEST_RUNNER_ONLY = YES;
-				TULSI_XCODE_VERSION = 10.1.0.10B61;
-			};
-			name = Release;
-		};
-		0207AA28616216BF00000003 /* 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;
@@ -858,6 +838,26 @@
 			};
 			name = Release;
 		};
+		0207AA28616216BF00000003 /* 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";
+				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 10.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_TEST_RUNNER_ONLY = YES;
+				TULSI_XCODE_VERSION = 10.1.0.10B61;
+			};
+			name = Release;
+		};
 		0207AA28616216BF00000004 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -963,34 +963,6 @@
 			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 = 10.0;
-				ONLY_ACTIVE_ARCH = YES;
-				OTHER_CFLAGS = "--version";
-				OTHER_LDFLAGS = "--version";
-				OTHER_SWIFT_FLAGS = "--version";
-				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_TEST_RUNNER_ONLY = YES;
-				TULSI_XCODE_VERSION = 10.1.0.10B61;
-			};
-			name = __TulsiTestRunner_Debug;
-		};
-		0207AA28F23A778400000003 /* __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;
@@ -1015,6 +987,34 @@
 			};
 			name = __TulsiTestRunner_Debug;
 		};
+		0207AA28F23A778400000003 /* __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 = 10.0;
+				ONLY_ACTIVE_ARCH = YES;
+				OTHER_CFLAGS = "--version";
+				OTHER_LDFLAGS = "--version";
+				OTHER_SWIFT_FLAGS = "--version";
+				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_TEST_RUNNER_ONLY = YES;
+				TULSI_XCODE_VERSION = 10.1.0.10B61;
+			};
+			name = __TulsiTestRunner_Debug;
+		};
 		0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -1062,10 +1062,10 @@
 		F4222DED0FE742A700000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_2" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
-				0207AA2838C3D90E00000003 /* Debug */,
-				0207AA28616216BF00000003 /* Release */,
-				0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */,
-				0207AA281FC531E700000003 /* __TulsiTestRunner_Release */,
+				0207AA2838C3D90E00000002 /* Debug */,
+				0207AA28616216BF00000002 /* Release */,
+				0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */,
+				0207AA281FC531E700000002 /* __TulsiTestRunner_Release */,
 			);
 			defaultConfigurationIsVisible = 0;
 		};
@@ -1078,10 +1078,10 @@
 		F4222DED6BC3C42B00000000 /* Build configuration list for PBXNativeTarget "TestSuiteXCTest" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
-				0207AA2838C3D90E00000002 /* Debug */,
-				0207AA28616216BF00000002 /* Release */,
-				0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */,
-				0207AA281FC531E700000002 /* __TulsiTestRunner_Release */,
+				0207AA2838C3D90E00000003 /* Debug */,
+				0207AA28616216BF00000003 /* Release */,
+				0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */,
+				0207AA281FC531E700000003 /* __TulsiTestRunner_Release */,
 			);
 			defaultConfigurationIsVisible = 0;
 		};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
index fdb9d98..6db007b 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
@@ -13,10 +13,10 @@
                 <BuildableReference BlueprintIdentifier="7E9AFE62812108F600000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_1.xctest" BuildableIdentifier="primary" BlueprintName="tagged_xctest_1"></BuildableReference>
             </TestableReference>
             <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="7E9AFE623963A8D000000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BuildableIdentifier="primary" BlueprintName="TestSuiteXCTest"></BuildableReference>
+                <BuildableReference BlueprintIdentifier="7E9AFE627547FBBC00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BuildableIdentifier="primary" BlueprintName="tagged_xctest_2"></BuildableReference>
             </TestableReference>
             <TestableReference skipped="NO">
-                <BuildableReference BlueprintIdentifier="7E9AFE627547FBBC00000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="tagged_xctest_2.xctest" BuildableIdentifier="primary" BlueprintName="tagged_xctest_2"></BuildableReference>
+                <BuildableReference BlueprintIdentifier="7E9AFE623963A8D000000000" ReferencedContainer="container:TestSuiteRecursiveTestSuiteProject.xcodeproj" BuildableName="TestSuiteXCTest.xctest" BuildableIdentifier="primary" BlueprintName="TestSuiteXCTest"></BuildableReference>
             </TestableReference>
         </Testables>
         <BuildableProductRunnable runnableDebuggingMode="0">
diff --git a/src/TulsiGeneratorIntegrationTests/update_goldens.sh b/src/TulsiGeneratorIntegrationTests/update_goldens.sh
index 325eb19..a0f9137 100755
--- a/src/TulsiGeneratorIntegrationTests/update_goldens.sh
+++ b/src/TulsiGeneratorIntegrationTests/update_goldens.sh
@@ -15,13 +15,18 @@
 
 set -eu
 
+# Update this whenever the version of Xcode needed to generate the goldens
+# changes.
+readonly XCODE_VERSION=10.1
+
 readonly WORKSPACE=$(bazel info workspace)
 readonly TEST_PATH="src/TulsiGeneratorIntegrationTests"
 readonly GOLDENS_DIR="${WORKSPACE}/${TEST_PATH}/Resources/GoldenProjects"
 readonly TESTLOGS_DIR=$(bazel info bazel-testlogs)
 readonly OUTPUT_DIR="${TESTLOGS_DIR}/${TEST_PATH}"
 
-bazel test //src/TulsiGeneratorIntegrationTests:EndToEndGenerationTests --nocheck_visibility && :
+bazel test //src/TulsiGeneratorIntegrationTests:EndToEndGenerationTests \
+  --xcode_version="$XCODE_VERSION" --nocheck_visibility && :
 
 bazel_exit_code=$?