diff options
author | Yigit Boyar <yboyar@google.com> | 2018-04-04 11:35:14 -0700 |
---|---|---|
committer | Yigit Boyar <yboyar@google.com> | 2018-04-09 16:52:03 -0700 |
commit | e7dfd58c4fe3618902a696c9a96fb1abd911c752 (patch) | |
tree | b1a8930b55163ee1459588a54e1f228ec6ab4aff /compiler/src/main/java/android/databinding | |
parent | 672535ae748f69c5fffec46f304ffbff54b1937a (diff) | |
download | data-binding-e7dfd58c4fe3618902a696c9a96fb1abd911c752.tar.gz |
Integration tests w/ AndroidX
This CL adds integration tests w/ AndroidX and fixes some androidX
issues that i've discovered during the move.
Old tests are copied to integration-tests-support so that we still
run them.
I tried to keep the tests as similar as possible but sometimes needed
to move classes (e.g. for cases where we have package private access).
I've changed the applicationId of TestApp to use a different package
so that it wo't conflict w/ the other one while testing on the same
device. For other simpler tests, we were not using android.databinding
so i just changed their package names not to conflict w/ their twins.
I've also removed App With Spaces test which does not work w/ gradle5
anymore and we were not running it anyways.
Bug: 77166878
Test: new andoridX tests
Change-Id: I86f68fd6bee2ca849c6472c0411234bb3a08b132
Diffstat (limited to 'compiler/src/main/java/android/databinding')
4 files changed, 16 insertions, 7 deletions
diff --git a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java index d8b9bbef..0f2abb90 100644 --- a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java +++ b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java @@ -22,6 +22,7 @@ import android.databinding.tool.DataBindingCompilerArgs; import android.databinding.tool.LayoutXmlProcessor; import android.databinding.tool.processing.Scope; import android.databinding.tool.processing.ScopedException; +import android.databinding.tool.reflection.ModelAnalyzer; import android.databinding.tool.store.GenClassInfoLog; import android.databinding.tool.store.ResourceBundle; import android.databinding.tool.util.GenerationalClassUtil; @@ -75,7 +76,9 @@ public class ProcessExpressions extends ProcessDataBinding.ProcessingStep { throws JAXBException { try { ResourceBundle resourceBundle; - resourceBundle = new ResourceBundle(args.getModulePackage()); + resourceBundle = new ResourceBundle( + args.getModulePackage(), + ModelAnalyzer.getInstance().libTypes.getUseAndroidX()); final List<IntermediateV2> intermediateList; GenClassInfoLog infoLog = null; @Nullable @@ -255,7 +258,7 @@ public class ProcessExpressions extends ProcessDataBinding.ProcessingStep { Set<String> classNames = compilerChef.getClassesToBeStripped(); if (v1CompatChef != null) { classNames.addAll(v1CompatChef.getClassesToBeStripped()); - classNames.add(BindingMapperWriter.V1_COMPAT_QNAME); + classNames.add(BindingMapperWriter.v1CompatMapperPkg(compilerChef.useAndroidX())); } String out = Joiner.on(StringUtils.LINE_SEPARATOR).join(classNames); L.d("Writing list of classes to %s . \nList:%s", diff --git a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressionsFromV1Compat.kt b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressionsFromV1Compat.kt index 4321b55a..43a2ca68 100644 --- a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressionsFromV1Compat.kt +++ b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressionsFromV1Compat.kt @@ -18,6 +18,7 @@ package android.databinding.annotationprocessor import android.databinding.tool.CompilerChef import android.databinding.tool.DataBindingCompilerArgs +import android.databinding.tool.reflection.ModelAnalyzer import android.databinding.tool.store.ResourceBundle import android.databinding.tool.writer.BindingMapperWriterV2 import android.databinding.tool.writer.JavaFileWriter @@ -55,7 +56,8 @@ class ProcessExpressionsFromV1Compat( } // mapping from key (layoutName) to generated code QName (or base class) val classMapping = mutableMapOf<String, String>() - val compatBundle = ResourceBundle(args.modulePackage) + val compatBundle = ResourceBundle(args.modulePackage, + ModelAnalyzer.getInstance().libTypes.useAndroidX) intermediates .flatMap { it.extractBundles() diff --git a/compiler/src/main/java/android/databinding/tool/CompilerChef.java b/compiler/src/main/java/android/databinding/tool/CompilerChef.java index 13728dae..a721e96c 100644 --- a/compiler/src/main/java/android/databinding/tool/CompilerChef.java +++ b/compiler/src/main/java/android/databinding/tool/CompilerChef.java @@ -211,7 +211,7 @@ public class CompilerChef { writeMergedMapper(processingEnv, compilerArgs, modulePackages); } } else { - final String pkg = "android.databinding"; + final String pkg = ModelAnalyzer.getInstance().libTypes.getBindingPackage(); final String mapperName = "DataBinderMapperImpl"; ensureDataBinder(); @@ -224,18 +224,22 @@ public class CompilerChef { } } + public boolean useAndroidX() { + return ModelAnalyzer.getInstance().libTypes.getUseAndroidX(); + } + private void writeMapperForV1Compat( DataBindingCompilerArgs compilerArgs, Map<String, Integer> brValueLookup) { LibTypes libTypes = ModelAnalyzer.getInstance().libTypes; BindingMapperWriter dbr = new BindingMapperWriter( - BindingMapperWriter.V1_COMPAT_MAPPER_PKG, + BindingMapperWriter.v1CompatMapperPkg(useAndroidX()), BindingMapperWriter.V1_COMPAT_MAPPER_NAME, mV1CompatChef.getLayoutBinders(), compilerArgs, libTypes); mFileWriter.writeToFile( - BindingMapperWriter.V1_COMPAT_MAPPER_PKG + "." + dbr.getClassName(), + BindingMapperWriter.v1CompatQName(useAndroidX()), dbr.write(brValueLookup)); } diff --git a/compiler/src/main/java/android/databinding/tool/store/SetterStore.java b/compiler/src/main/java/android/databinding/tool/store/SetterStore.java index f745d64c..24ad9e76 100644 --- a/compiler/src/main/java/android/databinding/tool/store/SetterStore.java +++ b/compiler/src/main/java/android/databinding/tool/store/SetterStore.java @@ -908,7 +908,7 @@ public class SetterStore { } } } catch (Exception e) { - //printMessage(Diagnostic.Kind.NOTE, "Unknown class: " + className); + L.d(e, "Unknown class: " + className); } } } |