Add repository parameter to source artifact resolver

Needed for #1262. Doesn't do anything, yet, other than make the CL smaller.

--
MOS_MIGRATED_REVID=132671036
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java b/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
index 973e95d..bba4928 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
@@ -348,7 +348,8 @@
   }
 
   @Override
-  public Artifact resolveSourceArtifact(PathFragment execPath) {
+  public Artifact resolveSourceArtifact(PathFragment execPath,
+      @SuppressWarnings("unused") RepositoryName repositoryName) {
     return resolveSourceArtifactWithAncestor(execPath, null, null);
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ArtifactResolver.java b/src/main/java/com/google/devtools/build/lib/actions/ArtifactResolver.java
index 58b36c9..7bb3b01 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ArtifactResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ArtifactResolver.java
@@ -14,6 +14,7 @@
 
 package com.google.devtools.build.lib.actions;
 
+import com.google.devtools.build.lib.cmdline.RepositoryName;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.Map;
 import javax.annotation.Nullable;
@@ -51,10 +52,11 @@
    * post-compile .d or manifest scanning methods.
    *
    * @param execPath the exec path of the artifact to resolve
+   * @param repositoryName the name of repository this artifact belongs to
    * @return an existing or new source Artifact for the given execPath. Returns null if
    *         the root can not be determined and the artifact did not exist before.
    */
-  Artifact resolveSourceArtifact(PathFragment execPath);
+  Artifact resolveSourceArtifact(PathFragment execPath, RepositoryName repositoryName);
 
   /**
    * Resolves source Artifacts given execRoot-relative paths.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscovery.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscovery.java
index 96c7b81..512281a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscovery.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscovery.java
@@ -20,6 +20,7 @@
 import com.google.devtools.build.lib.actions.ActionExecutionException;
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.actions.ArtifactResolver;
+import com.google.devtools.build.lib.cmdline.RepositoryName;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadCompatible;
@@ -119,7 +120,7 @@
       }
       Artifact artifact = allowedDerivedInputsMap.get(execPathFragment);
       if (artifact == null) {
-        artifact = artifactResolver.resolveSourceArtifact(execPathFragment);
+        artifact = artifactResolver.resolveSourceArtifact(execPathFragment, RepositoryName.MAIN);
       }
       if (artifact != null) {
         inputs.add(artifact);
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java b/src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java
index cfdeef4..c0bec56 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java
@@ -28,6 +28,7 @@
 import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
 import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
 import com.google.devtools.build.lib.cmdline.PackageIdentifier;
+import com.google.devtools.build.lib.cmdline.RepositoryName;
 import com.google.devtools.build.lib.testutil.Scratch;
 import com.google.devtools.build.lib.vfs.Path;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -50,6 +51,8 @@
 @RunWith(JUnit4.class)
 public class ArtifactFactoryTest {
 
+  private static final RepositoryName MAIN = RepositoryName.MAIN;
+
   private Scratch scratch = new Scratch();
 
   private Path execRoot;
@@ -120,31 +123,31 @@
   @Test
   public void testResolveArtifact_noDerived_simpleSource() throws Exception {
     assertSame(artifactFactory.getSourceArtifact(fooRelative, clientRoot),
-        artifactFactory.resolveSourceArtifact(fooRelative));
+        artifactFactory.resolveSourceArtifact(fooRelative, MAIN));
     assertSame(artifactFactory.getSourceArtifact(barRelative, clientRoRoot),
-        artifactFactory.resolveSourceArtifact(barRelative));
+        artifactFactory.resolveSourceArtifact(barRelative, MAIN));
   }
 
   @Test
   public void testResolveArtifact_inExternalRepo() throws Exception {
     assertSame(
         artifactFactory.getSourceArtifact(alienRelative, alienRoot),
-        artifactFactory.resolveSourceArtifact(alienRelative));
+        artifactFactory.resolveSourceArtifact(alienRelative, MAIN));
   }
 
   @Test
   public void testResolveArtifact_noDerived_derivedRoot() throws Exception {
     assertNull(artifactFactory.resolveSourceArtifact(
-            outRoot.getPath().getRelative(fooRelative).relativeTo(execRoot)));
+            outRoot.getPath().getRelative(fooRelative).relativeTo(execRoot), MAIN));
     assertNull(artifactFactory.resolveSourceArtifact(
-            outRoot.getPath().getRelative(barRelative).relativeTo(execRoot)));
+            outRoot.getPath().getRelative(barRelative).relativeTo(execRoot), MAIN));
   }
 
   @Test
   public void testResolveArtifact_noDerived_simpleSource_other() throws Exception {
-    Artifact actual = artifactFactory.resolveSourceArtifact(fooRelative);
+    Artifact actual = artifactFactory.resolveSourceArtifact(fooRelative, MAIN);
     assertSame(artifactFactory.getSourceArtifact(fooRelative, clientRoot), actual);
-    actual = artifactFactory.resolveSourceArtifact(barRelative);
+    actual = artifactFactory.resolveSourceArtifact(barRelative, MAIN);
     assertSame(artifactFactory.getSourceArtifact(barRelative, clientRoRoot), actual);
   }
 
@@ -158,9 +161,9 @@
     PathFragment outsideWorkspace = new PathFragment("../foo");
     PathFragment insideWorkspace =
         new PathFragment("../" + clientRoot.getPath().getBaseName() + "/foo");
-    assertNull(artifactFactory.resolveSourceArtifact(outsideWorkspace));
+    assertNull(artifactFactory.resolveSourceArtifact(outsideWorkspace, MAIN));
     assertNull("Up-level-containing paths that descend into the right workspace aren't allowed",
-            artifactFactory.resolveSourceArtifact(insideWorkspace));
+            artifactFactory.resolveSourceArtifact(insideWorkspace, MAIN));
     MockPackageRootResolver packageRootResolver = new MockPackageRootResolver();
     packageRootResolver.setPackageRoots(packageRoots);
     Map<PathFragment, Artifact> result = new HashMap<>();