Remove --xcode_override_workspace_root and --experimental_use_absolute_paths_for_actions.

These flags are old and unused -- with the deletion of xcodegen, addition of Tulsi, and near-migration to crosstool objc compilation, these flags are long-deprecated and are now cleaned up.

RELNOTES: None.
PiperOrigin-RevId: 160578161
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java
index b013fbf..76f3234 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java
@@ -312,28 +312,10 @@
 
     // Add input source file arguments
     commandLine.add("-c");
-    if (!sourceFile.getExecPath().isAbsolute()
-        && objcConfiguration.getUseAbsolutePathsForActions()) {
-      String workspaceRoot = objcConfiguration.getXcodeWorkspaceRoot();
-
-      // If the source file is a tree artifact, it means the file is basically a directory that may
-      // contain multiple concrete source files at execution time. When constructing the command
-      // line, we insert the source tree artifact as a placeholder, which will be replaced with
-      // one of its contained source files of type {@link Artifact.TreeFileArtifact} at execution
-      // time.
-      //
-      // We also do something similar for the object file arguments below.
-      if (sourceFile.isTreeArtifact()) {
-        commandLine.addPlaceholderTreeArtifactFormattedExecPath(workspaceRoot + "/%s", sourceFile);
-      } else {
-        commandLine.addPaths(workspaceRoot + "/%s", sourceFile.getExecPath());
-      }
+    if (sourceFile.isTreeArtifact()) {
+      commandLine.addPlaceholderTreeArtifactExecPath(sourceFile);
     } else {
-      if (sourceFile.isTreeArtifact()) {
-        commandLine.addPlaceholderTreeArtifactExecPath(sourceFile);
-      } else {
-        commandLine.addPath(sourceFile.getExecPath());
-      }
+      commandLine.addPath(sourceFile.getExecPath());
     }
 
     // Add output object file arguments.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
index ee7427f..de18d2c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
@@ -206,28 +206,6 @@
   public String iosSigningCertName;
 
   @Option(
-    name = "experimental_use_absolute_paths_for_actions",
-    defaultValue = "false",
-    optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
-    documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
-    effectTags = {OptionEffectTag.UNKNOWN},
-    help = "If set, then all actions objc actions will be executed with absolute paths."
-  )
-  public boolean useAbsolutePathsForActions;
-
-  @Option(
-    name = "xcode_override_workspace_root",
-    defaultValue = "",
-    category = "xcode",
-    documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
-    effectTags = {OptionEffectTag.UNKNOWN},
-    help =
-        "If set, then this path will be used as workspace_root and mainGroup path when "
-            + "generating an .xcodeproj/project.pbxproj file."
-  )
-  public String xcodeOverrideWorkspaceRoot;
-
-  @Option(
     name = "objc_includes_prioritize_static_libs",
     defaultValue = "true",
     category = "flags",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
index 720f09c..bd67eff 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
@@ -29,7 +29,6 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.util.Preconditions;
-import com.google.devtools.build.lib.vfs.Path;
 import javax.annotation.Nullable;
 
 /** A compiler configuration containing flags required for Objective-C compilation. */
@@ -69,9 +68,6 @@
   private final boolean enableBinaryStripping;
   private final boolean moduleMapsEnabled;
   @Nullable private final String signingCertName;
-  @Nullable private final Path clientWorkspaceRoot;
-  private final String xcodeOverrideWorkspaceRoot;
-  private final boolean useAbsolutePathsForActions;
   private final boolean prioritizeStaticLibs;
   private final boolean debugWithGlibcxx;
   @Nullable private final Label extraEntitlements;
@@ -107,10 +103,7 @@
     this.fastbuildOptions = ImmutableList.copyOf(objcOptions.fastbuildOptions);
     this.enableBinaryStripping = objcOptions.enableBinaryStripping;
     this.moduleMapsEnabled = objcOptions.enableModuleMaps;
-    this.clientWorkspaceRoot = directories != null ? directories.getWorkspace() : null;
     this.signingCertName = objcOptions.iosSigningCertName;
-    this.xcodeOverrideWorkspaceRoot = objcOptions.xcodeOverrideWorkspaceRoot;
-    this.useAbsolutePathsForActions = objcOptions.useAbsolutePathsForActions;
     this.prioritizeStaticLibs = objcOptions.prioritizeStaticLibs;
     this.debugWithGlibcxx = objcOptions.debugWithGlibcxx;
     this.extraEntitlements = objcOptions.extraEntitlements;
@@ -271,32 +264,6 @@
   }
 
   /**
-   * If true, all calls to actions are done with absolute paths instead of relative paths.
-   * Using absolute paths allows Xcode to debug and deal with blaze errors in the GUI properly.
-   */
-  public boolean getUseAbsolutePathsForActions() {
-    return this.useAbsolutePathsForActions;
-  }
-
-  /**
-   * Returns the path to be used for workspace_root (and path of pbxGroup mainGroup) in xcodeproj.
-   * This usually will be the absolute path of the root of Bazel client workspace or null if
-   * passed-in {@link BlazeDirectories} is null or Bazel fails to find the workspace root directory.
-   * It can also be overridden by the {@code --xcode_override_workspace_root} flag, in which case
-   * the path can be absolute or relative.
-   */
-  @Nullable
-  public String getXcodeWorkspaceRoot() {
-    if (!this.xcodeOverrideWorkspaceRoot.isEmpty()) {
-      return this.xcodeOverrideWorkspaceRoot;
-    }
-    if (this.clientWorkspaceRoot == null) {
-      return null;
-    }
-    return this.clientWorkspaceRoot.getPathString();
-  }
-
-  /**
    * Returns the flag-supplied certificate name to be used in signing or {@code null} if no such
    * certificate was specified.
    */