For Java, only collect .java source files for coverage.

--
MOS_MIGRATED_REVID=101930967
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
index 83539ff..92de410 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
@@ -46,9 +46,6 @@
 import com.google.devtools.build.lib.rules.java.JavaTargetAttributes;
 import com.google.devtools.build.lib.rules.java.JavaUtil;
 import com.google.devtools.build.lib.rules.java.Jvm;
-import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.InstrumentationSpec;
-import com.google.devtools.build.lib.util.FileType;
-import com.google.devtools.build.lib.util.FileTypeSet;
 import com.google.devtools.build.lib.util.ShellEscaper;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -67,10 +64,6 @@
   private static final Template STUB_SCRIPT =
       Template.forResource(BazelJavaSemantics.class, "java_stub_template.txt");
 
-  public static final InstrumentationSpec GREEDY_COLLECTION_SPEC = new InstrumentationSpec(
-      FileTypeSet.of(FileType.of(".sh"), JavaSemantics.JAVA_SOURCE),
-      "srcs", "deps", "data");
-
   private static final String JAVABUILDER_CLASS_NAME =
       "com.google.devtools.build.buildjar.BazelJavaBuilder";
 
@@ -222,11 +215,6 @@
   }
 
   @Override
-  public InstrumentationSpec getCoverageInstrumentationSpec() {
-    return GREEDY_COLLECTION_SPEC.withAttributes("srcs", "deps", "data", "exports", "runtime_deps");
-  }
-
-  @Override
   public Iterable<String> getExtraJavacOpts(RuleContext ruleContext) {
     return ImmutableList.<String>of();
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
index 317122e..114e221 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
@@ -44,10 +44,12 @@
 import com.google.devtools.build.lib.rules.java.DirectDependencyProvider.Dependency;
 import com.google.devtools.build.lib.rules.java.JavaCompilationArgs.ClasspathType;
 import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector;
+import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.InstrumentationSpec;
 import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.LocalMetadataCollector;
 import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider;
 import com.google.devtools.build.lib.syntax.Label;
 import com.google.devtools.build.lib.util.FileType;
+import com.google.devtools.build.lib.util.FileTypeSet;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
 import com.google.devtools.build.lib.vfs.PathFragment;
 
@@ -73,6 +75,9 @@
         }
       };
 
+  public static final InstrumentationSpec JAVA_COLLECTION_SPEC = new InstrumentationSpec(
+      FileTypeSet.of(JavaSemantics.JAVA_SOURCE), "srcs", "deps", "data", "exports", "runtime_deps");
+
   /**
    * Collects all metadata files generated by Java compilation actions.
    */
@@ -519,7 +524,7 @@
   public void addTransitiveInfoProviders(RuleConfiguredTargetBuilder builder,
       NestedSet<Artifact> filesToBuild, @Nullable Artifact classJar) {
     InstrumentedFilesProvider instrumentedFilesProvider = InstrumentedFilesCollector.collect(
-        ruleContext, semantics.getCoverageInstrumentationSpec(), JAVA_METADATA_COLLECTOR,
+        ruleContext, JAVA_COLLECTION_SPEC, JAVA_METADATA_COLLECTOR,
         filesToBuild, /*withBaselineCoverage*/!TargetUtils.isTestRule(ruleContext.getTarget()));
 
     builder
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java
index f025762..bb7cc83 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java
@@ -34,7 +34,6 @@
 import com.google.devtools.build.lib.packages.ImplicitOutputsFunction.SafeImplicitOutputsFunction;
 import com.google.devtools.build.lib.packages.Rule;
 import com.google.devtools.build.lib.rules.java.DeployArchiveBuilder.Compression;
-import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.InstrumentationSpec;
 import com.google.devtools.build.lib.syntax.Label;
 import com.google.devtools.build.lib.util.FileType;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -260,11 +259,6 @@
   void addRunfilesForLibrary(RuleContext ruleContext, Runfiles.Builder runfilesBuilder);
 
   /**
-   * Returns the coverage instrumentation specification to be used in Java rules.
-   */
-  InstrumentationSpec getCoverageInstrumentationSpec();
-
-  /**
    * Returns the additional options to be passed to javac.
    */
   Iterable<String> getExtraJavacOpts(RuleContext ruleContext);