aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
index 09180a6ff0..5bc42bd331 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
@@ -82,6 +82,20 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor
// since they run on a JVM, not an android device.
JavaTargetAttributes.Builder attributesBuilder = javaCommon.initCommon();
+ if (ruleContext.getFragment(AndroidConfiguration.class).generateRobolectricRClass()) {
+ // Add reconciled R classes for all dependencies with resources to the classpath before the
+ // dependency jars. Must use a NestedSet to have it appear in the correct place on the
+ // classpath.
+ attributesBuilder.addRuntimeClassPathEntries(
+ RobolectricResourceSymbolsActionBuilder.create(
+ ResourceDependencies.fromRuleDeps(ruleContext, false))
+ .setSdk(AndroidSdkProvider.fromRuleContext(ruleContext))
+ .setJarOut(
+ ruleContext.getImplicitOutputArtifact(
+ AndroidRuleClasses.ANDROID_RESOURCES_CLASS_JAR))
+ .buildAsClassPathEntry(ruleContext));
+ }
+
String testClass =
getAndCheckTestClass(ruleContext, ImmutableList.copyOf(attributesBuilder.getSourceFiles()));
getAndCheckTestSupport(ruleContext);