diff options
author | 2016-03-11 18:58:23 +0000 | |
---|---|---|
committer | 2016-03-11 21:29:56 +0000 | |
commit | 9beb1e2f1c774775813494b57a7c576390d846ed (patch) | |
tree | 4dfd8b3b5760b401bcea0ba43743f9a6902c43df /src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java | |
parent | 3c35021eb39218119328522acccebcfe652906a9 (diff) |
Allow android_library with android resource attributes to have deps without srcs instead of throwing an error.
Implicit exporting of the deps of an android_library rule that doesn't have srcs
is deprecated and will soon be removed.
--
MOS_MIGRATED_REVID=116988446
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java index 189c3fd793..529e10f7b7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.config.CompilationMode; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; +import com.google.devtools.build.lib.packages.BuildType; import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; import com.google.devtools.build.lib.rules.android.AndroidLibraryAarProvider.Aar; import com.google.devtools.build.lib.rules.android.AndroidResourcesProvider.ResourceContainer; @@ -103,6 +104,14 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { ResourceDependencies.fromRuleResourceAndDeps(ruleContext, false /* neverlink */)); } + if (!ruleContext.getFragment(AndroidConfiguration.class).allowSrcsLessAndroidLibraryDeps() + && !definesLocalResources + && 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?"); + } + JavaTargetAttributes javaTargetAttributes = androidCommon.init( javaSemantics, androidSemantics, |