summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorHung Nguyen <hungnv@google.com>2019-02-19 12:35:27 +0000
committerHung Nguyen <hungnv@google.com>2019-02-21 13:40:01 +0000
commitd7315f5fdf92c224711082babc7256f3947cb4ce (patch)
treec0f40c3edebb068befce63246e82746e9d1f296c /compiler
parent7d86bdb311c9538e860447ce5e409b57b7b941a5 (diff)
downloaddata-binding-d7315f5fdf92c224711082babc7256f3947cb4ce.tar.gz
Write relative path in layout info file (tools/databinding).
Currently, data binding writes a layout info file that contains the absolute path to the original layout file. This is breaking Gradle caching across machines. To fix this, we need to write a relative path instead, which will be relative to the current project directory. Bug: 121288180 Test: Updated SimpleCompilationTest, MultiLayoutVerificationTest New RelativizableFileTest Change-Id: I39e6bacd4c553edef579cf3afb0ba17968dc99bc
Diffstat (limited to 'compiler')
-rw-r--r--compiler/src/main/java/android/databinding/tool/LayoutBinder.java2
-rw-r--r--compiler/src/test/java/android/databinding/tool/MockLayoutBinder.java9
2 files changed, 7 insertions, 4 deletions
diff --git a/compiler/src/main/java/android/databinding/tool/LayoutBinder.java b/compiler/src/main/java/android/databinding/tool/LayoutBinder.java
index 9befb9cf..57e5c350 100644
--- a/compiler/src/main/java/android/databinding/tool/LayoutBinder.java
+++ b/compiler/src/main/java/android/databinding/tool/LayoutBinder.java
@@ -299,6 +299,6 @@ public class LayoutBinder implements FileScopeProvider {
@Override
public String provideScopeFilePath() {
- return mBundle.getAbsoluteFilePath();
+ return mBundle.getFilePath();
}
}
diff --git a/compiler/src/test/java/android/databinding/tool/MockLayoutBinder.java b/compiler/src/test/java/android/databinding/tool/MockLayoutBinder.java
index 6bd04949..5225a386 100644
--- a/compiler/src/test/java/android/databinding/tool/MockLayoutBinder.java
+++ b/compiler/src/test/java/android/databinding/tool/MockLayoutBinder.java
@@ -17,14 +17,17 @@ import android.databinding.tool.expr.IdentifierExpr;
import android.databinding.tool.store.Location;
import android.databinding.tool.store.ResourceBundle;
+import android.databinding.tool.util.RelativizableFile;
import java.io.File;
public class MockLayoutBinder extends LayoutBinder {
public MockLayoutBinder() {
- super(new ResourceBundle.LayoutFileBundle(new File("./blah.xml"), "blah.xml", "layout",
- "com.test.submodule",
- false), false);
+ super(
+ new ResourceBundle.LayoutFileBundle(
+ RelativizableFile.fromAbsoluteFile(new File("./blah.xml").getAbsoluteFile(), null),
+ "blah.xml", "layout", "com.test.submodule", false),
+ false);
}
public IdentifierExpr addVariable(String name, String type, Location location) {