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.java12
1 files changed, 12 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 1cff635270..81e89562b4 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
@@ -424,6 +424,13 @@ public class AndroidCommon {
}
}
+ if (disallowDepsWithoutSrcs(ruleContext.getRule().getRuleClass())
+ && ruleContext.attributes().get("srcs", BuildType.LABEL_LIST).isEmpty()
+ && ruleContext.attributes().get("idl_srcs", BuildType.LABEL_LIST).isEmpty()
+ && !ruleContext.attributes().get("deps", BuildType.LABEL_LIST).isEmpty()) {
+ ruleContext.attributeError("deps", "deps not allowed without srcs; move to exports?");
+ }
+
JavaCompilationHelper helper = initAttributes(attributes, javaSemantics);
if (ruleContext.hasErrors()) {
return null;
@@ -449,6 +456,11 @@ public class AndroidCommon {
return helper.getAttributes();
}
+ private boolean disallowDepsWithoutSrcs(String ruleClass) {
+ return ruleClass.equals("android_library")
+ && !ruleContext.getFragment(AndroidConfiguration.class).allowSrcsLessAndroidLibraryDeps();
+ }
+
private JavaCompilationHelper initAttributes(
JavaTargetAttributes.Builder attributes, JavaSemantics semantics) {
JavaCompilationHelper helper = new JavaCompilationHelper(