aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/AndroidResourcesTest.java65
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/ResourceFilterFactoryTest.java12
2 files changed, 29 insertions, 48 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidResourcesTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidResourcesTest.java
index 368303df9d..f2169b5f4d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidResourcesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidResourcesTest.java
@@ -25,6 +25,7 @@ import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.rules.android.AndroidConfiguration.AndroidAaptVersion;
+import com.google.devtools.build.lib.rules.android.DataBinding.DataBindingContext;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.Optional;
import org.junit.Before;
@@ -145,14 +146,12 @@ public class AndroidResourcesTest extends ResourceTestBase {
throws Exception {
RuleContext ruleContext = getRuleContext();
ValidatedAndroidResources unfiltered =
- new AndroidResources(
- unfilteredResources,
- getResourceRoots(unfilteredResources),
- DataBinding.asDisabledDataBindingContext())
+ new AndroidResources(unfilteredResources, getResourceRoots(unfilteredResources))
.process(
ruleContext,
AndroidDataContext.forNative(ruleContext),
getManifest(),
+ DataBinding.contextFrom(ruleContext),
/* neverlink = */ false);
Optional<? extends AndroidResources> maybeFiltered =
assertFilter(unfiltered, filteredResources, /* isDependency = */ true);
@@ -180,10 +179,7 @@ public class AndroidResourcesTest extends ResourceTestBase {
boolean isDependency)
throws Exception {
AndroidResources unfiltered =
- new AndroidResources(
- unfilteredResources,
- getResourceRoots(unfilteredResources),
- DataBinding.asDisabledDataBindingContext());
+ new AndroidResources(unfilteredResources, getResourceRoots(unfilteredResources));
assertFilter(unfiltered, filteredResources, isDependency);
}
@@ -230,7 +226,8 @@ public class AndroidResourcesTest extends ResourceTestBase {
useConfiguration("--android_aapt=aapt");
RuleContext ruleContext = getRuleContext();
- ParsedAndroidResources parsed = assertParse(ruleContext, /* enableDataBinding = */ true);
+ ParsedAndroidResources parsed =
+ assertParse(ruleContext, DataBinding.asEnabledDataBindingContextFrom(ruleContext));
// Since we are not using aapt2, there should be no compiled symbols
assertThat(parsed.getCompiledSymbols()).isNull();
@@ -271,9 +268,9 @@ public class AndroidResourcesTest extends ResourceTestBase {
mockAndroidSdkWithAapt2();
useConfiguration("--android_sdk=//sdk:sdk", "--android_aapt=aapt2");
- RuleContext ruleContext = getRuleContext();
+ RuleContext ruleContext = getRuleContextWithDataBinding();
- ParsedAndroidResources parsed = assertParse(ruleContext, /* enableDataBinding = */ true);
+ ParsedAndroidResources parsed = assertParse(ruleContext);
// The parse action should take resources and busybox artifacts in and output symbols
assertActionArtifacts(
@@ -290,20 +287,20 @@ public class AndroidResourcesTest extends ResourceTestBase {
.add(parsed.getManifest())
.build(),
/* outputs = */ ImmutableList.of(
- parsed.getCompiledSymbols(), DataBinding.getSuffixedInfoFile(ruleContext, "_unused")));
+ parsed.getCompiledSymbols(),
+ ParsedAndroidResources.getDummyDataBindingArtifact(ruleContext)));
}
@Test
public void testMergeDataBinding() throws Exception {
useConfiguration("--android_aapt=aapt");
- RuleContext ruleContext = getRuleContext();
+ RuleContext ruleContext = getRuleContextWithDataBinding();
ParsedAndroidResources parsed = assertParse(ruleContext);
MergedAndroidResources merged =
parsed.merge(
AndroidDataContext.forNative(ruleContext),
ResourceDependencies.empty(),
- /* enableDataBinding = */ true,
AndroidAaptVersion.chooseTargetAaptVersion(ruleContext));
// Besides processed manifest, inherited values should be equal
@@ -340,7 +337,6 @@ public class AndroidResourcesTest extends ResourceTestBase {
parsed.merge(
AndroidDataContext.forNative(ruleContext),
ResourceDependencies.fromRuleDeps(ruleContext, /* neverlink = */ false),
- DataBinding.isEnabled(ruleContext),
AndroidAaptVersion.chooseTargetAaptVersion(ruleContext));
// Besides processed manifest, inherited values should be equal
@@ -502,7 +498,8 @@ public class AndroidResourcesTest extends ResourceTestBase {
false,
false,
null,
- null)
+ null,
+ DataBinding.contextFrom(ruleContext))
.generateRClass(dataContext, AndroidAaptVersion.AUTO);
assertThat(resourceApk.getResourceProguardConfig()).isNotNull();
@@ -514,26 +511,23 @@ public class AndroidResourcesTest extends ResourceTestBase {
* for further validation.
*/
private ParsedAndroidResources assertParse(RuleContext ruleContext) throws Exception {
- return assertParse(ruleContext, /* enableDataBinding = */ false);
+ return assertParse(ruleContext, DataBinding.contextFrom(ruleContext));
}
- private ParsedAndroidResources assertParse(RuleContext ruleContext, boolean enableDataBinding)
- throws Exception {
-
+ private ParsedAndroidResources assertParse(
+ RuleContext ruleContext, DataBindingContext dataBindingContext) throws Exception {
ImmutableList<Artifact> resources = getResources("values-en/foo.xml", "drawable-hdpi/bar.png");
AndroidResources raw =
new AndroidResources(
- resources,
- AndroidResources.getResourceRoots(ruleContext, resources, "resource_files"),
- DataBinding.asDisabledDataBindingContext());
+ resources, AndroidResources.getResourceRoots(ruleContext, resources, "resource_files"));
StampedAndroidManifest manifest = getManifest();
ParsedAndroidResources parsed =
raw.parse(
AndroidDataContext.forNative(ruleContext),
manifest,
- enableDataBinding,
- AndroidAaptVersion.chooseTargetAaptVersion(ruleContext));
+ AndroidAaptVersion.chooseTargetAaptVersion(ruleContext),
+ dataBindingContext);
// Inherited values should be equal
assertThat(raw).isEqualTo(new AndroidResources(parsed));
@@ -550,30 +544,19 @@ public class AndroidResourcesTest extends ResourceTestBase {
.merge(
AndroidDataContext.forNative(ruleContext),
ResourceDependencies.fromRuleDeps(ruleContext, /* neverlink = */ false),
- DataBinding.isEnabled(ruleContext),
AndroidAaptVersion.chooseTargetAaptVersion(ruleContext));
}
private ParsedAndroidResources makeParsedResources(RuleContext ruleContext)
throws RuleErrorException, InterruptedException {
- return makeParsedResources(ruleContext, /* enableDataBinding = */ false);
- }
-
- private ParsedAndroidResources makeParsedResources(
- RuleContext ruleContext, boolean enableDataBinding)
- throws RuleErrorException, InterruptedException {
ImmutableList<Artifact> resources = getResources("values-en/foo.xml", "drawable-hdpi/bar.png");
return new AndroidResources(
- resources,
- AndroidResources.getResourceRoots(ruleContext, resources, "resource_files"),
- enableDataBinding
- ? DataBinding.asEnabledDataBindingContextFrom(ruleContext)
- : DataBinding.asDisabledDataBindingContext())
+ resources, AndroidResources.getResourceRoots(ruleContext, resources, "resource_files"))
.parse(
AndroidDataContext.forNative(ruleContext),
getManifest(),
- enableDataBinding,
- AndroidAaptVersion.chooseTargetAaptVersion(ruleContext));
+ AndroidAaptVersion.chooseTargetAaptVersion(ruleContext),
+ DataBinding.contextFrom(ruleContext));
}
private ProcessedAndroidManifest getManifest() {
@@ -586,6 +569,10 @@ public class AndroidResourcesTest extends ResourceTestBase {
return getRuleContext("android_library");
}
+ private RuleContext getRuleContextWithDataBinding() throws Exception {
+ return getRuleContext("android_library", "enable_data_binding = 1");
+ }
+
/** Gets a dummy rule context object by creating a dummy target. */
private RuleContext getRuleContext(String kind, String... additionalLines) throws Exception {
ConfiguredTarget target =
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceFilterFactoryTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceFilterFactoryTest.java
index f569191128..1793e42b14 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceFilterFactoryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceFilterFactoryTest.java
@@ -62,11 +62,7 @@ public class ResourceFilterFactoryTest extends ResourceTestBase {
return ResourceContainer.builder()
.setAndroidResources(
- AndroidResources.forResources(
- errorConsumer,
- resources,
- "resource_files",
- DataBinding.asDisabledDataBindingContext()))
+ AndroidResources.forResources(errorConsumer, resources, "resource_files"))
.setLabel(label)
.setManifestExported(false)
.setManifest(manifest)
@@ -362,8 +358,7 @@ public class ResourceFilterFactoryTest extends ResourceTestBase {
AndroidResources.forResources(
errorConsumer,
ImmutableList.of(localResourceToKeep, localResourceToDiscard),
- "resource_files",
- DataBinding.asDisabledDataBindingContext());
+ "resource_files");
ResourceDependencies resourceDependencies =
ResourceDependencies.empty()
@@ -501,8 +496,7 @@ public class ResourceFilterFactoryTest extends ResourceTestBase {
ResourceFilterFactory resourceFilterFactory, ImmutableList<Artifact> artifacts)
throws RuleErrorException {
AndroidResources localResources =
- AndroidResources.forResources(
- errorConsumer, artifacts, "resource_files", DataBinding.asDisabledDataBindingContext());
+ AndroidResources.forResources(errorConsumer, artifacts, "resource_files");
ResourceDependencies resourceDeps = ResourceDependencies.empty();