aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2017-03-03 14:06:45 +0000
committerGravatar Yue Gan <yueg@google.com>2017-03-06 09:44:22 +0000
commit0ca44769ea775485aac177664a13d4e178fa037b (patch)
tree3f860ad53e3ba6e4bf66f49f15adc335108c1799 /src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java
parent6935ad673a9d1ee88945191c210dc80edfe02d84 (diff)
Pass the repository name through to build info factories
I was fixing the Android tests and I noticed that the bazel_workspace_status_test was failing. It was like when you have a thread coming out of a sweater and you start pulling and pretty soon you have no sweater. Long story short, my "Android tests fix" cl ended up needing ~1k more lines changed (on top of the existing enormous CL). So, I'm creating some smaller CLs with the changes that I can extract from the mega CL. Again. Prep for #1681. -- PiperOrigin-RevId: 149106039 MOS_MIGRATED_REVID=149106039
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java
index 652fc820e4..1d5d2b36c5 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory;
import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory.BuildInfoContext;
import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory.BuildInfoKey;
import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory.BuildInfoType;
+import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.skyframe.BuildInfoCollectionValue.BuildInfoKeyAndConfig;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.skyframe.SkyFunction;
@@ -54,6 +55,13 @@ public class BuildInfoCollectionFunction implements SkyFunction {
if (buildInfoFactories == null) {
return null;
}
+ WorkspaceNameValue nameValue = (WorkspaceNameValue) env.getValue(WorkspaceNameValue.key());
+ if (nameValue == null) {
+ return null;
+ }
+ RepositoryName repositoryName = RepositoryName.createFromValidStrippedName(
+ nameValue.maybeGetName());
+
final ArtifactFactory factory = artifactFactory.get();
BuildInfoContext context = new BuildInfoContext() {
@Override
@@ -65,9 +73,9 @@ public class BuildInfoCollectionFunction implements SkyFunction {
}
};
- return new BuildInfoCollectionValue(buildInfoFactories.get(
- keyAndConfig.getInfoKey()).create(context, keyAndConfig.getConfig(),
- infoArtifactValue.getStableArtifact(), infoArtifactValue.getVolatileArtifact()));
+ return new BuildInfoCollectionValue(buildInfoFactories.get(keyAndConfig.getInfoKey()).create(
+ context, keyAndConfig.getConfig(), infoArtifactValue.getStableArtifact(),
+ infoArtifactValue.getVolatileArtifact(), repositoryName));
}
@Override