diff options
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.java | 14 |
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); |