aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2018-06-15 03:23:58 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-15 03:25:10 -0700
commit940fbd7aafc8227a5ff110ddac1be71d17225adf (patch)
treee0f3a98f47d60a13ba3e3933c99ecc2d3a8f45d7 /src/main/java
parent816f3ef7c8811cd1abd9ff807dc8ff1d9f6e10ac (diff)
Add the BuildConfigurationCollection to the AnalysisResult
This is in preparation for interleaving config creation with loading+analysis. PiperOrigin-RevId: 200695071
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/AnalysisResult.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BuildView.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/PostAnalysisQueryBuildTool.java6
5 files changed, 19 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisResult.java b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisResult.java
index 6239328a60..401551333b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisResult.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisResult.java
@@ -19,6 +19,7 @@ import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.ActionGraph;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.PackageRoots;
+import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection;
import com.google.devtools.build.lib.skyframe.AspectValue;
import java.util.Collection;
import java.util.List;
@@ -28,6 +29,7 @@ import javax.annotation.Nullable;
* Return value for {@link com.google.devtools.build.lib.buildtool.AnalysisPhaseRunner}.
*/
public final class AnalysisResult {
+ private final BuildConfigurationCollection configurations;
private final ImmutableSet<ConfiguredTarget> targetsToBuild;
@Nullable private final ImmutableList<ConfiguredTarget> targetsToTest;
private final ImmutableSet<ConfiguredTarget> targetsToSkip;
@@ -43,6 +45,7 @@ public final class AnalysisResult {
private final List<TargetAndConfiguration> topLevelTargetsWithConfigs;
AnalysisResult(
+ BuildConfigurationCollection configurations,
Collection<ConfiguredTarget> targetsToBuild,
ImmutableSet<AspectValue> aspects,
Collection<ConfiguredTarget> targetsToTest,
@@ -56,6 +59,7 @@ public final class AnalysisResult {
PackageRoots packageRoots,
String workspaceName,
List<TargetAndConfiguration> topLevelTargetsWithConfigs) {
+ this.configurations = configurations;
this.targetsToBuild = ImmutableSet.copyOf(targetsToBuild);
this.aspects = aspects;
this.targetsToTest = targetsToTest == null ? null : ImmutableList.copyOf(targetsToTest);
@@ -71,6 +75,10 @@ public final class AnalysisResult {
this.topLevelTargetsWithConfigs = topLevelTargetsWithConfigs;
}
+ public BuildConfigurationCollection getConfigurationCollection() {
+ return configurations;
+ }
+
/**
* Returns configured targets to build.
*/
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index 1b3e29121c..c223113d7b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -342,6 +342,7 @@ public class BuildView {
createResult(
eventHandler,
loadingResult,
+ configurations,
topLevelOptions,
viewOptions,
skyframeAnalysisResult,
@@ -354,6 +355,7 @@ public class BuildView {
private AnalysisResult createResult(
ExtendedEventHandler eventHandler,
LoadingResult loadingResult,
+ BuildConfigurationCollection configurations,
TopLevelArtifactContext topLevelOptions,
AnalysisOptions viewOptions,
SkyframeAnalysisResult skyframeAnalysisResult,
@@ -438,6 +440,7 @@ public class BuildView {
}
};
return new AnalysisResult(
+ configurations,
configuredTargets,
aspects,
allTargetsToTest,
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java
index 32307e0b43..b88952acc6 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java
@@ -229,14 +229,13 @@ public class BuildTool {
AbortReason.SKIPPED,
String.format("Target %s build was skipped.", label), label));
}
- postProcessAnalysisResult(request, analysisResult, configurations);
+ postProcessAnalysisResult(request, analysisResult);
// Execution phase.
if (needsExecutionPhase(request.getBuildOptions())) {
executionTool.executeBuild(
request.getId(),
analysisResult,
result,
- configurations,
analysisResult.getPackageRoots(),
request.getTopLevelArtifactContext());
} else {
@@ -303,10 +302,10 @@ public class BuildTool {
*/
protected void postProcessAnalysisResult(
BuildRequest request,
- AnalysisResult analysisResult,
- BuildConfigurationCollection configurations)
+ AnalysisResult analysisResult)
throws InterruptedException, ViewCreationFailedException,
- PostAnalysisQueryCommandLineException {}
+ PostAnalysisQueryCommandLineException {
+ }
private void reportExceptionError(Exception e) {
if (e.getMessage() != null) {
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
index 8f1e409fab..58afd6b430 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
@@ -47,7 +47,6 @@ import com.google.devtools.build.lib.analysis.TopLevelArtifactHelper;
import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
import com.google.devtools.build.lib.analysis.actions.SymlinkTreeActionContext;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
-import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection;
import com.google.devtools.build.lib.buildtool.buildevent.ExecutionPhaseCompleteEvent;
import com.google.devtools.build.lib.buildtool.buildevent.ExecutionStartingEvent;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
@@ -213,7 +212,6 @@ public class ExecutionTool {
UUID buildId,
AnalysisResult analysisResult,
BuildResult buildResult,
- BuildConfigurationCollection configurations,
PackageRoots packageRoots,
TopLevelArtifactContext topLevelArtifactContext)
throws BuildFailedException, InterruptedException, TestExecException, AbruptExitException {
@@ -253,7 +251,8 @@ public class ExecutionTool {
.distinct()
.map((key) -> env.getSkyframeExecutor().getConfiguration(env.getReporter(), key))
.collect(toImmutableSet())
- : ImmutableSet.copyOf(configurations.getTargetConfigurations());
+ : ImmutableSet.copyOf(
+ analysisResult.getConfigurationCollection().getTargetConfigurations());
String productName = runtime.getProductName();
String workspaceName = env.getWorkspaceName();
OutputDirectoryLinksUtils.createOutputDirectoryLinks(
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/PostAnalysisQueryBuildTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/PostAnalysisQueryBuildTool.java
index 941f53efaa..31681b1af0 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/PostAnalysisQueryBuildTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/PostAnalysisQueryBuildTool.java
@@ -17,7 +17,6 @@ import com.google.devtools.build.lib.analysis.AnalysisResult;
import com.google.devtools.build.lib.analysis.TargetAndConfiguration;
import com.google.devtools.build.lib.analysis.ViewCreationFailedException;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
-import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.query2.ConfiguredTargetQueryEnvironment;
import com.google.devtools.build.lib.query2.CqueryThreadsafeCallback;
@@ -48,8 +47,7 @@ public abstract class PostAnalysisQueryBuildTool extends BuildTool {
@Override
protected void postProcessAnalysisResult(
BuildRequest request,
- AnalysisResult analysisResult,
- BuildConfigurationCollection configurations)
+ AnalysisResult analysisResult)
throws InterruptedException, ViewCreationFailedException,
PostAnalysisQueryCommandLineException {
// TODO: b/71905538 - this query will operate over the graph as constructed by analysis, but
@@ -66,7 +64,7 @@ public abstract class PostAnalysisQueryBuildTool extends BuildTool {
try {
doPostAnalysisQuery(
request,
- configurations.getHostConfiguration(),
+ analysisResult.getConfigurationCollection().getHostConfiguration(),
analysisResult.getTopLevelTargetsWithConfigs(),
queryExpression);
} catch (QueryException | IOException e) {