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 | 12 |
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( |