Skip uploading source files to BEP.

Instead of trusting Artifact#isSource, we resolve all symlinks and compare against the package path.

RELNOTES: None
PiperOrigin-RevId: 214475899
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java b/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
index 1906853..a4c793b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
@@ -302,19 +302,13 @@
     for (ArtifactsInOutputGroup group : outputs) {
       if (group.areImportant()) {
         for (Artifact artifact : group.getArtifacts()) {
-          builder.add(
-              new LocalFile(
-                  pathResolver.toPath(artifact),
-                  artifact.isSourceArtifact() ? LocalFileType.SOURCE : LocalFileType.OUTPUT));
+          builder.add(new LocalFile(pathResolver.toPath(artifact), LocalFileType.OUTPUT));
         }
       }
     }
     if (baselineCoverageArtifacts != null) {
       for (Artifact artifact : baselineCoverageArtifacts) {
-        builder.add(
-            new LocalFile(
-                pathResolver.toPath(artifact),
-                artifact.isSourceArtifact() ? LocalFileType.SOURCE : LocalFileType.OUTPUT));
+        builder.add(new LocalFile(pathResolver.toPath(artifact), LocalFileType.OUTPUT));
       }
     }
     return builder.build();
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventstream/BuildEvent.java b/src/main/java/com/google/devtools/build/lib/buildeventstream/BuildEvent.java
index 3342909..3a6cd03 100644
--- a/src/main/java/com/google/devtools/build/lib/buildeventstream/BuildEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/buildeventstream/BuildEvent.java
@@ -40,7 +40,6 @@
      * associated files for.
      */
     public enum LocalFileType {
-      SOURCE,
       OUTPUT,
       SUCCESSFUL_TEST_OUTPUT,
       FAILED_TEST_OUTPUT,
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/NamedArtifactGroup.java b/src/main/java/com/google/devtools/build/lib/runtime/NamedArtifactGroup.java
index 9bf0f23..2ec940d 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/NamedArtifactGroup.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/NamedArtifactGroup.java
@@ -64,10 +64,7 @@
       if (artifact.isMiddlemanArtifact()) {
         continue;
       }
-      artifacts.add(
-          new LocalFile(
-              pathResolver.toPath(artifact),
-              artifact.isSourceArtifact() ? LocalFileType.SOURCE : LocalFileType.OUTPUT));
+      artifacts.add(new LocalFile(pathResolver.toPath(artifact), LocalFileType.OUTPUT));
     }
     return artifacts.build();
   }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index c050c9f..5c5044c 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -1041,6 +1041,10 @@
     return pkgLocator.get().getPathEntries();
   }
 
+  public AtomicReference<PathPackageLocator> getPackageLocator() {
+    return pkgLocator;
+  }
+
   protected abstract void invalidate(Predicate<SkyKey> pred);
 
   private static boolean compatibleFileTypes(Dirent.Type oldType, FileStateType newType) {