diff options
author | Lukacs Berki <lberki@google.com> | 2015-08-20 11:59:51 +0000 |
---|---|---|
committer | Lukacs Berki <lberki@google.com> | 2015-08-20 14:50:10 +0000 |
commit | 59967eddd100dec8664b53c53a1c1d9380295201 (patch) | |
tree | 0f2c248205e6eecae2da3b0bc2ec598721693cd2 /src/main/java/com/google/devtools/build/lib | |
parent | 4e9118a8e25c9d983767d89316907768d619cab1 (diff) |
Remove a few AnalysisEnvironment.getDerivedArtifact() call sites.
--
MOS_MIGRATED_REVID=101111724
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
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( |