diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java index 40c5a61a6b..d590dd635c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java @@ -34,6 +34,7 @@ import com.google.devtools.build.lib.analysis.actions.CustomCommandLine; import com.google.devtools.build.lib.analysis.actions.FileWriteAction; import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.analysis.test.InstrumentedFilesCollector.InstrumentationSpec; +import com.google.devtools.build.lib.analysis.whitelisting.Whitelist; import com.google.devtools.build.lib.collect.IterablesChain; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; @@ -114,6 +115,8 @@ public class AndroidCommon { return builder.build(); } + public static final String RESOURCES_WHITELIST_NAME = "android_resources"; + private final RuleContext ruleContext; private final JavaCommon javaCommon; private final boolean asNeverLink; @@ -1032,4 +1035,14 @@ public class AndroidCommon { } return supportApks.build(); } + + public static void validateResourcesAttribute(RuleContext ruleContext) throws RuleErrorException { + if (ruleContext.attributes().isAttributeValueExplicitlySpecified("resources") + && !ruleContext.getFragment(AndroidConfiguration.class).allowResourcesAttr() + && !Whitelist.isAvailable(ruleContext, RESOURCES_WHITELIST_NAME)) { + ruleContext.throwWithAttributeError( + "resources", + "The resources attribute has been removed. Please use resource_files instead."); + } + } } |