summaryrefslogtreecommitdiff
path: root/compiler/src/main/java/android/databinding
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2018-04-04 11:35:14 -0700
committerYigit Boyar <yboyar@google.com>2018-04-09 16:52:03 -0700
commite7dfd58c4fe3618902a696c9a96fb1abd911c752 (patch)
treeb1a8930b55163ee1459588a54e1f228ec6ab4aff /compiler/src/main/java/android/databinding
parent672535ae748f69c5fffec46f304ffbff54b1937a (diff)
downloaddata-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')
-rw-r--r--compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java7
-rw-r--r--compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressionsFromV1Compat.kt4
-rw-r--r--compiler/src/main/java/android/databinding/tool/CompilerChef.java10
-rw-r--r--compiler/src/main/java/android/databinding/tool/store/SetterStore.java2
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);
}
}
}