summaryrefslogtreecommitdiff
path: root/extensions-support/gradle/wrapper/gradle-wrapper.properties
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2019-10-03 16:12:46 -0700
committerTreeHugger Robot <treehugger-gerrit@google.com>2019-10-08 21:10:34 +0000
commit103e4e323372565802ecb09ee689b77f43acc92e (patch)
treecb4eacc7ccd6cc6108ffa63aa16eae72561cad2a /extensions-support/gradle/wrapper/gradle-wrapper.properties
parentbff339917a58bccd30775d866fe12f67af166682 (diff)
downloaddata-binding-103e4e323372565802ecb09ee689b77f43acc92e.tar.gz
Detect recursive structures in data binding
This CL fixes two bugs in data binding both related to recursive data structures. If you provide data binding a class that looks like Foo<T : Foo> or Foo : LiveData<T : Foo>, it would go into a stackoverflow or OOM trying to parse it since it would land back into the same class as it tries to resolve values. This CL fixes it by adding a tracker into such code and bails out with whatever information it can. For cases where the class in question is observable (e.g. class Foo : LiveData<Foo>), we crash with a message since data binding will try to create foo.getValue().getValue()... For cases where it is a normal class (which we won't try to unwrap), we work as desired. There is possibly more of these but i can only reproduce these 3 cases so didn't want to overzealously add more coverage without having a repro case. Bug: 141633235 Bug: 140999936 Test: RecursiveLayoutTest (TestApp), RecursiveObservableTest (compileation test) Change-Id: I9977a1c8ae7c726b924550783d48049e89ca227c
Diffstat (limited to 'extensions-support/gradle/wrapper/gradle-wrapper.properties')
-rw-r--r--extensions-support/gradle/wrapper/gradle-wrapper.properties2
1 files changed, 1 insertions, 1 deletions
diff --git a/extensions-support/gradle/wrapper/gradle-wrapper.properties b/extensions-support/gradle/wrapper/gradle-wrapper.properties
index b8041665..1e6a306a 100644
--- a/extensions-support/gradle/wrapper/gradle-wrapper.properties
+++ b/extensions-support/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=../../../../external/gradle/gradle-5.5-bin.zip
+distributionUrl=../../../../external/gradle/gradle-5.6.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists