aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-08-20 11:59:51 +0000
committerGravatar Lukacs Berki <lberki@google.com>2015-08-20 14:50:10 +0000
commit59967eddd100dec8664b53c53a1c1d9380295201 (patch)
tree0f2c248205e6eecae2da3b0bc2ec598721693cd2 /src/main/java/com/google/devtools/build/lib
parent4e9118a8e25c9d983767d89316907768d619cab1 (diff)
Remove a few AnalysisEnvironment.getDerivedArtifact() call sites.
-- MOS_MIGRATED_REVID=101111724
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFileManifestAction.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java23
3 files changed, 17 insertions, 24 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java b/src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java
index cb90155b80..f83c798c36 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java
@@ -23,7 +23,6 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.NotifyOnActionCacheHit;
import com.google.devtools.build.lib.analysis.RuleContext;
-import com.google.devtools.build.lib.analysis.Util;
import com.google.devtools.build.lib.analysis.actions.AbstractFileWriteAction;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
@@ -31,6 +30,7 @@ import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.syntax.Label;
import com.google.devtools.build.lib.util.Fingerprint;
+import com.google.devtools.build.lib.vfs.PathFragment;
import java.io.IOException;
import java.io.OutputStream;
@@ -121,8 +121,8 @@ public class BaselineCoverageAction extends AbstractFileWriteAction
public static NestedSet<Artifact> getBaselineCoverageArtifacts(RuleContext ruleContext,
Iterable<Artifact> instrumentedFiles) {
// Baseline coverage artifacts will still go into "testlogs" directory.
- Artifact coverageData = ruleContext.getAnalysisEnvironment().getDerivedArtifact(
- Util.getWorkspaceRelativePath(ruleContext.getTarget()).getChild("baseline_coverage.dat"),
+ Artifact coverageData = ruleContext.getPackageRelativeArtifact(
+ new PathFragment(ruleContext.getTarget().getName()).getChild("baseline_coverage.dat"),
ruleContext.getConfiguration().getTestLogsDirectory());
ruleContext.registerAction(new BaselineCoverageAction(
ruleContext.getActionOwner(), instrumentedFiles, coverageData));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFileManifestAction.java b/src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFileManifestAction.java
index e5ab219cc5..fc2df4f905 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFileManifestAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFileManifestAction.java
@@ -24,12 +24,10 @@ import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.analysis.RuleContext;
-import com.google.devtools.build.lib.analysis.Util;
import com.google.devtools.build.lib.analysis.actions.AbstractFileWriteAction;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.util.Fingerprint;
import com.google.devtools.build.lib.util.RegexFilter;
-import com.google.devtools.build.lib.vfs.FileSystemUtils;
import java.io.IOException;
import java.io.OutputStream;
@@ -109,13 +107,9 @@ class InstrumentedFileManifestAction extends AbstractFileWriteAction {
final Collection<Artifact> additionalSourceFiles, final Collection<Artifact> metadataFiles) {
// Instrumented manifest makes sense only for rules with binary output.
Preconditions.checkState(ruleContext.getRule().hasBinaryOutput());
- final Artifact instrumentedFileManifest =
- ruleContext.getAnalysisEnvironment().getDerivedArtifact(
- // Do not use replaceExtension(), as we may get name conflicts (two target-names have the
- // same base name and only differ by extension).
- FileSystemUtils.appendExtension(
- Util.getWorkspaceRelativePath(ruleContext.getTarget()), ".instrumented_files"),
- ruleContext.getConfiguration().getBinDirectory());
+ Artifact instrumentedFileManifest = ruleContext.getPackageRelativeArtifact(
+ ruleContext.getTarget().getName() + ".instrumented_files",
+ ruleContext.getConfiguration().getBinDirectory());
// Instrumented manifest artifact might already exist in case when multiple test
// actions that use slightly different subsets of runfiles set are generated for the same rule.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java
index 8b239e8f28..958e8b3779 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java
@@ -27,7 +27,6 @@ import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.RunfilesSupport;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
-import com.google.devtools.build.lib.analysis.Util;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
@@ -75,7 +74,7 @@ public final class TestActionBuilder {
local, explicitShardCount, isTestShardingCompliant(),
TestSize.getTestSize(ruleContext.getRule()));
Preconditions.checkState(shards >= 0);
- return createTestAction(Util.getWorkspaceRelativePath(ruleContext.getLabel()), shards);
+ return createTestAction(shards);
}
private boolean isTestShardingCompliant() {
@@ -176,12 +175,12 @@ public final class TestActionBuilder {
* Creates a test action and artifacts for the given rule. The test action will
* use the specified executable and runfiles.
*
- * @param targetName the relative path of the target to run
* @return ordered list of test artifacts, one per action. These are used to drive
* execution in Skyframe, and by AggregatingTestListener and
* TestResultAnalyzer to keep track of completed and pending test runs.
*/
- private TestParams createTestAction(PathFragment targetName, int shards) {
+ private TestParams createTestAction(int shards) {
+ PathFragment targetName = new PathFragment(ruleContext.getLabel().getName());
BuildConfiguration config = ruleContext.getConfiguration();
AnalysisEnvironment env = ruleContext.getAnalysisEnvironment();
Root root = config.getTestLogsDirectory();
@@ -247,22 +246,22 @@ public final class TestActionBuilder {
for (int shard = 0; shard < shardRuns; shard++) {
String suffix = (shardRuns > 1 ? String.format("_shard_%d_of_%d", shard + 1, shards) : "")
+ runSuffix;
- Artifact testLog = env.getDerivedArtifact(
- targetName.getChild("test" + suffix + ".log"), root);
- Artifact cacheStatus = env.getDerivedArtifact(
- targetName.getChild("test" + suffix + ".cache_status"), root);
+ Artifact testLog = ruleContext.getPackageRelativeArtifact(
+ targetName.getRelative("test" + suffix + ".log"), root);
+ Artifact cacheStatus = ruleContext.getPackageRelativeArtifact(
+ targetName.getRelative("test" + suffix + ".cache_status"), root);
Artifact coverageArtifact = null;
if (collectCodeCoverage) {
- coverageArtifact =
- env.getDerivedArtifact(targetName.getChild("coverage" + suffix + ".dat"), root);
+ coverageArtifact = ruleContext.getPackageRelativeArtifact(
+ targetName.getRelative("coverage" + suffix + ".dat"), root);
coverageArtifacts.add(coverageArtifact);
}
Artifact microCoverageArtifact = null;
if (collectCodeCoverage && config.isMicroCoverageEnabled()) {
- microCoverageArtifact =
- env.getDerivedArtifact(targetName.getChild("coverage" + suffix + ".micro.dat"), root);
+ microCoverageArtifact = ruleContext.getPackageRelativeArtifact(
+ targetName.getRelative("coverage" + suffix + ".micro.dat"), root);
}
env.registerAction(new TestRunnerAction(