diff options
author | 2017-02-22 23:18:41 +0000 | |
---|---|---|
committer | 2017-02-23 11:31:15 +0000 | |
commit | 3611fb2d7c075604375258df7c260d3e41e4c42e (patch) | |
tree | 126af04c5343fa74a46850e7cb8528bb26adeeff /src/main/java | |
parent | 8c539ea7fb1fd55c6e6902004fbdcd4081fa6a65 (diff) |
Incrementally dex any Android IDL runtime library
--
PiperOrigin-RevId: 148275963
MOS_MIGRATED_REVID=148275963
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java | 3 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java | 5 |
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 |