diff options
author | 2017-04-19 18:58:50 +0200 | |
---|---|---|
committer | 2017-04-20 11:06:33 +0200 | |
commit | dfcd5da86e2acfd42ca09c7f65e012465ab3e382 (patch) | |
tree | c97a59df14ca5e7c3953b4fac038c09b2033d207 /src/main/java/com/google/devtools/build/lib/skyframe | |
parent | ac64fd7b27ca511738801b7ac2dbb9439615183b (diff) |
Add repository override option
RELNOTES: Adds a --override_repository option that takes a repository
name and path. This forces Bazel to use the directory at that path
for the repository. Example usage:
`--override_repository=foo=/home/user/gitroot/foo`.
Fixes #1266
PiperOrigin-RevId: 153599291
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
3 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java index f0d06e0be8..2619af2b39 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java @@ -60,6 +60,11 @@ public final class PrecomputedValue implements SkyValue { void inject(Injectable injectable) { injectable.inject(precomputed.key, new PrecomputedValue(supplier.get())); } + + @Override + public String toString() { + return precomputed + ": " + supplier.get(); + } } public static <T> Injected injected(Precomputed<T> precomputed, Supplier<T> value) { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java index fe5b1d4513..dfc2657aa7 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java @@ -701,12 +701,13 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { PrecomputedValue.BLAZE_DIRECTORIES.set(injectable(), directories); PrecomputedValue.PRODUCT_NAME.set(injectable(), productName); injectBuildInfoFactories(); - injectExtraPrecomputedValues(); + injectExtraPrecomputedValues(extraPrecomputedValues); needToInjectPrecomputedValuesForAnalysis = false; } } - private void injectExtraPrecomputedValues() { + public void injectExtraPrecomputedValues( + List<PrecomputedValue.Injected> extraPrecomputedValues) { for (PrecomputedValue.Injected injected : extraPrecomputedValues) { injected.inject(injectable()); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java index 1fccf6d4da..c752d5829d 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java @@ -98,5 +98,10 @@ public class WorkspaceNameValue implements SkyValue { public int hashCode() { return HASHCODE; } + + @Override + public String toString() { + return "#"; + } } } |