diff options
author | 2017-07-31 19:23:52 +0200 | |
---|---|---|
committer | 2017-07-31 20:20:46 +0200 | |
commit | c32e1b1efcd703b3780de47fba62974123593d71 (patch) | |
tree | 78f4968a6cce9ff56831f7344f65923e43904768 /src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java | |
parent | 52f11c6d3c2052a57db76957909f3c89a26eb251 (diff) |
Use RequiredProviders to validate rule prerequisites in RuleContext.
We now use a unified way to check provider requirements everywhere.
RELNOTES: None.
PiperOrigin-RevId: 163710961
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java index 9b8be1f250..a998570d8f 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java @@ -104,12 +104,6 @@ public abstract class AbstractConfiguredTarget @Override public Object getValue(String name) { switch (name) { - case FILES_FIELD: - case DEFAULT_RUNFILES_FIELD: - case DATA_RUNFILES_FIELD: - case FilesToRunProvider.SKYLARK_NAME: - // Standard fields should be proxied to their default provider object - return getDefaultProvider().getValue(name); case LABEL_FIELD: return getLabel(); default: @@ -206,7 +200,19 @@ public abstract class AbstractConfiguredTarget if (OutputGroupProvider.SKYLARK_NAME.equals(providerKey)) { return get(OutputGroupProvider.SKYLARK_CONSTRUCTOR); } - return rawGetSkylarkProvider(providerKey); + switch (providerKey) { + case FILES_FIELD: + case DEFAULT_RUNFILES_FIELD: + case DATA_RUNFILES_FIELD: + case FilesToRunProvider.SKYLARK_NAME: + // Standard fields should be proxied to their default provider object + return getDefaultProvider().getValue(providerKey); + case OutputGroupProvider.SKYLARK_NAME: + return get(OutputGroupProvider.SKYLARK_CONSTRUCTOR); + default: + return rawGetSkylarkProvider(providerKey); + } + } /** Implement in subclasses to get a skylark provider for a given {@code providerKey}. */ |