Remove some (stable) feature flags

Remove:
- TULSI_PRESERVE_TULSI_INCLUDES
- DisableNormalizedDebugPrefixMap
- DisableDBGShellCommandsCaching
PiperOrigin-RevId: 200784628
diff --git a/src/TulsiGenerator/BazelBuildSettingsFeatures.swift b/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
index 5f04877..1bb7437 100644
--- a/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
+++ b/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
@@ -17,5 +17,4 @@
   // TODO(b/69857078): Replace with normalized debug info when wrapped_clang
   // is updated.
   "TULSI_DIRECT_DBG_PREFIX_MAP",
-  "TULSI_PRESERVE_TULSI_INCLUDES",
 ]
diff --git a/src/TulsiGenerator/Scripts/bazel_build.py b/src/TulsiGenerator/Scripts/bazel_build.py
index 75b1262..f177fb4 100755
--- a/src/TulsiGenerator/Scripts/bazel_build.py
+++ b/src/TulsiGenerator/Scripts/bazel_build.py
@@ -503,23 +503,18 @@
     self.swift_dependency = os.environ.get('TULSI_SWIFT_DEPENDENCY',
                                            'NO') == 'YES'
 
-    self.preserve_tulsi_includes = os.environ.get(
-        'TULSI_PRESERVE_TULSI_INCLUDES', 'YES') == 'YES'
-
     # TODO(b/69857078): Remove this when wrapped_clang is updated.
     self.direct_debug_prefix_map = os.environ.get('TULSI_DIRECT_DBG_PREFIX_MAP',
                                                   'NO') == 'YES'
 
-    if (self.swift_dependency or
-        self.direct_debug_prefix_map):
+    if self.swift_dependency or self.direct_debug_prefix_map:
       # Disable the normalized debug prefix map as swiftc doesn't support it.
       #
       # In addition, use of the direct_debug_prefix_map preempts the usage of
       # the normalized debug prefix map.
       self.normalized_prefix_map = False
     else:
-      self.normalized_prefix_map = os.environ.get('TULSI_NORMALIZED_DEBUG_INFO',
-                                                  'NO') == 'YES'
+      self.normalized_prefix_map = True
 
     if self.swift_dependency:
       # Always generate dSYMs for projects with Swift dependencies, as dSYMs are
@@ -1157,7 +1152,7 @@
     path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                         'install_genfiles.py')
 
