Handle iquote paths in objc more like cpp

This is to make the migration to CcCompilationContext easier.  Put the
iquote paths in the provider and use it to propagate them, and reduce
the amount of custom logic.

"." and "genfiles" are automatically added by
CcCompilationHelper.initializeCcCompilationContext(), so no need to do
anything on the objc side.

RELNOTES: None
PiperOrigin-RevId: 282415307
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
index 4fe7a17..9c43597 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
@@ -25,6 +25,7 @@
 import static com.google.devtools.build.lib.rules.objc.ObjcProvider.IMPORTED_LIBRARY;
 import static com.google.devtools.build.lib.rules.objc.ObjcProvider.INCLUDE;
 import static com.google.devtools.build.lib.rules.objc.ObjcProvider.INCLUDE_SYSTEM;
+import static com.google.devtools.build.lib.rules.objc.ObjcProvider.IQUOTE;
 import static com.google.devtools.build.lib.rules.objc.ObjcProvider.LIBRARY;
 import static com.google.devtools.build.lib.rules.objc.ObjcProvider.LINK_INPUTS;
 import static com.google.devtools.build.lib.rules.objc.ObjcProvider.SDK_DYLIB;
@@ -346,8 +347,7 @@
             .setPropagateModuleMapToCompileAction(false)
             .addVariableExtension(extension)
             .setPurpose(purpose)
-            .addQuoteIncludeDirs(
-                ObjcCommon.userHeaderSearchPaths(objcProvider, ruleContext.getConfiguration()))
+            .addQuoteIncludeDirs(objcProvider.get(IQUOTE))
             .setCodeCoverageEnabled(CcCompilationHelper.isCodeCoverageEnabled(ruleContext))
             .setHeadersCheckingMode(semantics.determineHeadersCheckingMode(ruleContext));
 
@@ -485,8 +485,6 @@
             nonObjcArcCompilationInfo.getCcCompilationContext()));
     ccCompilationContextBuilder.setPurpose(
         String.format("%s_merged_arc_non_arc_objc", semantics.getPurpose()));
-    ccCompilationContextBuilder.addQuoteIncludeDirs(
-        ObjcCommon.userHeaderSearchPaths(objcProvider, ruleContext.getConfiguration()));
 
     CcCompilationOutputs precompiledFilesObjects =
         CcCompilationOutputs.builder()
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
index 4f0bab4..83a2ebb 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
@@ -491,15 +491,6 @@
         ruleContext.getExpander().withDataLocations().tokenized("copts"));
   }
 
-  static ImmutableSet<PathFragment> userHeaderSearchPaths(
-      ObjcProvider provider, BuildConfiguration config) {
-    return ImmutableSet.<PathFragment>builder()
-        .add(PathFragment.create("."))
-        .add(config.getGenfilesFragment())
-        .addAll(provider.get(IQUOTE))
-        .build();
-  }
-
   /**
    * Returns the first directory in the sequence of parents of the exec path of the given artifact
    * that matches {@code type}. For instance, if {@code type} is FileType.of(".foo") and the exec
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
index df53e3e..6e4a32e 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
@@ -55,7 +55,6 @@
 import com.google.devtools.build.lib.rules.cpp.LibraryToLink;
 import com.google.devtools.build.lib.rules.objc.ObjcProvider.Key;
 import com.google.devtools.build.lib.testutil.TestConstants;
-import com.google.devtools.build.lib.vfs.PathFragment;
 import com.google.devtools.common.options.OptionsParsingException;
 import java.util.List;
 import java.util.Set;
@@ -394,14 +393,6 @@
     assertThat(view.hasErrors(getConfiguredTarget("//objc:lib"))).isFalse();
   }
 
-  static Iterable<String> iquoteArgs(ObjcProvider provider, BuildConfiguration configuration) {
-    return Interspersing.beforeEach(
-        "-iquote",
-        Iterables.transform(
-            ObjcCommon.userHeaderSearchPaths(provider, configuration),
-            PathFragment::getSafePathString));
-  }
-
   @Test
   public void testCompilationActions_simulator() throws Exception {
     useConfiguration("--apple_platform_type=ios", "--cpu=ios_i386", "--ios_cpu=i386");
@@ -1300,10 +1291,10 @@
                 .add("-arch x86_64")
                 .add("-isysroot", AppleToolchain.sdkDir())
                 .addAll(FASTBUILD_COPTS)
-                .addAll(
-                    iquoteArgs(
-                        getConfiguredTarget("//objc:lib").get(ObjcProvider.SKYLARK_CONSTRUCTOR),
-                        getAppleCrosstoolConfiguration()))
+                .add("-iquote", ".")
+                .add(
+                    "-iquote",
+                    getAppleCrosstoolConfiguration().getGenfilesFragment().getSafePathString())
                 .add("-include", "objc/some.pch")
                 .add("-fobjc-arc")
                 .add("-c", "objc/a.m")