summaryrefslogtreecommitdiff
path: root/compiler/src/main
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2015-10-12 18:59:27 -0700
committerYigit Boyar <yboyar@google.com>2015-10-28 14:33:53 -0700
commit9784c9aaedeb863018f5fcaa0a598e8e2f8ed2f3 (patch)
tree50d9b6a2ce235ca732e9da52026eef55e708e1ce /compiler/src/main
parent012f7781add1b38b28c0c68a94172715e635c00e (diff)
downloaddata-binding-9784c9aaedeb863018f5fcaa0a598e8e2f8ed2f3.tar.gz
Data binding as studio dep + java6
This CL gets rid of the gradle plugin and instead provides DataBindingBuilder for the gradle plugin to directly use. Now, everything that is deployed via SDK Manager (lib and adapters) are included as prebuilts so that we avoid accidently changing them w/o an SDK manager release. There is still work to do: > re-enable proguard for externel dependencies > release a batch to ensure everything works Bug: 22516688 Change-Id: I83ace15bd6d3d23bf5b4ad850f36453dd23ebd43
Diffstat (limited to 'compiler/src/main')
-rw-r--r--compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java3
-rw-r--r--compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java7
-rw-r--r--compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java3
-rw-r--r--compiler/src/main/java/android/databinding/tool/BindingTarget.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/MakeCopy.java15
-rw-r--r--compiler/src/main/java/android/databinding/tool/MergedBinding.java8
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/Expr.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/ExprModel.java16
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java4
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java2
-rw-r--r--compiler/src/main/java/android/databinding/tool/store/SetterStore.java6
-rw-r--r--compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java4
-rw-r--r--compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt3
-rw-r--r--compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt3
-rw-r--r--compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt6
22 files changed, 56 insertions, 42 deletions
diff --git a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java
index ae73d951..d96e5da0 100644
--- a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java
+++ b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java
@@ -33,8 +33,6 @@ import java.util.Set;
import javax.annotation.processing.ProcessingEnvironment;
import javax.annotation.processing.RoundEnvironment;
-import javax.annotation.processing.SupportedSourceVersion;
-import javax.lang.model.SourceVersion;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
import javax.lang.model.element.ExecutableElement;
@@ -45,7 +43,6 @@ import javax.lang.model.type.TypeKind;
import javax.lang.model.util.Types;
// binding app info and library info are necessary to trigger this.
-@SupportedSourceVersion(SourceVersion.RELEASE_7)
public class ProcessBindable extends ProcessDataBinding.ProcessingStep implements BindableHolder {
Intermediate mProperties;
HashMap<String, HashSet<String>> mLayoutVariables = new HashMap<String, HashSet<String>>();
diff --git a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
index 37dc2a23..d63ec410 100644
--- a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
+++ b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java
@@ -33,7 +33,6 @@ import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.ProcessingEnvironment;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
-import javax.annotation.processing.SupportedSourceVersion;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.TypeElement;
@@ -44,7 +43,6 @@ import javax.lang.model.element.TypeElement;
"android.databinding.BindingConversion",
"android.databinding.BindingBuildInfo"}
)
-@SupportedSourceVersion(SourceVersion.RELEASE_7)
/**
* Parent annotation processor that dispatches sub steps to ensure execution order.
* Use initProcessingSteps to add a new step.
@@ -73,6 +71,11 @@ public class ProcessDataBinding extends AbstractProcessor {
return done;
}
+ @Override
+ public SourceVersion getSupportedSourceVersion() {
+ return SourceVersion.latest();
+ }
+
private void initProcessingSteps() {
final ProcessBindable processBindable = new ProcessBindable();
mProcessingSteps = Arrays.asList(
diff --git a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
index ab2b8bff..26706a6a 100644
--- a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
+++ b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java
@@ -19,6 +19,7 @@ package android.databinding.annotationprocessor;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.SystemUtils;
import android.databinding.BindingBuildInfo;
import android.databinding.tool.CompilerChef;
@@ -133,7 +134,7 @@ public class ProcessExpressions extends ProcessDataBinding.ProcessingStep {
}
if (forLibraryModule) {
Set<String> classNames = compilerChef.getWrittenClassNames();
- String out = StringUtils.join(classNames, System.getProperty("line.separator"));
+ String out = StringUtils.join(classNames, SystemUtils.LINE_SEPARATOR);
L.d("Writing list of classes to %s . \nList:%s", exportClassNamesTo, out);
try {
//noinspection ConstantConditions
diff --git a/compiler/src/main/java/android/databinding/tool/BindingTarget.java b/compiler/src/main/java/android/databinding/tool/BindingTarget.java
index 9a05d8d2..762433cc 100644
--- a/compiler/src/main/java/android/databinding/tool/BindingTarget.java
+++ b/compiler/src/main/java/android/databinding/tool/BindingTarget.java
@@ -164,7 +164,7 @@ public class BindingTarget implements LocationScopeProvider {
List<MergedBinding> mergeBindings = new ArrayList<MergedBinding>();
for (final SetterStore.MultiAttributeSetter setter : multiAttributeSetterCalls) {
L.d("resolved %s", setter);
- final List<Binding> mergedBindings = new ArrayList<>();
+ final List<Binding> mergedBindings = new ArrayList<Binding>();
for (String attribute : setter.attributes) {
Binding binding = lookup.get(attribute);
Preconditions.checkNotNull(binding, "cannot find binding for %s", attribute);
diff --git a/compiler/src/main/java/android/databinding/tool/MakeCopy.java b/compiler/src/main/java/android/databinding/tool/MakeCopy.java
index f143e21d..7627e06d 100644
--- a/compiler/src/main/java/android/databinding/tool/MakeCopy.java
+++ b/compiler/src/main/java/android/databinding/tool/MakeCopy.java
@@ -28,6 +28,7 @@ import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -166,13 +167,19 @@ public class MakeCopy {
private static void processLayoutFiles(String applicationPackage, File resTarget, File srcDir,
File xmlDir, int minSdk, boolean isLibrary) {
- ArrayList<File> resourceFolders = new ArrayList<File>();
- resourceFolders.add(resTarget);
MakeFileWriter makeFileWriter = new MakeFileWriter(srcDir);
LayoutXmlProcessor xmlProcessor = new LayoutXmlProcessor(applicationPackage,
- resourceFolders, makeFileWriter, minSdk, isLibrary);
+ makeFileWriter, minSdk, isLibrary, new LayoutXmlProcessor.OriginalFileLookup() {
+ @Override
+ public File getOriginalFileFor(File file) {
+ return file;
+ }
+ });
try {
- xmlProcessor.processResources(minSdk);
+ LayoutXmlProcessor.ResourceInput input = new LayoutXmlProcessor.ResourceInput(
+ false, resTarget,resTarget
+ );
+ xmlProcessor.processResources(input);
xmlProcessor.writeLayoutInfoFiles(xmlDir);
// TODO Looks like make does not support excluding from libs ?
xmlProcessor.writeInfoClass(null, xmlDir, null);
diff --git a/compiler/src/main/java/android/databinding/tool/MergedBinding.java b/compiler/src/main/java/android/databinding/tool/MergedBinding.java
index 53278752..edeb9ee8 100644
--- a/compiler/src/main/java/android/databinding/tool/MergedBinding.java
+++ b/compiler/src/main/java/android/databinding/tool/MergedBinding.java
@@ -53,7 +53,7 @@ public class MergedBinding extends Binding {
}
private static Expr createArgListExpr(ExprModel model, final Iterable<Binding> bindings) {
- List<Expr> args = new ArrayList<>();
+ List<Expr> args = new ArrayList<Expr>();
for (Binding binding : bindings) {
args.add(binding.getExpr());
}
@@ -93,13 +93,13 @@ public class MergedBinding extends Binding {
@Override
public String toJavaCode(String targetViewName, String bindingComponent) {
final ArgListExpr args = (ArgListExpr) getExpr();
- final List<String> newValues = new ArrayList<>();
+ final List<String> newValues = new ArrayList<String>();
for (Expr expr : args.getChildren()) {
newValues.add(expr.toCode().generate());
}
final List<String> oldValues;
if (requiresOldValue()) {
- oldValues = new ArrayList<>();
+ oldValues = new ArrayList<String>();
for (Expr expr : args.getChildren()) {
oldValues.add("this." + WriterPackage.getOldValueName(expr));
}
@@ -112,7 +112,7 @@ public class MergedBinding extends Binding {
}
private static <T> T[] concat(List<T> l1, List<T> l2, Class<T> klass) {
- List<T> result = new ArrayList<>();
+ List<T> result = new ArrayList<T>();
result.addAll(l1);
result.addAll(l2);
return result.toArray((T[]) Array.newInstance(klass, result.size()));
diff --git a/compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java b/compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java
index d9167bfa..ab1ab21c 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java
@@ -37,7 +37,7 @@ public class BuiltInVariableExpr extends IdentifierExpr {
@Override
protected List<Dependency> constructDependencies() {
- return new ArrayList<>();
+ return new ArrayList<Dependency>();
}
@Override
diff --git a/compiler/src/main/java/android/databinding/tool/expr/Expr.java b/compiler/src/main/java/android/databinding/tool/expr/Expr.java
index b321ed1d..b4b950e7 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/Expr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/Expr.java
@@ -63,7 +63,7 @@ abstract public class Expr implements VersionProvider, LocationScopeProvider {
private boolean mCanBeInvalidated = false;
@Nullable
- private List<Location> mLocations = new ArrayList<>();
+ private List<Location> mLocations = new ArrayList<Location>();
/**
* This set denotes the times when this expression is invalid.
diff --git a/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java b/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java
index c92b79d0..8f3b6bf6 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java
@@ -302,8 +302,8 @@ public class ExprModel {
int counter = 0;
final Iterable<Expr> observables = filterObservables(modelAnalyzer);
- List<String> flagMapping = new ArrayList<>();
- mObservables = new ArrayList<>();
+ List<String> flagMapping = new ArrayList<String>();
+ mObservables = new ArrayList<Expr>();
for (Expr expr : observables) {
// observables gets initial ids
flagMapping.add(expr.getUniqueKey());
@@ -450,7 +450,7 @@ public class ExprModel {
}
private List<Expr> filterNonObservableIds(final ModelAnalyzer modelAnalyzer) {
- List<Expr> result = new ArrayList<>();
+ List<Expr> result = new ArrayList<Expr>();
for (Expr input : mExprMap.values()) {
if (input instanceof IdentifierExpr
&& !input.hasId()
@@ -463,7 +463,7 @@ public class ExprModel {
}
private Iterable<Expr> filterObservables(final ModelAnalyzer modelAnalyzer) {
- List<Expr> result = new ArrayList<>();
+ List<Expr> result = new ArrayList<Expr>();
for (Expr input : mExprMap.values()) {
if (input.isObservable()) {
result.add(input);
@@ -474,7 +474,7 @@ public class ExprModel {
public List<Expr> getPendingExpressions() {
if (mPendingExpressions == null) {
- mPendingExpressions = new ArrayList<>();
+ mPendingExpressions = new ArrayList<Expr>();
for (Expr expr : mExprMap.values()) {
// if an expression is NOT dynanic but has conditional dependants, still return it
// so that conditional flags can be set
@@ -488,7 +488,7 @@ public class ExprModel {
public boolean markBitsRead() {
// each has should read flags, we set them back on them
- List<Expr> markedSomeFlagsRead = new ArrayList<>();
+ List<Expr> markedSomeFlagsRead = new ArrayList<Expr>();
for (Expr expr : filterShouldRead(getPendingExpressions())) {
expr.markFlagsAsRead(expr.getShouldReadFlags());
markedSomeFlagsRead.add(expr);
@@ -498,7 +498,7 @@ public class ExprModel {
private boolean pruneDone(List<Expr> markedSomeFlagsAsRead) {
boolean marked = true;
- List<Expr> markedAsReadList = new ArrayList<>();
+ List<Expr> markedAsReadList = new ArrayList<Expr>();
while (marked) {
marked = false;
for (Expr expr : mExprMap.values()) {
@@ -556,7 +556,7 @@ public class ExprModel {
}
public static List<Expr> filterShouldRead(Iterable<Expr> exprs) {
- List<Expr> result = new ArrayList<>();
+ List<Expr> result = new ArrayList<Expr>();
for (Expr expr : exprs) {
if (!expr.getShouldReadFlags().isEmpty() &&
!hasConditionalOrNestedCannotReadDependency(expr)) {
diff --git a/compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java b/compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java
index cdfa78bb..067a59cb 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java
@@ -69,7 +69,7 @@ public class IdentifierExpr extends Expr {
@Override
protected List<Dependency> constructDependencies() {
- return new ArrayList<>();
+ return new ArrayList<Dependency>();
}
@Override
diff --git a/compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java b/compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java
index 1151dfac..d5e85bb5 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java
@@ -69,7 +69,7 @@ public class ListenerExpr extends Expr {
@Override
protected List<Dependency> constructDependencies() {
- final List<Dependency> dependencies = new ArrayList<>();
+ final List<Dependency> dependencies = new ArrayList<Dependency>();
Dependency dependency = new Dependency(this, getChild());
dependency.setMandatory(true);
dependencies.add(dependency);
diff --git a/compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java b/compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java
index 9e8e8c16..a81cffe6 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java
@@ -38,7 +38,7 @@ public class MethodCallExpr extends Expr {
Callable mGetter;
static List<Expr> concat(Expr e, List<Expr> list) {
- List<Expr> merged = new ArrayList<>();
+ List<Expr> merged = new ArrayList<Expr>();
merged.add(e);
merged.addAll(list);
return merged;
diff --git a/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java b/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java
index bdb9450c..8ac352d7 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java
@@ -27,7 +27,7 @@ public class ResourceExpr extends Expr {
private final static Map<String, String> RESOURCE_TYPE_TO_R_OBJECT;
static {
- RESOURCE_TYPE_TO_R_OBJECT = new HashMap<>();
+ RESOURCE_TYPE_TO_R_OBJECT = new HashMap<String, String>();
RESOURCE_TYPE_TO_R_OBJECT.put("colorStateList", "color ");
RESOURCE_TYPE_TO_R_OBJECT.put("dimenOffset", "dimen ");
RESOURCE_TYPE_TO_R_OBJECT.put("dimenSize", "dimen ");
@@ -60,7 +60,7 @@ public class ResourceExpr extends Expr {
private Map<String, ModelClass> getResourceToTypeMapping(ModelAnalyzer modelAnalyzer) {
if (mResourceToTypeMapping == null) {
final Map<String, String> imports = getModel().getImports();
- mResourceToTypeMapping = new HashMap<>();
+ mResourceToTypeMapping = new HashMap<String, ModelClass>();
mResourceToTypeMapping.put("anim", modelAnalyzer.findClass("android.view.animation.Animation",
imports));
mResourceToTypeMapping.put("animator", modelAnalyzer.findClass("android.animation.Animator",
diff --git a/compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java b/compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java
index 3852b91e..6af6c298 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java
@@ -54,6 +54,6 @@ public class SymbolExpr extends Expr {
@Override
protected List<Dependency> constructDependencies() {
- return new ArrayList<>();
+ return new ArrayList<Dependency>();
}
}
diff --git a/compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java b/compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java
index 12379c20..90076c4c 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java
@@ -67,7 +67,7 @@ public class TernaryExpr extends Expr {
@Override
protected List<Dependency> constructDependencies() {
- List<Dependency> deps = new ArrayList<>();
+ List<Dependency> deps = new ArrayList<Dependency>();
Expr predExpr = getPred();
final Dependency pred = new Dependency(this, predExpr);
pred.setMandatory(true);
diff --git a/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java b/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java
index e8c962ef..da73f66f 100644
--- a/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java
+++ b/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java
@@ -103,7 +103,7 @@ public class SdkUtil {
private void buildFullLookup() throws XPathExpressionException {
NodeList allClasses = mDoc.getChildNodes().item(0).getChildNodes();
- mFullLookup = new HashMap<>(allClasses.getLength() * 4);
+ mFullLookup = new HashMap<String, Integer>(allClasses.getLength() * 4);
for (int j = 0; j < allClasses.getLength(); j++) {
Node node = allClasses.item(j);
if (node.getNodeType() != Node.ELEMENT_NODE || !"class"
diff --git a/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java b/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
index f02e0511..4f110889 100644
--- a/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
+++ b/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
@@ -37,7 +37,7 @@ public class AnnotationAnalyzer extends ModelAnalyzer {
public static final Map<String, TypeKind> PRIMITIVE_TYPES;
static {
- PRIMITIVE_TYPES = new HashMap<>();
+ PRIMITIVE_TYPES = new HashMap<String, TypeKind>();
PRIMITIVE_TYPES.put("boolean", TypeKind.BOOLEAN);
PRIMITIVE_TYPES.put("byte", TypeKind.BYTE);
PRIMITIVE_TYPES.put("short", TypeKind.SHORT);
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 b5b0d2b2..45592c4d 100644
--- a/compiler/src/main/java/android/databinding/tool/store/SetterStore.java
+++ b/compiler/src/main/java/android/databinding/tool/store/SetterStore.java
@@ -449,7 +449,7 @@ public class SetterStore {
private void ensureInstanceAdapters() {
if (mInstanceAdapters == null) {
- HashSet<String> adapters = new HashSet<>();
+ HashSet<String> adapters = new HashSet<String>();
for (HashMap<AccessorKey, MethodDescription> methods : mStore.adapterMethods.values()) {
for (MethodDescription method : methods.values()) {
if (!method.isStatic) {
@@ -462,12 +462,12 @@ public class SetterStore {
adapters.add(method.type);
}
}
- mInstanceAdapters = new HashMap<>();
+ mInstanceAdapters = new HashMap<String, List<String>>();
for (String adapter : adapters) {
final String simpleName = simpleName(adapter);
List<String> list = mInstanceAdapters.get(simpleName);
if (list == null) {
- list = new ArrayList<>();
+ list = new ArrayList<String>();
mInstanceAdapters.put(simpleName, list);
}
list.add(adapter);
diff --git a/compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java b/compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java
index 6a06b75a..18e4b964 100644
--- a/compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java
+++ b/compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java
@@ -80,7 +80,9 @@ public class GenerationalClassUtil {
// assume it is a zip file
loadFomZipFile(file);
}
- } catch (IOException | URISyntaxException e) {
+ } catch (IOException e) {
+ L.d("cannot open zip file from %s", url);
+ } catch (URISyntaxException e) {
L.d("cannot open zip file from %s", url);
}
}
diff --git a/compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt b/compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt
index 9e41c2d6..edf89c27 100644
--- a/compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt
+++ b/compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt
@@ -16,11 +16,12 @@
package android.databinding.tool.writer
+import org.apache.commons.lang3.SystemUtils
import kotlin.properties.Delegates
class BRWriter(properties: Set<String>, val useFinal : Boolean) {
val indexedProps = properties.sort().withIndex()
- public fun write(pkg : String): String = "package $pkg;${System.lineSeparator()}$klass"
+ public fun write(pkg : String): String = "package $pkg;${SystemUtils.LINE_SEPARATOR}$klass"
val klass: String by Delegates.lazy {
kcode("") {
val prefix = if (useFinal) "final " else "";
diff --git a/compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt b/compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt
index fbba6554..6a583a6a 100644
--- a/compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt
+++ b/compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt
@@ -13,13 +13,14 @@
package android.databinding.tool.writer
+import org.apache.commons.lang3.SystemUtils
import java.util.BitSet
class KCode (private val s : String? = null){
private var sameLine = false
- private val lineSeparator = System.getProperty("line.separator")
+ private val lineSeparator = SystemUtils.LINE_SEPARATOR
class Appendix(val glue : String, val code : KCode)
diff --git a/compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt b/compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
index b351a2f2..cad7db10 100644
--- a/compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
+++ b/compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
@@ -30,6 +30,9 @@ import android.databinding.tool.ext.versionedLazy
import android.databinding.tool.processing.ErrorMessages
import android.databinding.tool.reflection.ModelAnalyzer
import android.databinding.tool.util.L
+import org.apache.commons.lang3.JavaVersion
+import org.apache.commons.lang3.SystemUtils
+import java.lang
import java.util.ArrayList
import java.util.Arrays
import java.util.BitSet
@@ -237,8 +240,7 @@ fun FlagSet.localValue(bucketIndex : Int) =
fun FlagSet.binaryCode(bucketIndex : Int) = longToBinary(buckets[bucketIndex])
-fun longToBinary(l : Long) =
- "0b${java.lang.Long.toBinaryString(l)}L"
+fun longToBinary(l : Long) = "0x${lang.Long.toHexString(l)}L"
fun <T> FlagSet.mapOr(other : FlagSet, cb : (suffix : String, index : Int) -> T) : List<T> {
val min = Math.min(buckets.size(), other.buckets.size())