-    args = [path, BAZEL_EXECUTION_ROOT, str(self.preserve_tulsi_includes)]
+    args = [path, BAZEL_EXECUTION_ROOT]
     args.extend(outputs)
 
     self._PrintVerbose('Spawning subprocess install_genfiles.py to copy '
diff --git a/src/TulsiGenerator/Scripts/install_genfiles.py b/src/TulsiGenerator/Scripts/install_genfiles.py
index be66454..f122652 100755
--- a/src/TulsiGenerator/Scripts/install_genfiles.py
+++ b/src/TulsiGenerator/Scripts/install_genfiles.py
@@ -95,10 +95,9 @@
 
 
 if __name__ == '__main__':
-  if len(sys.argv) <= 2:
-    sys.stderr.write('usage: %s <bazel exec root> <preserve tulsi includes?> '
+  if len(sys.argv) < 3:
+    sys.stderr.write('usage: %s <bazel exec root> '
                      '<.tulsiouts JSON files>\n' % sys.argv[0])
     exit(1)
 
-  preserve = sys.argv[2] == 'True'
-  Installer(sys.argv[1], preserve).InstallForTulsiouts(sys.argv[3:])
+  Installer(sys.argv[1]).InstallForTulsiouts(sys.argv[2:])
diff --git a/src/TulsiGenerator/TulsiOptionSet.swift b/src/TulsiGenerator/TulsiOptionSet.swift
index 7946711..40d2d79 100644
--- a/src/TulsiGenerator/TulsiOptionSet.swift
+++ b/src/TulsiGenerator/TulsiOptionSet.swift
@@ -43,12 +43,6 @@
       // Include all .bzl files related to the build in the generated Xcodeproj.
       IncludeBuildSources,
 
-      // Explicitly turns off all actions around caching paths for dSYM in a local SQLite database.
-      DisableDBGShellCommandsCaching,
-
-      // Remove the normalized -fdebug-prefix-map and fall back on the old behavior for debug info.
-      DisableNormalizedDebugPrefixMap,
-
       // Include the following build options only during project generation; can override config
       // from default (simulator) to device.
       BazelBuildOptionsProjectGenerationOnly,
@@ -279,8 +273,6 @@
 
     addBoolOption(.ALWAYS_SEARCH_USER_PATHS, .BuildSetting, false)
     addBoolOption(.BazelContinueBuildingAfterError, .Generic, false)
-    addBoolOption(.DisableDBGShellCommandsCaching, .Generic, false)
-    addBoolOption(.DisableNormalizedDebugPrefixMap, .Generic, false)
     addStringOption(.BazelBuildOptionsProjectGenerationOnly, .Generic)
     addStringOption(.BazelBuildOptionsDebug, [.TargetSpecializable, .SupportsInheritKeyword])
     addStringOption(.BazelBuildOptionsRelease, [.TargetSpecializable, .SupportsInheritKeyword])
diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift
index 95556f2..68d22ca 100644
--- a/src/TulsiGenerator/XcodeProjectGenerator.swift
+++ b/src/TulsiGenerator/XcodeProjectGenerator.swift
@@ -79,7 +79,7 @@
   private static let StubWatchOS2AppExInfoPlistFilename = "StubWatchOS2AppExInfoPlist.plist"
   private static let CachedExecutionRootFilename = "execroot_path.py"
   private static let DefaultSwiftVersion = "4"
-  private static let SupportScriptsPath = "Library/Application Support/Tulsi/Scripts/"
+  private static let SupportScriptsPath = "Library/Application Support/Tulsi/Scripts"
 
   /// Rules which should not be generated at the top level.
   private static let LibraryRulesForTopLevelWarning =
@@ -115,18 +115,11 @@
   /// generated by Bazel.
   var suppressGeneratedArtifactFolderCreation = false
 
+  /// Exposed for testing. Do not modify user defaults.
+  var suppressModifyingUserDefaults = false
+
   var cachedDefaultSwiftVersion: String?
 
-  /// Computed property to determine if DBGShellCommands is actively caching dSYM for this project.
-  var disableDBGShellCommandsCaching: Bool {
-    return config.options[.DisableDBGShellCommandsCaching].commonValueAsBool ?? true
-  }
-
-  /// Computed property to determine if all debugging info should be normalized, if possible.
-  var disableNormalizedDebugPrefixMap: Bool {
-    return config.options[.DisableNormalizedDebugPrefixMap].commonValueAsBool ?? true
-  }
-
   init(workspaceRootURL: URL,
        config: TulsiGeneratorConfig,
        localizedMessageLogger: LocalizedMessageLogger,
@@ -508,18 +501,6 @@
         buildSettings[featureFlag] = "YES"
       }
 
-      if (self.disableDBGShellCommandsCaching) {
-        buildSettings["TULSI_UPDATE_DSYM_CACHE"] = "NO"
-      } else {
-        buildSettings["TULSI_UPDATE_DSYM_CACHE"] = "YES"
-      }
-
-      if (self.disableNormalizedDebugPrefixMap) {
-        buildSettings["TULSI_NORMALIZED_DEBUG_INFO"] = "NO"
-      } else {
-        buildSettings["TULSI_NORMALIZED_DEBUG_INFO"] = "YES"
-      }
-
       buildSettings["TULSI_PROJECT"] = config.projectName
       generator.generateTopLevelBuildConfigurations(buildSettings)
     }
@@ -546,10 +527,8 @@
                                             values: "\(error)")
       }
     }
