summaryrefslogtreecommitdiff
path: root/gradlePlugin
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2015-06-24 22:11:03 -0700
committerYigit Boyar <yboyar@google.com>2015-06-25 14:46:31 -0700
commitc1560e6b00b398867da12fbdc5a1fcd1d50b801c (patch)
tree27521fb6aa8dc42bdc2a4e4fec92b3d68e5fb422 /gradlePlugin
parent2611838bffef5a009ca71e3e9e59a93f29b098ed (diff)
downloaddata-binding-c1560e6b00b398867da12fbdc5a1fcd1d50b801c.tar.gz
Carry over location information from parser to annotation processor
This CL changes LayoutParser to use Antlr which provides us the location information. This information is now serialized inside the bundle so that we can read it in the annotation processor, enabling better error logs with location information. Bug:21953001 Change-Id: If9b5cf2f87598a609ddf77235decc17098a46a6b
Diffstat (limited to 'gradlePlugin')
-rw-r--r--gradlePlugin/src/main/java/android/databinding/tool/DataBinderPlugin.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/gradlePlugin/src/main/java/android/databinding/tool/DataBinderPlugin.java b/gradlePlugin/src/main/java/android/databinding/tool/DataBinderPlugin.java
index c400b985..b235b995 100644
--- a/gradlePlugin/src/main/java/android/databinding/tool/DataBinderPlugin.java
+++ b/gradlePlugin/src/main/java/android/databinding/tool/DataBinderPlugin.java
@@ -36,6 +36,7 @@ import com.android.builder.model.ApiVersion;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
import org.gradle.api.Action;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
@@ -284,7 +285,10 @@ public class DataBinderPlugin implements Plugin<Project> {
try {
task.writeLayoutXmls();
} catch (JAXBException e) {
- logE(e, "cannot write layout xmls");
+ // gradle sometimes fails to resolve JAXBException.
+ // We get stack trace manually to ensure we have the log
+ logE(e, "cannot write layout xmls %s",
+ ExceptionUtils.getStackTrace(e));
}
}
});