aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-02-22 23:18:41 +0000
committerGravatar Yue Gan <yueg@google.com>2017-02-23 11:31:15 +0000
commit3611fb2d7c075604375258df7c260d3e41e4c42e (patch)
tree126af04c5343fa74a46850e7cb8528bb26adeeff /src/main/java/com/google
parent8c539ea7fb1fd55c6e6902004fbdcd4081fa6a65 (diff)
Incrementally dex any Android IDL runtime library
-- PiperOrigin-RevId: 148275963 MOS_MIGRATED_REVID=148275963
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java5
2 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
index ba552078e5..36eb19c3aa 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
@@ -181,7 +181,7 @@ public final class AndroidRuleClasses {
public static final SplitTransition<BuildOptions> ANDROID_SPLIT_TRANSITION =
new AndroidSplitTransition();
-
+
private static final class AndroidSplitTransition implements
SplitTransition<BuildOptions>, SkylarkValue {
@@ -396,6 +396,7 @@ public final class AndroidRuleClasses {
.useOutputLicenses()
.allowedRuleClasses("java_toolchain")
.value(JavaSemantics.JAVA_TOOLCHAIN))
+ .advertiseProvider(AndroidSdkProvider.class)
.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
index df64a5b6ab..20fe22df35 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
@@ -105,7 +105,8 @@ public final class DexArchiveAspect extends NativeAspectClass implements Configu
/** Aspect-only label for desugaring executable, to avoid name clashes with labels on rules. */
private static final String ASPECT_DESUGAR_PREREQ = "$aspect_desugar";
private static final ImmutableList<String> TRANSITIVE_ATTRIBUTES_EXCEPT_FOR_PROTOS =
- ImmutableList.of("deps", "exports", "runtime_deps");
+ ImmutableList.of("deps", "exports", "runtime_deps",
+ ":android_sdk", "aidl_lib"); // for the aidl runtime in the android_sdk rule
private static final ImmutableList<String> TRANSITIVE_ATTRIBUTES =
ImmutableList.<String>builder().addAll(TRANSITIVE_ATTRIBUTES_EXCEPT_FOR_PROTOS)
// To get from proto_library through proto_lang_toolchain rule to proto runtime library.
@@ -128,6 +129,8 @@ public final class DexArchiveAspect extends NativeAspectClass implements Configu
ImmutableSet.<Class<?>>of(ProtoSourcesProvider.class),
// For proto_lang_toolchain rules, where we just want to get at their runtime deps.
ImmutableSet.<Class<?>>of(ProtoLangToolchainProvider.class),
+ // For android_sdk rules, where we just want to get at aidl runtime deps.
+ ImmutableSet.<Class<?>>of(AndroidSdkProvider.class),
// Let this aspect "see through" alias targets until b/35213665 is fixed
ImmutableSet.<Class<?>>of(AliasProvider.class)))
// Parse labels since we don't have RuleDefinitionEnvironment.getLabel like in a rule