aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
diff options
context:
space:
mode:
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.java13
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.");
+ }
+ }
}