-    if (!self.disableDBGShellCommandsCaching) {
-      profileAction("cleaning_cached_dsym_paths") {
-        cleanCachedDsymPaths()
-      }
+    profileAction("cleaning_cached_dsym_paths") {
+      cleanCachedDsymPaths()
     }
     profileAction("bootstrapping_lldbinit") {
       bootstrapLLDBInit()
@@ -1004,13 +983,15 @@
 
     // Return the absolute path to ~/Library/Application Support/Tulsi/Scripts/bazel_cache_reader.
     let shellCommandsURL =
-        supportScriptsAbsoluteURL.appendingPathComponent(XcodeProjectGenerator.ShellCommandsUtil)
+        supportScriptsAbsoluteURL.appendingPathComponent(XcodeProjectGenerator.ShellCommandsUtil,
+                                                         isDirectory: false)
 
     return shellCommandsURL.path
   }
 
   /// Update the global user defaults to reference bazel_cache_reader
   private func updateGlobalUserDefaultsWithShellCommands(shellCommandsPath: String) {
+    guard !suppressModifyingUserDefaults else { return }
 
     // Check that bazel_cache_reader exists at the given path. If not, do nothing.
     var isDir = ObjCBool(false)
@@ -1058,98 +1039,17 @@
     UserDefaults.standard.setPersistentDomain(currentDBGDefaults, forName: "com.apple.DebugSymbols")
   }
 
-  /// Remove the bazel_cache_reader from a subfolder in ~/Library and in global user defaults.
-  private func removeShellCommands(atURL shellCommandsURL: URL) throws -> String? {
-
-    // If a file exists at ~/Library/Application Support/Tulsi/Scripts/bazel_cache_reader...
-    var isDir = ObjCBool(false)
-    guard fileManager.fileExists(atPath: shellCommandsURL.path, isDirectory: &isDir) else {
-      // Exit early if it doesn't.
-      return nil
-    }
-
-    // ...otherwise, remove it.
-    try fileManager.removeItem(at: shellCommandsURL)
-
-    // Return the path to the bazel_cache_reader after removal.
-    return shellCommandsURL.path
-  }
-
-  /// Update the global user defaults to reference bazel_cache_reader
-  private func removeUnusedShellCommandsFromGlobalUserDefaults(shellCommandsPath : String) {
-
-    // Check that bazel_cache_reader does not exist at the given path. If it does, do nothing.
-    var isDir = ObjCBool(false)
-    guard !fileManager.fileExists(atPath: shellCommandsPath, isDirectory: &isDir) else {
-      return
-    }
-
-    // Update DBGShellCommands such that the path to bazel_cache_reader isn't there anymore.
-    let dbgDefaults = UserDefaults.standard.persistentDomain(forName: "com.apple.DebugSymbols")
-
-    guard var currentDBGDefaults = dbgDefaults else {
-      return
-    }
-    if var shellCommands = currentDBGDefaults["DBGShellCommands"] as? [String] {
-
-      // Check if shellCommandsPath is already in DBGShellCommands's array of Strings.
-      guard let pathFound = shellCommands.index(of: shellCommandsPath) else {
-        return
-      }
-
-      // Remove it if it was.
-      shellCommands.remove(at: pathFound)
-
-      // Update with the modified com.apple.DebugSymbols global defaults.
-      currentDBGDefaults["DBGShellCommands"] = shellCommands
-
-    } else if let shellCommand = currentDBGDefaults["DBGShellCommands"] as? String {
-
-      // Cover the single value case, which (3/13) would only apply if the user manually set it.
-      if shellCommand == shellCommandsPath {
-        currentDBGDefaults.removeValue(forKey: "DBGShellCommands")
-      } else {
-        return
-      }
-
-    } else {
-      return
-    }
-
-    // Update com.apple.DebugSymbols if we need to update DBGShellCommands.
-    UserDefaults.standard.setPersistentDomain(currentDBGDefaults,
-                                              forName: "com.apple.DebugSymbols")
-  }
-
-  /// Install the latest bazel_cache_reader or remove it, as requested by config options.
+  /// Install the latest bazel_cache_reader.
   private func updateShellCommands() throws {
-
     // Construct a URL to ~/Library/Application Support/Tulsi/Scripts.
     let supportScriptsAbsoluteURL = fileManager.homeDirectoryForCurrentUser.appendingPathComponent(
       XcodeProjectGenerator.SupportScriptsPath, isDirectory: true)
 
-    // If the config disabled DBGShellCommands caching...
-    if (self.disableDBGShellCommandsCaching) {
+    // Install the latest version of the app to ~/Library/Application Support/Tulsi/Scripts/.
+    let shellCommandsAppPath = try installShellCommands(atURL: supportScriptsAbsoluteURL)
 
-      // Create a URL to ~/Library/Application Support/Tulsi/Scripts/bazel_cache_reader.
-      let shellCommandsURL =
-        supportScriptsAbsoluteURL.appendingPathComponent(XcodeProjectGenerator.ShellCommandsUtil)
-
-      // Attempt to remove the app at that path.
-      if let shellCommandsAppPath = try removeShellCommands(atURL: shellCommandsURL) {
-
-        // If the delete was successful, remove its reference from global user defaults.
-        removeUnusedShellCommandsFromGlobalUserDefaults(shellCommandsPath: shellCommandsAppPath)
-      }
-    } else {
-
-      // If DBGShellCommands caching is enabled, install the latest version of the app to
-      // ~/Library/Application Support/Tulsi/Scripts/
-      let shellCommandsAppPath = try installShellCommands(atURL: supportScriptsAbsoluteURL)
-
-      // Add a reference to it in global user defaults.
-      updateGlobalUserDefaultsWithShellCommands(shellCommandsPath: shellCommandsAppPath)
-    }
+    // Add a reference to it in global user defaults.
+    updateGlobalUserDefaultsWithShellCommands(shellCommandsPath: shellCommandsAppPath)
   }
 
   private func executePythonProcess(_ scriptFileName: String, onError: @escaping (Int32, String) -> Void) {
@@ -1394,15 +1294,7 @@
   private func installFiles(_ files: [(sourceURL: URL, filename: String)],
                             toDirectory directory: URL, failSilently: Bool = false) {
     for (sourceURL, filename) in files {
-      guard let targetURL = URL(string: filename, relativeTo: directory) else {
-        if !failSilently {
-          localizedMessageLogger.error("CopyingResourceFailed",
-                                       comment: "Failed to copy an important file resource, the resulting project will most likely be broken. A bug should be reported.",
-                                       context: config.projectName,
-                                       values: sourceURL as NSURL, filename, "Target URL is invalid")
-        }
-        continue
-      }
+      let targetURL = directory.appendingPathComponent(filename, isDirectory: false)
 
       let errorInfo: String?
       do {
diff --git a/src/TulsiGenerator/en.lproj/Options.strings b/src/TulsiGenerator/en.lproj/Options.strings
index 88f8570..e86162d 100644
--- a/src/TulsiGenerator/en.lproj/Options.strings
+++ b/src/TulsiGenerator/en.lproj/Options.strings
@@ -25,12 +25,6 @@
 
 "BazelContinueBuildingAfterError" = "Continue building after error";
 
-"DisableDBGShellCommandsCaching" = "Disable DBGShellCommands caching of dSYM bundles.";
-"DisableDBGShellCommandsCaching_DESC" = "Explicitly turns off all actions surrounding caching paths for dSYM bundles in a local SQLite database.";
-
-"DisableNormalizedDebugPrefixMap" = "Disable debug info normalization.";
-"DisableNormalizedDebugPrefixMap_DESC" = "Disable normalization of all debug information to a common root, in this case the root of '.'. Projects with Swift sources cannot normalize debug information, regardless of this setting.";
-
 "ImprovedImportAutocompletionFix" = "Improve #include/#import auto-completion through the use of USER_HEADER_SEARCH_PATHS";
 
 "CommandlineArguments" = "Commandline arguments";
diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift
index 4b4f175..9140733 100644
--- a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift
+++ b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift
@@ -117,6 +117,8 @@
     // Output directory generation is suppressed in order to prevent having to whitelist diffs of
     // empty directories.
     projectGenerator.xcodeProjectGenerator.suppressGeneratedArtifactFolderCreation = true
+    // Don't modify any user defaults.
+    projectGenerator.xcodeProjectGenerator.suppressModifyingUserDefaults = true
     // The username is forced to a known value.
     projectGenerator.xcodeProjectGenerator.usernameFetcher = { "_TEST_USER_" }
     // The workspace symlink is forced to a known value.
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
index c289cba..1ecaff5 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/ComplexSingleProject.xcodeproj/project.pbxproj
@@ -930,10 +930,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = ComplexSingleProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1105,10 +1102,7 @@
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = ComplexSingleProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1298,10 +1292,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = ComplexSingleProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1421,10 +1412,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = ComplexSingleProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/IosLegacyTestProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/IosLegacyTestProject.xcodeproj/project.pbxproj
index 27d913b..05b6f4d 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/IosLegacyTestProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/IosLegacyTestProject.xcodeproj/project.pbxproj
@@ -246,10 +246,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = IosLegacyTestProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -313,10 +310,7 @@
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = IosLegacyTestProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -385,10 +379,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = IosLegacyTestProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -453,10 +444,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = IosLegacyTestProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj
index 4b6002c..3a957c7 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSProject.xcodeproj/project.pbxproj
@@ -388,10 +388,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = macosx;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = MacOSProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -489,10 +486,7 @@
 				SDKROOT = macosx;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = MacOSProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -597,10 +591,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = MacOSProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -715,10 +706,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = MacOSProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
index cf5b0b6..cfadf34 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/MacOSTestsProject.xcodeproj/project.pbxproj
@@ -575,10 +575,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = macosx;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = MacOSTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -717,10 +714,7 @@
 				SDKROOT = macosx;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = MacOSTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -883,10 +877,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = MacOSTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1035,10 +1026,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = MacOSTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj
index 0ba58bb..a1c2e1d 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleCCProject.xcodeproj/project.pbxproj
@@ -256,10 +256,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleCCProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -322,10 +319,7 @@
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleCCProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -393,10 +387,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleCCProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -460,10 +451,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleCCProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
index 1e253ee..33d005d 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleProject.xcodeproj/project.pbxproj
@@ -606,10 +606,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -741,10 +738,7 @@
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -894,10 +888,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1017,10 +1008,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleSkylarkProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleSkylarkProject.xcodeproj/project.pbxproj
index d4014bb..c18f3c1 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleSkylarkProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SimpleSkylarkProject.xcodeproj/project.pbxproj
@@ -816,10 +816,7 @@
 				SDKROOT = iphoneos;
 				SWIFT_VERSION = 4.0;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleSkylarkProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1016,10 +1013,7 @@
 				SWIFT_VERSION = 4.0;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleSkylarkProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1240,10 +1234,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				SWIFT_VERSION = 4.0;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleSkylarkProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1418,10 +1409,7 @@
 				SWIFT_VERSION = 4.0;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SimpleSkylarkProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj
index 98d7dee..c102b13 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/SwiftProject.xcodeproj/project.pbxproj
@@ -361,10 +361,7 @@
 				SDKROOT = iphoneos;
 				SWIFT_VERSION = 4;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SwiftProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -455,10 +452,7 @@
 				SWIFT_VERSION = 4;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SwiftProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -554,10 +548,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				SWIFT_VERSION = 4;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SwiftProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -623,10 +614,7 @@
 				SWIFT_VERSION = 4;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = SwiftProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
index 93feec1..6dd7d4b 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
@@ -644,10 +644,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -797,10 +794,7 @@
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -980,10 +974,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1162,10 +1153,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
index 7f79ac7..307d4d0 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteLocalTaggedTestsProject.xcodeproj/project.pbxproj
@@ -395,10 +395,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteLocalTaggedTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -485,10 +482,7 @@
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteLocalTaggedTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -592,10 +586,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteLocalTaggedTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -690,10 +681,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteLocalTaggedTestsProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
index 942be9d..713b339 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteRecursiveTestSuiteProject.xcodeproj/project.pbxproj
@@ -565,10 +565,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -699,10 +696,7 @@
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -862,10 +856,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -1018,10 +1009,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj
index f306726..6d3142c 100644
--- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj
+++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/WatchProject.xcodeproj/project.pbxproj
@@ -431,10 +431,7 @@
 				PYTHONIOENCODING = utf8;
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = WatchProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -544,10 +541,7 @@
 				SDKROOT = iphoneos;
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = WatchProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -664,10 +658,7 @@
 				SWIFT_INSTALL_OBJC_HEADER = NO;
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = WatchProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
@@ -782,10 +773,7 @@
 				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
 				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
 				TULSI_MUST_USE_DSYM = YES;
-				TULSI_NORMALIZED_DEBUG_INFO = YES;
-				TULSI_PRESERVE_TULSI_INCLUDES = YES;
 				TULSI_PROJECT = WatchProject;
-				TULSI_UPDATE_DSYM_CACHE = YES;
 				TULSI_VERSION = 9.99.999.9999;
 				TULSI_WR = "${SRCROOT}/..";
 			};
diff --git a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
index 7e3bd34..087487d 100644
--- a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
+++ b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
@@ -77,6 +77,14 @@
       XCTAssert(writtenFiles.contains("\(xcodeProjectPath)/xcshareddata/xcschemes/test-path-to-target-target.xcscheme"))
       XCTAssert(writtenFiles.contains("\(xcodeProjectPath)/xcshareddata/xcschemes/test-MainTarget.xcscheme"))
 
+      let supportScriptsURL = mockFileManager.homeDirectoryForCurrentUser.appendingPathComponent(
+          "Library/Application Support/Tulsi/Scripts", isDirectory: true)
+      XCTAssert(mockFileManager.directoryOperations.contains(supportScriptsURL.path))
+
+      let cacheReaderURL = supportScriptsURL.appendingPathComponent("bazel_cache_reader",
+                                                                    isDirectory: false)
+      XCTAssert(mockFileManager.copyOperations.keys.contains(cacheReaderURL.path))
+
       let xcp = "\(xcodeProjectPath)/xcuserdata/USER.xcuserdatad/xcschemes/xcschememanagement.plist"
       XCTAssert(mockFileManager.writeOperations.keys.contains(xcp))
     } catch let e {
@@ -296,7 +304,6 @@
   private func prepareGenerator(_ ruleEntries: [BuildLabel: RuleEntry]) {
     let options = TulsiOptionSet()
     // To avoid creating ~/Library folders and changing UserDefaults during CI testing.
-    options.options[.DisableDBGShellCommandsCaching]?.projectValue = "YES"
     config = TulsiGeneratorConfig(projectName: XcodeProjectGeneratorTests.projectName,
                                   buildTargetLabels: Array(ruleEntries.keys),
                                   pathFilters: pathFilters,
@@ -309,6 +316,10 @@
     let tulsiworkspace = projectURL.appendingPathComponent("tulsi-workspace")
     mockFileManager.allowedDirectoryCreates.insert(tulsiworkspace.path)
 
+    let bazelCacheReaderURL = mockFileManager.homeDirectoryForCurrentUser.appendingPathComponent(
+        "Library/Application Support/Tulsi/Scripts", isDirectory: true)
+    mockFileManager.allowedDirectoryCreates.insert(bazelCacheReaderURL.path)
+
     let xcshareddata = projectURL.appendingPathComponent("project.xcworkspace/xcshareddata")
     mockFileManager.allowedDirectoryCreates.insert(xcshareddata.path)
 
@@ -351,6 +362,7 @@
                                       fileManager: mockFileManager,
                                       pbxTargetGeneratorType: MockPBXTargetGenerator.self)
     generator.redactWorkspaceSymlink = true
+    generator.suppressModifyingUserDefaults = true
     generator.writeDataHandler = { (url, _) in
       self.writtenFiles.insert(url.path)
     }
@@ -362,11 +374,16 @@
 class MockFileManager: FileManager {
   var filesThatExist = Set<String>()
   var allowedDirectoryCreates = Set<String>()
+  var directoryOperations = [String]()
   var copyOperations = [String: String]()
   var writeOperations = [String: Data]()
   var removeOperations = [String]()
   var mockContent = [String: Data]()
 
+  override open var homeDirectoryForCurrentUser: URL {
+    return URL(fileURLWithPath: "/Users/__MOCK_USER__", isDirectory: true)
+  }
+
   override func fileExists(atPath path: String) -> Bool {
     return filesThatExist.contains(path)
   }
@@ -374,7 +391,10 @@
   override func createDirectory(at url: URL,
                                      withIntermediateDirectories createIntermediates: Bool,
                                      attributes: [FileAttributeKey:Any]?) throws {
-    if allowedDirectoryCreates.contains(url.path) { return }
+    guard !allowedDirectoryCreates.contains(url.path) else {
+      directoryOperations.append(url.path)
+      return
+    }
     throw NSError(domain: "MockFileManager: Directory creation disallowed",
                   code: 0,
                   userInfo: nil)
@@ -383,7 +403,10 @@
   override func createDirectory(atPath path: String,
                                       withIntermediateDirectories createIntermediates: Bool,
                                       attributes: [FileAttributeKey:Any]?) throws {
-    if allowedDirectoryCreates.contains(path) { return }
+    guard !allowedDirectoryCreates.contains(path) else {
+      directoryOperations.append(path)
+      return
+    }
     throw NSError(domain: "MockFileManager: Directory creation disallowed",
                   code: 0,
                   userInfo: nil)