diff options
Diffstat (limited to 'src/test/java/com/google')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/android/AndroidResourcesTest.java | 65 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/android/ResourceFilterFactoryTest.java | 12 |
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(); |