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);