diff options
author | Hung Nguyen <hungnv@google.com> | 2019-02-19 12:35:27 +0000 |
---|---|---|
committer | Hung Nguyen <hungnv@google.com> | 2019-02-21 13:40:01 +0000 |
commit | d7315f5fdf92c224711082babc7256f3947cb4ce (patch) | |
tree | c0f40c3edebb068befce63246e82746e9d1f296c /compiler | |
parent | 7d86bdb311c9538e860447ce5e409b57b7b941a5 (diff) | |
download | data-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.java | 2 | ||||
-rw-r--r-- | compiler/src/test/java/android/databinding/tool/MockLayoutBinder.java | 9 |
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) { |