)]}'
{
  "log": [
    {
      "commit": "85dd11e6e0da7a35ca0c154beaf02b7f7217bd2f",
      "tree": "29d3594cfdf0d41f461b1b8b9d8c77f9dbc46d72",
      "parents": [
        "881cdfbec14220f48b22312a815e34d449a2ff6c"
      ],
      "author": {
        "name": "Ruiqi Mao",
        "email": "ruiqimao@google.com",
        "time": "Fri Apr 30 11:29:04 2021 -0700"
      },
      "committer": {
        "name": "Ruiqi Mao",
        "email": "ruiqimao@google.com",
        "time": "Fri Apr 30 11:29:04 2021 -0700"
      },
      "message": "Migrate //tools/base/build-system:studio_repo to manifest format\n\nBug: 148081564\nTest: Existing tests pass\nChange-Id: Ia65fe9e08fcfcaada5c3a4b90942062195a6f72f\n"
    },
    {
      "commit": "881cdfbec14220f48b22312a815e34d449a2ff6c",
      "tree": "6dfcb2aba52f69c97b7e015912f8a39f8a3dd2f8",
      "parents": [
        "7a994d028206190eaff72ccfd894ec254003cdc5"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Mon Apr 12 16:25:26 2021 -0700"
      },
      "committer": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Tue Apr 13 15:03:30 2021 +0000"
      },
      "message": "Avoid StackOverflow in code generation by dispatching a real error\n\nWhen a callback expression returns void but it is expected to return a\nvalue, data binding goes into an infinite loop because it tries to find\na value but cannot because void cannot be a assigned to a variable.\n\nThe right fix here would be to check for assignability and throw a\nbetter error message but it might break some existing apps because i\ndon\u0027t trust our assignability checks. Instead, this CL covers the void\nreturn type case to fix this one bug without taking a bigger risk.\n\nFixes: 123260053\nTest: SimpleCompilationTest.testCallbackReturnTypeMismatch\n\nChange-Id: Ie9b4d03e0e2d818a0613f4cdefc470e1f7221b27\n"
    },
    {
      "commit": "7a994d028206190eaff72ccfd894ec254003cdc5",
      "tree": "b66bdc40461185c22ccf00714a37e12c9579d134",
      "parents": [
        "dde3a34613a50d977514cd21359114417037814d"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Thu Apr 08 17:53:08 2021 +0100"
      },
      "committer": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Mon Apr 12 11:15:20 2021 +0100"
      },
      "message": "Extend data-binding resource types\n\nIn DB expressions users can use different key words for resource types, which are later converted to R class field references, e.g. \"text\" for \"string\".\nExtend the resource types based on these rules.\n\nFixes: 184833062\nTest: verified with user\u0027s project + added and updated unit tests + MultiModuleTestApp\nChange-Id: I62f6caf2badddbcb47cafc4fa3251373ccd4f057\n"
    },
    {
      "commit": "dde3a34613a50d977514cd21359114417037814d",
      "tree": "0a8a8fc1b5c231c3eeb6690cb662f88a7d242149",
      "parents": [
        "067ef10d2622751f148477d80273c459f5348223"
      ],
      "author": {
        "name": "Joe Baker-Malone",
        "email": "jbakermalone@google.com",
        "time": "Thu Apr 08 09:52:02 2021 -0700"
      },
      "committer": {
        "name": "Joe Baker-Malone",
        "email": "jbakermalone@google.com",
        "time": "Thu Apr 08 09:52:02 2021 -0700"
      },
      "message": "Delete obsolete marker from plugin.xml\n\nWe used to need to remove some plugin.xmls while running tests through\nant, but since we don\u0027t do that anymore the markers can be removed.\n\nTest: This is a test change. Existing tests should pass.\nFixes: 160306232\nChange-Id: Ic57f8d02c9538e56461f4de79deb9eb2ff8f4c24\n"
    },
    {
      "commit": "067ef10d2622751f148477d80273c459f5348223",
      "tree": "6203f029fe83e64d12beea9248390d3615ab2af5",
      "parents": [
        "117075408cdd98dd03c038939ccbd3f6d2fcde09"
      ],
      "author": {
        "name": "Scott Pollom",
        "email": "spollom@google.com",
        "time": "Wed Apr 07 10:42:27 2021 -0700"
      },
      "committer": {
        "name": "Scott Pollom",
        "email": "spollom@google.com",
        "time": "Wed Apr 07 10:42:27 2021 -0700"
      },
      "message": "Add namespace to ViewBindingTestApp\u0027s test module\n\nBug: 170945282\nTest: existing\nChange-Id: I1087da89ab9504d9330fe206de17ddd587be03de\n"
    },
    {
      "commit": "117075408cdd98dd03c038939ccbd3f6d2fcde09",
      "tree": "b573bbd34f868ad575395b0b93c9e02d3bc57080",
      "parents": [
        "a19f4d9965db5f0af9693519854906bff560b4e1"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Thu Mar 25 14:55:34 2021 +0000"
      },
      "committer": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Thu Apr 01 16:56:00 2021 +0100"
      },
      "message": "DB: Accept merged dependency resources lists\n\n... as a workaround for kapt resolving files at configuration time.\n\nFixes: 183423660\nTest: SymbolTableUtilTests\nChange-Id: I72d9e9dfa99f2b478b0d7d6f25600d63a4041c7b\n"
    },
    {
      "commit": "a19f4d9965db5f0af9693519854906bff560b4e1",
      "tree": "5b7de7450e216bde67a094ddbb43b7f8be816de1",
      "parents": [
        "43328f681e66686075cb31e0bd66c89a4f01a9b8"
      ],
      "author": {
        "name": "Scott Pollom",
        "email": "spollom@google.com",
        "time": "Mon Mar 29 09:59:34 2021 -0700"
      },
      "committer": {
        "name": "Scott Pollom",
        "email": "spollom@google.com",
        "time": "Mon Mar 29 09:59:34 2021 -0700"
      },
      "message": "Fix dynamic feature manifests\n\nactivity elements must be direct children of the application element.\n\nBug: 178810169\nTest: existing\nChange-Id: I886b1a22dcda1fb5eaa0fdf63f8f2035f61869a5\n"
    },
    {
      "commit": "43328f681e66686075cb31e0bd66c89a4f01a9b8",
      "tree": "60d19bf6e3f451a331167a48e9488c10bf58f12a",
      "parents": [
        "fd4377b3386741d0cf6bb89dae0d59f07ec23f51"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Tue Mar 16 17:05:52 2021 +0000"
      },
      "committer": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Wed Mar 17 17:10:29 2021 +0000"
      },
      "message": "Extend data binding tests for non-transitive R classes\n\nVerify that the previous changes work in a case that was failing before.\n\nFixes: 170302244\nTest: DataBindingExternalArtifactDependencyTest\nChange-Id: I9e7112ee1c4e4c1d9e91e6725154a17c8e4c543d\n"
    },
    {
      "commit": "fd4377b3386741d0cf6bb89dae0d59f07ec23f51",
      "tree": "b703da263d1299ca16923aae4ec90ca4d5fc9d83",
      "parents": [
        "4d737bd71928c15efca1ffc08b614c5a770693a5"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Thu Jan 07 12:00:10 2021 +0000"
      },
      "committer": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Mon Mar 01 15:43:07 2021 +0000"
      },
      "message": "Add support for non-transitive R in data-binding\n\nTest: SymbolTableUtilTest, DataBindingExternalArtifactDependencyTest\nBug: 170302244\nChange-Id: I77893919bd05f1177ddeb5f2b7f11a2c54249c7c\n"
    },
    {
      "commit": "4d737bd71928c15efca1ffc08b614c5a770693a5",
      "tree": "a4459d24b9fc8a124d58cd63b1f0acfc12fb02a9",
      "parents": [
        "d0c3daa86704c89cdae796cc074f57dabd654d4c"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Wed Feb 24 11:22:14 2021 -0800"
      },
      "committer": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Wed Feb 24 11:22:22 2021 -0800"
      },
      "message": "Fix hashcode in AnnotationField\n\nBug: 180537631\nTest: n/a\nChange-Id: I32aaca95a5d32faceae18a8ca0ba11bcd28fd265\n"
    },
    {
      "commit": "d0c3daa86704c89cdae796cc074f57dabd654d4c",
      "tree": "906c8dbc1b23ed20ba59a87447111aca3527dca9",
      "parents": [
        "dff2c3212926703b2effbb71dc58fa7aca936792"
      ],
      "author": {
        "name": "Tom Renn",
        "email": "tomrenn@google.com",
        "time": "Mon Feb 22 15:34:36 2021 -0800"
      },
      "committer": {
        "name": "Tom Renn",
        "email": "tomrenn@google.com",
        "time": "Mon Feb 22 15:34:36 2021 -0800"
      },
      "message": "Suppress existing errorprone warning\n\nBug: 180537631\nTest: NA\nChange-Id: Ia153153a948c1682513382294fef107a178950b7\n"
    },
    {
      "commit": "dff2c3212926703b2effbb71dc58fa7aca936792",
      "tree": "6a4a9a19b78b5a238eba89810145fe82d6bce8c5",
      "parents": [
        "60264c0052f376bd31fb3046febeaacaea2d7e6b"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Wed Feb 17 15:44:15 2021 +0000"
      },
      "committer": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Wed Feb 17 15:47:30 2021 +0000"
      },
      "message": "Namespace R references in MultiModuleTestApp\n\n...it doesn\u0027t break current references, and will make it easier to test non-transitive R classes support in data-binding.\n\nTest: MultiModuleTestApp\nBug: 170302244\nChange-Id: I095777370493e78d4a4520e23797d2fe6939af9d\n"
    },
    {
      "commit": "60264c0052f376bd31fb3046febeaacaea2d7e6b",
      "tree": "b899ce20375ad5751e825e5eee9429789dc3f116",
      "parents": [
        "7b001b663aafc3743a976e4f365ae397972b68f6"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Fri Feb 12 14:17:19 2021 +0000"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Fri Feb 12 15:22:59 2021 +0000"
      },
      "message": "Use ProviderFactory to access sys properties and env variables\n\nThis is to make our build compatible with configuration caching.\n\nBug: n/a\nTest: existing\nChange-Id: I88f03c96d2e32ad71f0f588aee647be0f8671099\n"
    },
    {
      "commit": "7b001b663aafc3743a976e4f365ae397972b68f6",
      "tree": "2ab026718529a70fc55fa30b183fb185f8292d93",
      "parents": [
        "6b44d4e0f639285069fdc3cc34f17dbd79d6afbf"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Thu Feb 11 12:41:25 2021 +0000"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Thu Feb 11 12:55:47 2021 +0000"
      },
      "message": "Move usage of project from task action\n\nThis is to allow using Gradle configuration cache\nin AGP build.\n\nBug: n/a\nTest: gradle build\nChange-Id: If4fe977d029377a8befca3a70794861b346be3c3\n"
    },
    {
      "commit": "6b44d4e0f639285069fdc3cc34f17dbd79d6afbf",
      "tree": "3745a51d83a830b691ac4c2c1d1096c2425ed5f7",
      "parents": [
        "0e8d4f7f2a0a182a93497207299a63397fa9e1b3"
      ],
      "author": {
        "name": "Tom Renn",
        "email": "tomrenn@google.com",
        "time": "Tue Feb 09 10:38:38 2021 -0800"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 09 20:17:33 2021 +0000"
      },
      "message": "Disable compilationTests on Windows\n\nCurrently these tests are failing very often after exceeding the bazel\ntimeout.\n\nBug: 177936851\nTest: NA\nChange-Id: I6386d118afbc5c2c1195f55251e2d403679497f4\n"
    },
    {
      "commit": "0e8d4f7f2a0a182a93497207299a63397fa9e1b3",
      "tree": "90ce4c76b8aeb38367261421a184388e56909caa",
      "parents": [
        "59b710669ad48b00855939e548820a74f3b36c27"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Tue Feb 09 18:49:17 2021 +0000"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 09 19:34:16 2021 +0000"
      },
      "message": "Revert \"Set --max-workers\u003d1 to reduce DB tests\u0027 flakiness on Windows\"\n\nThis reverts commit 671bd2ffb1d3209632c4817dd8e97ce9ac0cdb6a.\n\nReason for revert: Failure rate increased from 7% to 30% on studio_win (http://b/177936851#comment12)\n\nChange-Id: I3b89f684dcbc4d08adcdcec7ff7e943bd7fd2771\n"
    },
    {
      "commit": "59b710669ad48b00855939e548820a74f3b36c27",
      "tree": "dbfd721930a870a74d3dae0ac0140e5e5ba17b67",
      "parents": [
        "9f8be05046eeaece57bd60ee44f675b5adfc4a81"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Wed Feb 03 12:25:29 2021 -0800"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Sat Feb 06 13:55:58 2021 -0800"
      },
      "message": "Moves bundled dependencies to plugin def\n\nThis change moves the bundled library dependencies\nfrom being defined on each module to the plugin definition.\n\nAdditionally this change introduces the same check for libraries\nthan the one we have for modules: If a module needs a library\ndependency, then plugin layout is used to verify that the dependency\nis satisfied in production.\n\nTest: Added check at build time\nBug: 179064916\nChange-Id: I992d0856e29a53f59b9bd627838f4279a340663e\n"
    },
    {
      "commit": "9f8be05046eeaece57bd60ee44f675b5adfc4a81",
      "tree": "98650f64ee6827e07bf46cd94aa90437ddfb7c45",
      "parents": [
        "69244a28b5a8c9aa68ef5a52ea7124e756f8e024"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Fri Feb 05 14:20:28 2021 -0800"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Fri Feb 05 18:52:51 2021 -0800"
      },
      "message": "Remove kotlin-sdtlib-jdk8 library\n\nThis library is provided by the IntelliJ platform,\nand we should not be using our own.\n\nTest: existing tests should cover this\nBug: 179064916\nChange-Id: Ib16df0477248616c957e750193617ec88d088244\n"
    },
    {
      "commit": "69244a28b5a8c9aa68ef5a52ea7124e756f8e024",
      "tree": "ed0d95abdce87754fb5081eaf645052961207a3c",
      "parents": [
        "671bd2ffb1d3209632c4817dd8e97ce9ac0cdb6a"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Fri Feb 05 15:43:36 2021 -0800"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 06 00:31:01 2021 +0000"
      },
      "message": "fix databinding docs\n\nBug: n/a\nTest: n/a\nChange-Id: I6aa1559ae783248d1cdc7c4993486bd1078860ce\n"
    },
    {
      "commit": "671bd2ffb1d3209632c4817dd8e97ce9ac0cdb6a",
      "tree": "404f547f24854bdc92f60a7e7f394df4a598d0e6",
      "parents": [
        "a2da12bea06249dcb769d13bb9ae09c804a85f2b"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Fri Feb 05 16:39:16 2021 +0000"
      },
      "committer": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Fri Feb 05 20:32:45 2021 +0000"
      },
      "message": "Set --max-workers\u003d1 to reduce DB tests\u0027 flakiness on Windows\n\nLimit the number of Gradle workers to reduce the chance that the Gradle\nbuild process hangs.\n\nWe do this on Windows only as the tests do not flake as frequently on\nother OS\u0027s.\n\nAlso, we will be collecting the thread dump (Issue 179482828), so that\nthe next time the tests hang, we will have some data to analyze.\n\nBug: 177936851\nTest: Existing tests\nChange-Id: Ic75c6797efea25243fb98db148920eda7aa17d3f\n"
    },
    {
      "commit": "a2da12bea06249dcb769d13bb9ae09c804a85f2b",
      "tree": "1e15794606245b921ef4d540525aa83dcb67e751",
      "parents": [
        "186711e8dde98cb58e089c545b2cda72a91c42c1"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Mon Feb 01 19:34:12 2021 -0800"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Mon Feb 01 19:34:12 2021 -0800"
      },
      "message": "Removes Guava library\n\nThis change removes the Guava library from\nthe tools/adt/idea project. Guava is provided\nby the IntelliJ platform instead.\n\nCurrently we use a custom Guava as a dependency\nbut then we don\u0027t bundle it and use what is\nprovided by the platform. In fact both Guava libraries\nare in the class path when running tests.\n\nBug: 179064916\nTest: Removing a library, existing tests should pass with the other one\nChange-Id: I68cf532964f09c20fa6a44cc12069f5e0e842157\n"
    },
    {
      "commit": "186711e8dde98cb58e089c545b2cda72a91c42c1",
      "tree": "36befad6a956cbfe84db8156e5e23a69270ebd55",
      "parents": [
        "e207d38110c33e5d1cb23574972cf0bf0220fa27"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 21 13:42:00 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Fri Jan 22 01:34:46 2021 +0000"
      },
      "message": "Disable compilationTests no mac\n\nBug: 178123368\nTest: n/a\nChange-Id: Ief489c007fa3927598ba3e63e3c2b024311c80ea\n"
    },
    {
      "commit": "e207d38110c33e5d1cb23574972cf0bf0220fa27",
      "tree": "68013dcbffead8ca768ffed67b1337309c842de9",
      "parents": [
        "8493400ee0321d10a1becb5c257beab3bdc58f84"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 21 10:34:06 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 21 20:26:34 2021 +0000"
      },
      "message": "Remove run_compilation_tests.sh script\n\nSince compilationTests can now be run in bazel and the IDE.\n\nTest: n/a\nBug: 173134729\nChange-Id: I907dbc27280d4d281683fb968fba25ddf4614a49\n"
    },
    {
      "commit": "8493400ee0321d10a1becb5c257beab3bdc58f84",
      "tree": "214649888bb814c8ad156b451f2af44eb37cf0a4",
      "parents": [
        "af72329b92d7f6291e3b296e44c94a25846e918b"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Wed Jan 20 10:20:10 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 21 19:00:50 2021 +0000"
      },
      "message": "Fix compilationTests on mac\n\nBy redirecting ANDROID_PREFS_ROOT to a temporarily created directory,\nsince tests on mac can\u0027t access user directory.\n\nTest: this is it.\nFixes: 177948569\nChange-Id: I3f14e8aaaf82d01eaa0fd04417472865eae80ed2\n"
    },
    {
      "commit": "af72329b92d7f6291e3b296e44c94a25846e918b",
      "tree": "953633aac879730eede870fb9e7cec447fb38c9d",
      "parents": [
        "41d3ae8e97a640dc7090d3e3c3953a0a3b326e3f"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Tue Jan 19 14:21:14 2021 +0000"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Wed Jan 20 09:29:12 2021 +0000"
      },
      "message": "Remove Maven plugin from databinding publishing\n\nUse Gradle maven-publish plugin instead, as the maven\nplugin is removed in Gradle 7.0\n\nBug: n/a\nTest: testing with Gradle\u0026Bazel\nChange-Id: I8ab1f0f18f44aedd415614261d056109c2537f89\n"
    },
    {
      "commit": "41d3ae8e97a640dc7090d3e3c3953a0a3b326e3f",
      "tree": "d5639d791c940ec569c26c72d2ac07742f1e0fb1",
      "parents": [
        "2a09bd4b472fa9ea2df4226dcbfecbbc9741b136"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 15:48:43 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 17:25:53 2021 -0800"
      },
      "message": "Remove compiler-test symlink\n\nIt doesn\u0027t seem to be used by any tests.\n\nTest: n/a\nBug: 173134729\nChange-Id: I325e07dc3a35420bd67a3a50b74ce145b5df2886\n"
    },
    {
      "commit": "2a09bd4b472fa9ea2df4226dcbfecbbc9741b136",
      "tree": "d0e853880d23efe7e98e322d1792e511ecf5140f",
      "parents": [
        "bd442ae6a9b4b12d90ca4a3d2d3fd3848b155734"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 15:30:52 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 17:25:53 2021 -0800"
      },
      "message": "Update README and bash script\n\nThe bash script can be deleted once the presubmit configuration in\nandroid build is removed.\n\nTest: n/a\nBug: 173134729\nChange-Id: I18a1bec1909c96fe6881bfbf52193c31fc195f51\n"
    },
    {
      "commit": "bd442ae6a9b4b12d90ca4a3d2d3fd3848b155734",
      "tree": "8577bc9e53bc9e3e02db0c83b2f6ef996f500bc8",
      "parents": [
        "dd5f8a2338874973993b524d49d15f9f36f3d1d4"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 15:12:28 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 17:25:52 2021 -0800"
      },
      "message": "Clean up compilationTests module\n\nClean up by moving files back to their original packages. Delete\nleftover resources.\n\nTest: n/a\nBug: 173134729\nChange-Id: Ie54ed34f89f74979882459da82fa378a3cbb0426\n"
    },
    {
      "commit": "dd5f8a2338874973993b524d49d15f9f36f3d1d4",
      "tree": "9561ab8b6fd3490d6cc10feefa0be161004e566a",
      "parents": [
        "e9019b9320bc1a7e92d8219a5d4809b4b8697d64"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 09:00:44 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 15:33:19 2021 -0800"
      },
      "message": "Convert rest of compilationTests\n\nTest: this is it.\nBug: 173134729\nChange-Id: I8792771d0706d951fdf47c90e0f0eee015f5178e\n"
    },
    {
      "commit": "e9019b9320bc1a7e92d8219a5d4809b4b8697d64",
      "tree": "59fcfa17b8eb7dd774dafd8088a0bd684c01251a",
      "parents": [
        "6d46da45ffef0574840944e2005ffe68b1c15e8e"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 11:37:49 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 15:33:02 2021 -0800"
      },
      "message": "Correct testData directory structure\n\nI made a mistake thinking intellij will convert java package syntax\na.b.c to directories, but instead it just created a directory named\na.b.c. This change corrects that.\n\nTest: n/a\nBug: 173134729\nChange-Id: I10276bd925c0eb37f713fc7faee6049a3b999406\n"
    },
    {
      "commit": "6d46da45ffef0574840944e2005ffe68b1c15e8e",
      "tree": "cfd4f22462e3ba42e695c8e8bba0394a7e0844e8",
      "parents": [
        "ca2af9ca9c629b975d476f788277566f7fc8c0f0"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Wed Jan 13 15:50:08 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 15:33:02 2021 -0800"
      },
      "message": "Move test files out of the test jar\n\nAnd move them into testData.\n\nSome test files are duplicated but they will be removed as soon as the\ntests that depend on them are migrated.\n\nTest: this is it.\nBug: 173134729\nChange-Id: I0f83527514fa5b6a57586f9446a3460bbc58a384\n"
    },
    {
      "commit": "ca2af9ca9c629b975d476f788277566f7fc8c0f0",
      "tree": "785e8283549772b8d166205eb90c54171e4fe887",
      "parents": [
        "8fc33019241acb26aeff4aa6c73ce7bbe10eb80b"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 11:10:23 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Jan 14 23:25:19 2021 +0000"
      },
      "message": "Increase compilationTests test shard count\n\nWe may need to further increase the shard count after all of the tests\nare converted.\n\nTest: this is it.\nBug: 173134729\nChange-Id: I4b1e042624b023289fca98054c60cdf1704df509\n"
    },
    {
      "commit": "8fc33019241acb26aeff4aa6c73ce7bbe10eb80b",
      "tree": "92035e1666e27e547b28c9c7752902f7ca25bcec",
      "parents": [
        "44a871067ef6cf5d6b1fb7227a09b2e928bbdb38"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Fri Jan 08 14:27:46 2021 -0800"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 14 19:13:55 2021 +0000"
      },
      "message": "Skip root view while finding child views\n\nWhen a layout binding is included inside another layout, the include tag\nmight be setting a different id. If that id conflicts with one of the\nchildren in the included binding, it breaks the generated Binding class\nas it finds the root view instead of finding a child when calling\nfindVewById.\n\nThis CL adds a helper class to run find view by id only on children. We\ndon\u0027t need it for the root view as we already use the argument that was\npassed in.\n\nBug: 177013456\nTest: IncludeIdCollusionTest\nChange-Id: I9e0739936d99f96d0396f2ea34b3df91fa609752\n"
    },
    {
      "commit": "44a871067ef6cf5d6b1fb7227a09b2e928bbdb38",
      "tree": "8b7b4cd7f2712c75cea7ef08a0426753ce9e7425",
      "parents": [
        "7f9bec6456317e3f53ab2d241ca19937dba83682"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Wed Jan 13 10:33:34 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Wed Jan 13 15:03:00 2021 -0800"
      },
      "message": "Finish converting SimpleCompilationTest\n\nTest: this is it.\nBug: 173134729\nChange-Id: I64bd3f56e6ef34122fe7cfeff40b837c35e67e80\n"
    },
    {
      "commit": "7f9bec6456317e3f53ab2d241ca19937dba83682",
      "tree": "92a14dbc3b767531e7f8d41c714d37cbb2b1421f",
      "parents": [
        "13a3a72131b5ecc935dea14801f0bb603df21ff6"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Tue Jan 12 09:37:59 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Wed Jan 13 10:25:01 2021 -0800"
      },
      "message": "Convert more compilation tests\n\nUpdate DataBindingCompilationTestCase to support extraction of stdout\nand stderr, which is not supported by the AndroidGradleTestCase API.\n\nTest: this is it.\nBug: 173134729\n\nChange-Id: I9fd482b3893b28b448ab7d19dea60a13ac48d646\n"
    },
    {
      "commit": "13a3a72131b5ecc935dea14801f0bb603df21ff6",
      "tree": "b1c3fcd941631ad065f45055cc09d25047d51dcb",
      "parents": [
        "331e63591856f438563912a964c9c11679c43abc"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Fri Jan 08 13:41:03 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Tue Jan 12 15:57:38 2021 -0800"
      },
      "message": "Groundwork CL - migrate compilation tests to bazel\n\nThis change introduces DataBindingCompilationTestCase which is based on\nAndroidGradleTestCase. All of the compilation tests will be converted to\nuse it because it\u0027s how we run gradle tests on bazel presubmit.\n\nThis change converts a couple of simple compilation tests over to bazel\njust to demonstrate how it will look.\n\nTest: covered by this change.\nBug: 173134729\nChange-Id: I86a037093d8c227d7c8c81e41b43800afedcf5b3\n"
    },
    {
      "commit": "331e63591856f438563912a964c9c11679c43abc",
      "tree": "a7cbda8f2240033df259a6e2677983345309c26d",
      "parents": [
        "b5448b5bf00c87d10fcc33a284fd724f2d3a8175"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Fri Jan 08 14:14:31 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Mon Jan 11 16:04:58 2021 -0800"
      },
      "message": "Refactor copy function to separate utility\n\nThis paves the way for future changes that will need to use this\nfunctionality.\n\nTest: n/a\nBug: 173134729\nChange-Id: Iee6ccbd40c2f6ef83271eb2a0ebe2486d9294c69\n"
    },
    {
      "commit": "b5448b5bf00c87d10fcc33a284fd724f2d3a8175",
      "tree": "03745e6ceb8033b06bb6c5ebe450e981485ef52b",
      "parents": [
        "911c64692dd17588126785eaec8f787df8bc6671"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Fri Jan 08 13:45:43 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Mon Jan 11 14:49:55 2021 -0800"
      },
      "message": "Add db-compilationTests iml module\n\nTest: n/a\nBug: 173134729\nChange-Id: I1d66579bca601f205c202c1bf2e02a23ca7bcd27\n"
    },
    {
      "commit": "911c64692dd17588126785eaec8f787df8bc6671",
      "tree": "ac59d0972dee59916c9c8034d022a24c33595019",
      "parents": [
        "9f1cfe0585a773f23db82c7f96a62ed9833d3dec"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Fri Jan 08 14:36:36 2021 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Mon Jan 11 14:49:55 2021 -0800"
      },
      "message": "Fix test errors when run in the IDE\n\nTest: this is it.\nBug: 173134729\nChange-Id: I970d385ed4e4e4702f4a1350b31fe90c764a815e\n"
    },
    {
      "commit": "9f1cfe0585a773f23db82c7f96a62ed9833d3dec",
      "tree": "f03a5ee64c65faa517b733c4a0a7296ff18c49c5",
      "parents": [
        "018748e677dfc8d279c446c8d0af8e179946078c"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Thu Jan 07 17:16:03 2021 -0800"
      },
      "committer": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Thu Jan 07 17:50:28 2021 -0800"
      },
      "message": "Keep a weak reference to LifecycleOwner in observers\n\nWeakListeners in data binding are designed to hold on a strong\nreference to the observed object but weak reference to the binding\nit self so that we don\u0027t leak the binding.\n\nUnfortunately, live data observers were keeping a strong reference\nto the lifecycle owner, which meant that if binding is GC\u0027ed and\nwe don\u0027t get a chance to process weak references, we might leak the\nlifecycleowner.\n\nIdeally, we wouldn\u0027t want to use this ReferenceQueue that cleans up\nweak listeners but aside from that queue, we don\u0027t have a good\nnotification (on the main thread) that the binding can never be used\nanymore so I decided to keep it for now.\n\nBug: 176886060\nTest: existing tests, also adding tests that clear lifecycle\nChange-Id: Ia72639571cf6aef2769de20383ee400ea20f67ba\n"
    },
    {
      "commit": "018748e677dfc8d279c446c8d0af8e179946078c",
      "tree": "0c40e92e48a40998fefc7a4ccdad1400af6f9f88",
      "parents": [
        "c220be22416f829c5f42883fdaff72cdc56a4f29"
      ],
      "author": {
        "name": "Jean-Luc Coelho",
        "email": "jeanlucncoelho@google.com",
        "time": "Mon Dec 21 16:00:16 2020 -0800"
      },
      "committer": {
        "name": "Jean-Luc Coelho",
        "email": "jeanlucncoelho@google.com",
        "time": "Tue Dec 29 22:57:03 2020 +0000"
      },
      "message": "Move databinding connected test to RBE\n\nSome changes had to be made to the build files for the databinding test to work.\n\nThe databinding test projects had to be updated to use the new maven-publish plugin to be compatible with gradle 7\nThe extensions build file had to be changed to allow a null library variant.\n\nBug: 77903319\nTest: Existing\nChange-Id: If787f7fdab02306bd66cdd3ff8a79c777eb09dce\n"
    },
    {
      "commit": "c220be22416f829c5f42883fdaff72cdc56a4f29",
      "tree": "da3ad8b3c536c5177d6131d095362734f4420daf",
      "parents": [
        "98959d083bf928f686b8ae832f66cc20a34571cd"
      ],
      "author": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Tue Dec 15 21:58:07 2020 +0000"
      },
      "committer": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Mon Dec 21 22:11:36 2020 +0000"
      },
      "message": "Use bundledKotlinVersion defined in //tool/buildSrc/base\n\nChange-Id: I5cbb85bcfdaf0ac0ef4c7134429bd7bb4ca863ad\n"
    },
    {
      "commit": "98959d083bf928f686b8ae832f66cc20a34571cd",
      "tree": "d757b66b974d4edd27afdb06959cfd863b24b5cf",
      "parents": [
        "0c53c438e90683b56a975f8c19f7f8da089bafbe"
      ],
      "author": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Tue Dec 15 20:54:46 2020 +0000"
      },
      "committer": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Tue Dec 15 22:31:10 2020 +0000"
      },
      "message": "Remove direct references to Kotlin versions\n\nChange-Id: I91782411e4a3cb9ef1e48a6a7017d9d7795e887d\n"
    },
    {
      "commit": "0c53c438e90683b56a975f8c19f7f8da089bafbe",
      "tree": "aac831a49b483eaaf1dddd1fefbc7598e8790395",
      "parents": [
        "a3f98dd235d070a462b5d5720ca0432b58ab773a"
      ],
      "author": {
        "name": "Dana Dahlstrom",
        "email": "dahlstrom@google.com",
        "time": "Thu Dec 10 15:00:00 2020 -0800"
      },
      "committer": {
        "name": "Dana Dahlstrom",
        "email": "dahlstrom@google.com",
        "time": "Fri Dec 11 11:00:00 2020 -0800"
      },
      "message": "Apply @Ignore to failing SafeUnboxingTest\n\nChange-Id: I42ee71f0513cf96a9d1f13c5e697679b42ca046c\nIssue: 175036746\n"
    },
    {
      "commit": "a3f98dd235d070a462b5d5720ca0432b58ab773a",
      "tree": "6b79c54e113545ac970d60e9df97f22f08c88772",
      "parents": [
        "b0cfc6ca016ae3195665517ad2c8d68f05c3d5a0"
      ],
      "author": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Dec 10 15:41:19 2020 -0800"
      },
      "committer": {
        "name": "Peter Xu",
        "email": "peterx@google.com",
        "time": "Thu Dec 10 15:47:03 2020 -0800"
      },
      "message": "Fix databinding compilation tests\n\nThis change updates all occurrences of \u0027compile\u0027 to \u0027implementation\u0027 in\ngradle files. The recent version of gradle rejects \u0027compile\u0027.\n\nTest: this is it.\nFixes: 175341077\nChange-Id: I0acdc2df771b18ac9f93eb83e7beaade703e4f29\n"
    },
    {
      "commit": "b0cfc6ca016ae3195665517ad2c8d68f05c3d5a0",
      "tree": "20d3604ed1be445a18be493d20dbea0a3b019bb3",
      "parents": [
        "d83d1fbf57b7558043f944900e901ed170388e15"
      ],
      "author": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Mon Oct 19 17:51:09 2020 +0000"
      },
      "committer": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Sat Dec 05 01:11:20 2020 +0000"
      },
      "message": "Update Kotlin dependencies to 1.4.21\n\nChange-Id: Ia7eb46b5a6d2165539a9521710376ba023d2d4a3\n"
    },
    {
      "commit": "d83d1fbf57b7558043f944900e901ed170388e15",
      "tree": "cec431eed322dfae9029e6b9deb5aa861f34fe05",
      "parents": [
        "11f3864741c0a335cc34ce18e1b65034cba517b1"
      ],
      "author": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Mon Oct 19 17:51:09 2020 +0000"
      },
      "committer": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Fri Dec 04 20:56:06 2020 +0000"
      },
      "message": "Update Kotlin dependencies to 1.4.20\n\nChange-Id: If18fdfedabaa43568c8b37ba1faa909689d95c0c\n"
    },
    {
      "commit": "11f3864741c0a335cc34ce18e1b65034cba517b1",
      "tree": "7f9a630288fd654445db6b5c39593160854900a8",
      "parents": [
        "de1bae70c096f01e4604c30c5fccc0e732a9724f"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Thu Oct 01 09:59:28 2020 -0700"
      },
      "committer": {
        "name": "Manuel Vicente Vivo",
        "email": "mvivo@google.com",
        "time": "Thu Dec 03 10:59:30 2020 +0000"
      },
      "message": "Adds StateFlow support to data binding\n\nBug: 162839058\nTest: KotlinTestApp\nChange-Id: I835d768cbc6d8bf44566bb15aae8fe786a005ed0\n"
    },
    {
      "commit": "de1bae70c096f01e4604c30c5fccc0e732a9724f",
      "tree": "0deaeac0b18d6f7de06723a5110e073771b347a8",
      "parents": [
        "64d9d5883dd7693b48904dcca4a776fe436aaf70"
      ],
      "author": {
        "name": "Christophe Rhodes",
        "email": "xof@google.com",
        "time": "Wed Dec 02 10:54:01 2020 +0000"
      },
      "committer": {
        "name": "Christophe Rhodes",
        "email": "xof@google.com",
        "time": "Wed Dec 02 10:54:01 2020 +0000"
      },
      "message": "editorconfig fixes\n\n- apply the same formatting for *.kts as for *.kt\n- make line length 72 for COMMIT_EDITMSG\n\nBug: n/a\nTest: diff \u003c(editorconfig $(pwd)/a.kt) \u003c(editorconfig $(pwd)/a.kts)\nChange-Id: I025f4f7eb1cfcdce8a7af4d04534a82e110cec32\n"
    },
    {
      "commit": "64d9d5883dd7693b48904dcca4a776fe436aaf70",
      "tree": "a28b661199c05e098d304849911010fe5ad8d85c",
      "parents": [
        "c1744629fe67d8b96d682fbce2dd66383726fc4f"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Wed Nov 25 16:09:15 2020 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Wed Nov 25 16:09:15 2020 -0800"
      },
      "message": "Update tests to not use compile.\n\nThis is going away in AGP 7.0\n\nBug: N/A\nTest: these are automated tests\nChange-Id: I6aaf02b3de6bd908610fb5475f61cb0fe76e7abd\n"
    },
    {
      "commit": "c1744629fe67d8b96d682fbce2dd66383726fc4f",
      "tree": "573e37e6729b68d4e7ff542d85ffefb53bf833b8",
      "parents": [
        "2b5daaedfdcf7632986eb3d8f4be642aaceda949"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Fri Nov 13 16:01:03 2020 +0000"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Fri Nov 13 16:14:03 2020 +0000"
      },
      "message": "Avoid using deprecated Gradle configurations\n\nMigrate to api/implementation in AGP build.\n\nBug: n/a\nTest: existing\nChange-Id: Ic87a31e968cbb8653e5f54401ad81d8dcee66a05\n"
    },
    {
      "commit": "2b5daaedfdcf7632986eb3d8f4be642aaceda949",
      "tree": "4d5ade0ea0cd45f95d3ef9ff0db4e3a04ad4030e",
      "parents": [
        "c2fd6e772183fa4421806a5502e91be87f68fde4"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Thu Nov 12 21:32:45 2020 +0000"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Thu Nov 12 21:34:08 2020 +0000"
      },
      "message": "Avoid specifying JDK11 path for data-binding\n\nJAVA_HOME needs to point to JDK11 so no need\nto specify it additionally.\n\nBug: n/a\nTest: build on mac, check manually on windows\nChange-Id: I515564e2f2e746ecccb9cc5a6e99187320b1c056\n"
    },
    {
      "commit": "c2fd6e772183fa4421806a5502e91be87f68fde4",
      "tree": "9c62157b30203f25dea22c88c86157ddf00fd017",
      "parents": [
        "22c8a18af7a3339005ed0b9a8432c8074a052427"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Thu Nov 12 13:02:02 2020 +0000"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Thu Nov 12 16:16:44 2020 +0000"
      },
      "message": "Use JDK11 to compile AGP and libs\n\nBug: n/a\nTest: build\u0026test with Gradle\nChange-Id: I07942a42e8f8787b8514921b79e5803d3619bab2\n"
    },
    {
      "commit": "22c8a18af7a3339005ed0b9a8432c8074a052427",
      "tree": "c2ded6e6ebcdfa7cfb4bf69a389e0db65fa4491e",
      "parents": [
        "00b0b39c5f3f7a6ee4e4c19fca13ce8d24016ba5"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Tue Nov 10 15:59:52 2020 +0000"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Wed Nov 11 18:15:40 2020 +0000"
      },
      "message": "Use JDK11 when building databinding\n\nAGP requires JDK11+ in order to run successfully,\nso make sure to use that version when testing\ndata-binding.\n\nBug: 169923330\nTest: building data-binding\nChange-Id: I623cd456f506eb934b87e4faf3f6afd1b6674d9e\n"
    },
    {
      "commit": "00b0b39c5f3f7a6ee4e4c19fca13ce8d24016ba5",
      "tree": "6e00eba4400fa5679b199a92608cc6c3879de0ba",
      "parents": [
        "431078bbcace00470bbac90557802a03217991fc"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Tue Sep 15 12:00:18 2020 +0200"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Mon Oct 26 16:00:25 2020 +0100"
      },
      "message": "Add .editorconfig for formating when using Gradle\n\nUsing symlink does not work on mac.\n\nBug: n/a\nTest: existing\nChange-Id: I3cb2d7eba4c7a16a8c5117b189647ab79e092484\n"
    },
    {
      "commit": "431078bbcace00470bbac90557802a03217991fc",
      "tree": "abd0389682fffba9982188086296f640737bc872",
      "parents": [
        "35b990c92091867b980969e9aa83ad273e797be8"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Fri Oct 16 09:15:32 2020 -0700"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Fri Oct 16 09:28:50 2020 -0700"
      },
      "message": "Finalize unbundled rules migration\n\nTest: existing\nBug: 156497102\nChange-Id: Iaddcc77eede79dac4b567da138aaea980cc8dedf\n"
    },
    {
      "commit": "35b990c92091867b980969e9aa83ad273e797be8",
      "tree": "b384b7cf1732a9d784fae290269d9ab2d357497d",
      "parents": [
        "e907f4e4e0f920f305cbc350b357e981ff77cd92"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Fri Oct 09 10:33:08 2020 -0700"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Fri Oct 09 10:33:08 2020 -0700"
      },
      "message": "Remove old iml_module rule\n\nTest: existing\nBug: 156497102\nChange-Id: I83294b4358e5680cd4ced19008cc03b7999d89b5\n"
    },
    {
      "commit": "e907f4e4e0f920f305cbc350b357e981ff77cd92",
      "tree": "6d96b2adb59ce1b5249a9c5813060f6696c783f0",
      "parents": [
        "8e9349089c145356f2bc7ad90d2a50cc531f96c9"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Wed Oct 07 20:48:12 2020 -0700"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Wed Oct 07 20:48:38 2020 -0700"
      },
      "message": "Remove direct dependencies on IJ modules\n\nWe are now getting these dependencies from the\nprebuilt platform.\n\nTest: existing\nBug: N/A\nChange-Id: I5225ddc45194699bec7031b761fa784def5f5d7a\n"
    },
    {
      "commit": "8e9349089c145356f2bc7ad90d2a50cc531f96c9",
      "tree": "64ce1081815b7d69f90d6eaf6da51a531c03ef22",
      "parents": [
        "e170cda06320feaf6dce8734add0f56ded743d53"
      ],
      "author": {
        "name": "Tom Renn",
        "email": "tomrenn@google.com",
        "time": "Thu Aug 27 14:23:00 2020 -0700"
      },
      "committer": {
        "name": "Tom Renn",
        "email": "tomrenn@google.com",
        "time": "Thu Sep 24 20:42:51 2020 +0000"
      },
      "message": "Update to API 30.\n\nTest: updated with new API\nBug: 161826774\nChange-Id: I98066cc8be203c73302627f93862a9cfde889854\n"
    },
    {
      "commit": "e170cda06320feaf6dce8734add0f56ded743d53",
      "tree": "c6cb59619152cf1e42ed357a773441d70ae80926",
      "parents": [
        "a665a7a88148ed35a588ab164e2166d36eba79b5"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Wed Sep 16 09:26:25 2020 -0700"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Thu Sep 17 12:01:09 2020 -0700"
      },
      "message": "Add studio-sdk as a library\n\nTest: existing\nBug: N/A\nChange-Id: Icfc57288a12a0614343d32b066a8b705adb77b46\n"
    },
    {
      "commit": "a665a7a88148ed35a588ab164e2166d36eba79b5",
      "tree": "710d3ffe506ec133acf06a0720c55b29cdf971e5",
      "parents": [
        "1aa995a78280acdd261ec507140b48bdf345a42b"
      ],
      "author": {
        "name": "Raluca Sauciuc",
        "email": "ralucas@google.com",
        "time": "Tue Sep 08 17:43:03 2020 -0700"
      },
      "committer": {
        "name": "Raluca Sauciuc",
        "email": "ralucas@google.com",
        "time": "Tue Sep 15 15:38:14 2020 -0700"
      },
      "message": "Update Kotlin dependencies to 1.4.10\n\nBug: N/A\nTest: N/A\nChange-Id: I55eef500480ca39731ea17d27eb41d1ffc63483b\n"
    },
    {
      "commit": "1aa995a78280acdd261ec507140b48bdf345a42b",
      "tree": "1ad1513eb646bd51b60a2c203476c2545a0f6f9b",
      "parents": [
        "d63a64a2f7d3102739b8fe5e3ce3787107ec8502"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Tue Sep 08 17:17:07 2020 -0700"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 12 01:19:09 2020 +0000"
      },
      "message": "Handle type suffixes in the parser\n\nThis CL fixes a bug in data binding where if someone uses long type suffix,\nwe would still consider it as an integer.\n\nI had to do it manually instead of from the grammar as it is declared as a\nfragment, which makes it a non-token. I didn\u0027t want to change the grammar\nto reduce the risk of impact for this change.\n\nI\u0027ve also added tests for hex, binary and float even though they are not\naffected by this bug.\n\nAlso, unrelated to this CL but i needed to update mockito in test app\nto make some mocking tests pass.\n\nBug: 167976837\nTest: TypeSuffixTest\nChange-Id: I65c6ebf4a013219a0ac12c0de672cc712ecea494\n"
    },
    {
      "commit": "d63a64a2f7d3102739b8fe5e3ce3787107ec8502",
      "tree": "2cdcd11989b209b3cb9d98f08d9ea2706c3c5436",
      "parents": [
        "feb17f2e6071ea8588b6ed54019f30f52da030a3"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Wed Sep 09 21:39:59 2020 +0100"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Wed Sep 09 21:39:59 2020 +0100"
      },
      "message": "Ignore .editorconfig changes\n\nThis is symlink by repo, so avoid reporting it as\nchanged in git.\n\nBug: n/a\nTest: existing\nChange-Id: I2dd5cded4d172dd51df71f0b5d3071afd2ab2e5f\n"
    },
    {
      "commit": "feb17f2e6071ea8588b6ed54019f30f52da030a3",
      "tree": "ffd72f5caadca157c9847ff0c55849e39207b2f1",
      "parents": [
        "203bc0cdcb700bc9e57b01d728ad171c4cf8cc62"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Thu Sep 03 14:52:59 2020 +0200"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Thu Sep 03 16:27:23 2020 +0200"
      },
      "message": "Compile databinding with Kotlin apiVerison 1.3\n\nBug: 167583121\nTest: DataBindingKtsTest\nChange-Id: I763a83ed63486eebb2dc94f3b671bdf4f60b2f21\n"
    },
    {
      "commit": "203bc0cdcb700bc9e57b01d728ad171c4cf8cc62",
      "tree": "3f67f7072ca2e6f626822436e1e97d015522bf2b",
      "parents": [
        "4b13554fc4516f4eeaf4ca35e8ce4b778678f6d3"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Thu Aug 27 15:16:30 2020 -0700"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Thu Aug 27 15:16:30 2020 -0700"
      },
      "message": "Puts local antlr before platform antlr\n\nThe databinding module needs antlr to run so it includes it\nas a module library. This makes anltr be bundled in the plugin\nlib directory. However the platform offers another antlr library\nthat is bundled with studio.\n\nThis change makes the development/test classpath closer to production,\nand now the tests can pass, but this could potentially be an issue\ndown the road having two libraries with different versions loaded\nin the plugin. If another module uses the platform antlr, at runtime\nis going to receive a different version.\n\nTest: this is now running in studio_linux\nBug: 156497102\nChange-Id: I0e670e1c5c1bf912b6ae606afbcc7e0ca46199f4\n"
    },
    {
      "commit": "4b13554fc4516f4eeaf4ca35e8ce4b778678f6d3",
      "tree": "1820577797f0fa8383f8931ba031a2e807c97a15",
      "parents": [
        "7973370e3510a7bdca7c9932fe76748204fea247"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Tue Aug 25 17:52:14 2020 -0700"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Tue Aug 25 21:17:12 2020 -0700"
      },
      "message": "Update unbundled rules\n\nTest: N/A\nBug: N/A\nChange-Id: Ia8f47c3ec5820af29cb68a09bfeaac747af82bea\n"
    },
    {
      "commit": "7973370e3510a7bdca7c9932fe76748204fea247",
      "tree": "a9d6e9d3bfad74e96fb4af7efef2d907d558c640",
      "parents": [
        "f1918c67c484ec9d97433a7583dc897799824988"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Mon Aug 24 17:02:11 2020 +0100"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Mon Aug 24 17:02:11 2020 +0100"
      },
      "message": "Use precompiled script plugins in databinding\n\n- Move to using java-library plugin\n- Migrate to maven-publish Gradle plugin when databinding\n  is part of tools build.\n\nBug: 64551265\nTest: existing\nChange-Id: Iae08f0919cb01ea04a9b01f33001f4de6b9fa68b\n"
    },
    {
      "commit": "f1918c67c484ec9d97433a7583dc897799824988",
      "tree": "de67812ce419dbc480968fae345c2d08289fca8e",
      "parents": [
        "b58e6f24e634686fb72c56f705435f564ad75381"
      ],
      "author": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Thu Feb 13 14:26:58 2020 -0800"
      },
      "committer": {
        "name": "Juan Chen",
        "email": "juanch@google.com",
        "time": "Thu Aug 13 17:23:07 2020 +0000"
      },
      "message": "Update Kotlin dependencies to 1.4\n\nChange-Id: Ic8bc88786276211a333a5206f0e26dc2e4dbcec3\n"
    },
    {
      "commit": "b58e6f24e634686fb72c56f705435f564ad75381",
      "tree": "324b0477df1b8341cec431e59c8105557d647e7b",
      "parents": [
        "69a7bb99b2e68ba02067914a97ef427810c0e01a"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Thu Aug 06 18:39:02 2020 -0700"
      },
      "committer": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Fri Aug 07 23:54:32 2020 +0000"
      },
      "message": "Further deflake IncludeTagTest\n\nRelying on UI sync for execute pending bindings is unfortunately not\ngood enough, we should just execute it instead.\n\nBug: 77902456\nTest: IncludeTagTest\nChange-Id: I9ba965399fe9bcd65780a74787e4419f6ee2b834\n"
    },
    {
      "commit": "69a7bb99b2e68ba02067914a97ef427810c0e01a",
      "tree": "fa8f3ad2931e808d7e440e301fd389e55400cc83",
      "parents": [
        "4da76354c10aa499a6ae0d723b18d89d0ae7e887"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Tue Aug 04 19:58:15 2020 -0700"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 07 17:54:19 2020 +0000"
      },
      "message": "Fix undefined generic assignability\n\nThis CL fixes a bug in data binding, or rather makes it more compatible\nwith java programming language.\n\nWe broke incomplete generic assignability in 3.5 timeframe where\nwe stopped supported assigning List\u003cFoo\u003e to List to fix some other\ngenerated code. (b/139738910, I2ea4ad74596fd6145f8dd4665dd550fd6e36f0d6).\n\nUnfortunately, it is a common patter to define such layouts where the\nlayout is not necessarily interested in the type variable.\nAlso, technically, java is completely fine with assigning List to List\u003cString\u003e\nor List\u003cString\u003e to List.\n\nTo accomodate for that, this CL changes the isAssignable check in ModelClass\nto also accept assignability if one of the types is a TypeVar (incomplete).\n\nBug: 152153710\nTest: AnnotationModelAssignabilityTest.kt\nChange-Id: Ic1766fbddb5bb3c1508c83c1fd28aa236645fa5f\n"
    },
    {
      "commit": "4da76354c10aa499a6ae0d723b18d89d0ae7e887",
      "tree": "d3c55360200342291116f654caf1e594326af79f",
      "parents": [
        "edae9b0558b77d622c3af087490217650fec0194"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Sat Jul 25 20:57:13 2020 +0100"
      },
      "committer": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Sat Jul 25 20:57:13 2020 +0100"
      },
      "message": "Update to Mockito 3.0.0 in integ. tests (tools/data-binding)\n\nto support JDK 11.\n\nBug: 161615730\nTest: Existing tests\nChange-Id: I4c94d45c077b99d7de20c1aceda08d6afde6182f\n"
    },
    {
      "commit": "edae9b0558b77d622c3af087490217650fec0194",
      "tree": "5df7f14dfac1833e669656d71ed496f8d9d16190",
      "parents": [
        "897cf5a29761b556e392382086a29355a2841022"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Thu Jul 23 16:58:03 2020 -0700"
      },
      "committer": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Fri Jul 24 16:57:53 2020 +0000"
      },
      "message": "repro for kapt failure\n\nBug: 161814391\nTest: KotlinTestApp\nChange-Id: Ie4de154eac97f80161e666fa02770a3df945167a\n"
    },
    {
      "commit": "897cf5a29761b556e392382086a29355a2841022",
      "tree": "78c8c8841c846964580f84f0e19903cf3c147003",
      "parents": [
        "0dfc8c924b7b739dd48e8984bb7c2663cfe4c9d9"
      ],
      "author": {
        "name": "David Herman",
        "email": "davidherman@google.com",
        "time": "Mon Jul 20 11:31:30 2020 -0700"
      },
      "committer": {
        "name": "David Herman",
        "email": "davidherman@google.com",
        "time": "Tue Jul 21 16:18:15 2020 +0000"
      },
      "message": "Fix JavaClassTest checks to be more robust against future JDK versions\n\nPreviously, we were verifying parsing by checking for specifically named\nfields and functions, but some of those fields / methods have been\nremoved starting in JDK11.\n\nSince we don\u0027t care about exact fields / methods, but just more that the\nparsing code works, we instead check the properties of the fields /\nmethods for verification, which should be a lot more future proof.\n\nFixes: 161611073\nTest: Only test code updated\nChange-Id: I0d330e0247edd051206ad186afeaa929c7d3496e\n"
    },
    {
      "commit": "0dfc8c924b7b739dd48e8984bb7c2663cfe4c9d9",
      "tree": "1ccda8b22797131756bb48229efe69ca042067fd",
      "parents": [
        "fe71052093af80c42cef8856c0a73e272f60ee76"
      ],
      "author": {
        "name": "Raluca Sauciuc",
        "email": "ralucas@google.com",
        "time": "Sat Jul 18 16:05:47 2020 -0700"
      },
      "committer": {
        "name": "Raluca Sauciuc",
        "email": "ralucas@google.com",
        "time": "Sat Jul 18 20:46:27 2020 -0700"
      },
      "message": "[JDK11] Fix dependencies on JAXB libraries\n\nThe IDE\u0027s definition of jaxb-api is not transitive, so we must\ninclude the javax.activation dependency explicitly. This only affects\nAndroid Studio tests.\n\nBug: 135535322\nTest: N/A\nChange-Id: I37c61c6335002983ffb406fdba4d32dca3143566\n"
    },
    {
      "commit": "fe71052093af80c42cef8856c0a73e272f60ee76",
      "tree": "dc0e766262a04d09107413c6cffa812900e4cf30",
      "parents": [
        "f854d654364248c5004576e016a521ee56916cd5"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Sat Jul 11 15:50:43 2020 -0700"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Sat Jul 11 16:14:08 2020 -0700"
      },
      "message": "Use new library scheme for unb. rules\n\nTest: existing\nBug: 156497102\nChange-Id: Ie2d9371840de4c06fcbf8b43bb436a14aca4876f\n"
    },
    {
      "commit": "f854d654364248c5004576e016a521ee56916cd5",
      "tree": "8f1cc813d017e6947c17ef083a62fdd407cef4f8",
      "parents": [
        "25ca2aa31a1c28245793bcd445c3b5f5e0669ea3"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Thu Jul 09 09:48:36 2020 -0700"
      },
      "committer": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Thu Jul 09 11:42:02 2020 -0700"
      },
      "message": "Update BUILD files with bundled deps\n\nTest: N/A\nBug: 156497102\nChange-Id: I49429f36d43ab0f0be1f9e37c378d82b9b6ab686\n"
    },
    {
      "commit": "25ca2aa31a1c28245793bcd445c3b5f5e0669ea3",
      "tree": "6dc9f2540da954fb1a665c6a82d349ccc4c53e83",
      "parents": [
        "79099d3dd54af63cbc04bcd19ea1064d8d9ce412"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Tue Jun 30 19:34:23 2020 -0700"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 08 23:10:02 2020 +0000"
      },
      "message": "Add iml_module rules for the unbundled project\n\nThese are the modules for the tools/adt/idea project.\nThey are all tagged as manual for now, see the README in\ntools/adt/idea/studio for more information\n\nTest: The new project creation will have its own tests\nBug: 156497102\nChange-Id: I40c052d19d8a2f0d00f2342f545b5b6c3d3ac448\n"
    },
    {
      "commit": "79099d3dd54af63cbc04bcd19ea1064d8d9ce412",
      "tree": "c44aba6078fb98918f09136181239ac87903fbe6",
      "parents": [
        "5b69932d852e48b5c4bfe4602b79e5f9fda7c7da"
      ],
      "author": {
        "name": "Raluca Sauciuc",
        "email": "ralucas@google.com",
        "time": "Mon Jul 06 15:35:40 2020 -0700"
      },
      "committer": {
        "name": "Dana Dahlstrom",
        "email": "dahlstrom@google.com",
        "time": "Wed Jul 08 14:14:14 2020 -0700"
      },
      "message": "[JDK11] Add explicit dependencies on JAXB\n\nBug: 135535322\nTest: existing\nChange-Id: I818f2f29d76a27cf7cb3ace3f57806f06b39dc4f\n"
    },
    {
      "commit": "5b69932d852e48b5c4bfe4602b79e5f9fda7c7da",
      "tree": "888c5c8ef54ab3877766b79a62ba9a4736105816",
      "parents": [
        "37cc878ae466453113530af7436c4283b7c706e2"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Wed Jun 24 15:38:32 2020 -0700"
      },
      "committer": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Fri Jun 26 16:09:06 2020 -0700"
      },
      "message": "Fix use of !\u003d instead of .equals() with currentTab.\n\nBug: 159160314\n\nTabHost\u0027s currentTab using tag was using !\u003d to compare strings\nwhen it should be using .equals().\n\nAlso fixed TwoWayBindingAdapterTest\u0027s waitWhile(), which\nhad logic reversed. It happened to work because comparisons\nwere always done after data binding had completed the work.\n\nTest: new test\nChange-Id: I2522cf1a58036da9ce5a40072dff57e670912fe4\n"
    },
    {
      "commit": "37cc878ae466453113530af7436c4283b7c706e2",
      "tree": "c5bd2114c024ffb00543ee942d0ac62f1312a4d1",
      "parents": [
        "5387fb682ea5ae0ad1595dcbd2207949f5273fbe"
      ],
      "author": {
        "name": "Esteban de la Canal",
        "email": "estebandlc@google.com",
        "time": "Tue Jun 16 16:34:41 2020 -0700"
      },
      "committer": {
        "name": "estebandlc",
        "email": "estebandlc@google.com",
        "time": "Thu Jun 18 10:43:31 2020 -0700"
      },
      "message": "Moves antlr dependency before the project SDK\n\nIJ ships antlr as a library but has a different version\nthan the one used by databinding. In order to keep the\nreal classpath consistent to what IJ ships, the dependency with the\nlocal library needs to be first.\n\nTest: existing\nBug: 156497102\nChange-Id: Ic76be233c94633b6878ea48cb735686369a60373\n"
    },
    {
      "commit": "5387fb682ea5ae0ad1595dcbd2207949f5273fbe",
      "tree": "03e31660008ac61abd2a2140a9c13fb40035d6bb",
      "parents": [
        "427d3732edfd4e6d9cab7daaec9f1fda9364b2d0"
      ],
      "author": {
        "name": "Bingran",
        "email": "bingran@google.com",
        "time": "Fri May 29 08:25:14 2020 +0100"
      },
      "committer": {
        "name": "Bingran",
        "email": "bingran@google.com",
        "time": "Wed Jun 03 15:53:56 2020 +0100"
      },
      "message": "Fix thread safety issue when getting api-versions.xml resource\n\nI245f05cf2ebb5e6430e5396e5cfe5b590e92f57b got reverted because\nof a thread safety issue caused by the usage of\ngetResourceAsStream(). This CL fixes that issue by using\ngetResource(resource).openStream() instead.\n\nBug: 137929327\nBug: 156605931\nTest: existing + postsubmit should pass consistently\nChange-Id: I750adc3f8c05e337346bbfa97ae2461e5a703e9d\n"
    },
    {
      "commit": "427d3732edfd4e6d9cab7daaec9f1fda9364b2d0",
      "tree": "95e5ab35969db53585d333533514b20f31b4c552",
      "parents": [
        "02eb58b2fb6e9f56111dc951559c3bc4872f9716"
      ],
      "author": {
        "name": "Zach Yu",
        "email": "zachyu@google.com",
        "time": "Wed May 13 16:54:11 2020 -0700"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 14 17:31:54 2020 +0000"
      },
      "message": "Set max_workers to 1 in data-binding targets.\n\nPer b/155772061, running gradle tasks with the default number of workers on Mac is possiblity deadlocking gradle and hang the build. So we try to set the max_workers to 1 and hopefully solve this problem. Build performance impact should be minimal (a local run of the targets did not show any slow down).\n\nTest: presubmit tests\nBug: 155772061\nChange-Id: Ibee0b46c6b08a769c5d6ffbfa096b6e8ef90e7bf\n"
    },
    {
      "commit": "02eb58b2fb6e9f56111dc951559c3bc4872f9716",
      "tree": "37369bc959dfbf8ef31f610fce06631692e5bf3c",
      "parents": [
        "ccaabd2365a03cdf6f71bab80c258d5d8ce9ce3a"
      ],
      "author": {
        "name": "Zach Yu",
        "email": "zachyu@google.com",
        "time": "Thu May 14 01:25:11 2020 +0000"
      },
      "committer": {
        "name": "Zach Yu",
        "email": "zachyu@google.com",
        "time": "Thu May 14 01:25:11 2020 +0000"
      },
      "message": "Revert \"Don\u0027t build certain tasks on mac.\"\n\nThis reverts commit ccaabd2365a03cdf6f71bab80c258d5d8ce9ce3a.\n\nReason for revert: This doesn\u0027t work as it\u0027s a dependency of many other targets.\n\nChange-Id: I302264c5da9e679cf69f4af4a066b6425c2f4a9c\n"
    },
    {
      "commit": "ccaabd2365a03cdf6f71bab80c258d5d8ce9ce3a",
      "tree": "7577e77d6bda8a7c0bf41f33de9657f9e23b31ab",
      "parents": [
        "3a405293abae3c441d6cacd7610dffaf4ab9e55b"
      ],
      "author": {
        "name": "Zach Yu",
        "email": "zachyu@google.com",
        "time": "Thu May 07 16:27:31 2020 -0700"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 08 23:44:37 2020 +0000"
      },
      "message": "Don\u0027t build certain tasks on mac.\n\nThese (actually the runtimeLibrariesSupport) targets seems to be causing the mac builders to hang indefinitely. Therefore disabling them on mac to verify.\n\nTest: Presubmits\nBug: 155772061\nChange-Id: Ic2ec8098ec03ad63865b3da14b132166e60eb5a7\n"
    },
    {
      "commit": "3a405293abae3c441d6cacd7610dffaf4ab9e55b",
      "tree": "37369bc959dfbf8ef31f610fce06631692e5bf3c",
      "parents": [
        "754466f80a4aebc15e73abce4eb8b8358b516501"
      ],
      "author": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Fri May 01 20:03:42 2020 +0100"
      },
      "committer": {
        "name": "Ivan Gavrilovic",
        "email": "gavra@google.com",
        "time": "Fri May 01 20:07:12 2020 +0100"
      },
      "message": "Clear static state in Scope when reporting errors\n\nAs soon as assertNoError() is invoked, deffered\nexceptions can be removed. This makes sure the next\ntime data binding runs it will not report the same\nissues.\n\nPrevious mechanism relied on AGP to clear the exceptions\nbut that does not seems necessary as the exceptions\nbecome obsolete once reported and LoggedErrorException\nis thrown.\n\nBug: 154742527, 151860061\nTest: existing\nChange-Id: Ic70805e390f5034d7c61659ead7002f36b185669\n"
    },
    {
      "commit": "754466f80a4aebc15e73abce4eb8b8358b516501",
      "tree": "291786058889c6ab7a8cb65d4cf82ec0eda86f53",
      "parents": [
        "63d0ca4df6407dbbce9abc922a94e007acd4a6ed"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Mon Apr 27 12:59:19 2020 -0700"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 30 19:10:41 2020 +0000"
      },
      "message": "Support included view binding in data binding\n\nThis CL fixes a couple of issues where data binding would generate\nwrong code by thinking an included layout also has data binding\neven when it only has view binding.\n\nTo make the change least destructive, I\u0027ve changed generated binding\nImpl to find view binding views via regular ids (as if they are views).\nAfter finding them, they are bound using GeneratedBindingClass.bind\nbefore passing it to the super class.\n\nBug: 150397979\nTest: ViewBindingWithDataBindingTestApp\nChange-Id: I445ce555a2629571447577f58d3d6ce075600fad\n"
    },
    {
      "commit": "63d0ca4df6407dbbce9abc922a94e007acd4a6ed",
      "tree": "8ad0cc8502f3fb4fa767bcb3303b87dfa127a4c9",
      "parents": [
        "b9931b053ca836ee68b365a548fc11a2000674ec"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Fri Apr 24 09:20:43 2020 -0700"
      },
      "committer": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Thu Apr 30 16:09:43 2020 +0000"
      },
      "message": "Fix proguard rules for AndroidX\n\nWhen we\u0027ve created androidx version of data binding, I forgot to\nupdate the proguard rules which breaks dynamic apps.\n\nBug: 137821399\nTest: n/a\nChange-Id: I608a094a5e08c1fdf3195aabc23b701f826dabc3\n"
    },
    {
      "commit": "b9931b053ca836ee68b365a548fc11a2000674ec",
      "tree": "33a74d41a6d707180ed04c470cd0e3dd16082446",
      "parents": [
        "1001418c00cabaa48bc849041fb60faf58c96262"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Thu Apr 30 10:30:39 2020 +0100"
      },
      "committer": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Thu Apr 30 10:43:12 2020 +0100"
      },
      "message": "Set --max-workers\u003d4 to mitigate data binding test hangs\n\nFrom what I\u0027ve observed locally, reducing the number of Gradle workers\nreduces the chance that the Gradle build process hangs.\n\nNote that we don\u0027t set --max-workesr\u003d1 as we don\u0027t want to hide this\nissue completely, just reducing its frequency.\n\nMore investigation is needed to identify the root cause.\n\nBug: 148496072\nTest: Existing tests\nChange-Id: Ia7119223bfd77c433dea4280c9f032d074b93cba\n"
    },
    {
      "commit": "1001418c00cabaa48bc849041fb60faf58c96262",
      "tree": "dfa1c0d677610803b92806193e7f3935303b2ca5",
      "parents": [
        "17ce9e7df870bd7df43964be0acd0b2f7c4b01b5"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Fri Mar 20 11:21:31 2020 -0700"
      },
      "committer": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Mon Apr 27 16:16:11 2020 +0100"
      },
      "message": "Tweak DataBindingBuilder.getJarExcludeList\n\nIt now receives the packageName rather than a LayoutXmlProcessor.\nIt also receives the className to ensure it\u0027s synchronized\nwith the name of the trigger class created in AGP.\n\nBug: N/A\nTest: existing tests\nChange-Id: Ie2f22afdc6df3184e219c9543f2c7951c81fbbe5\n"
    },
    {
      "commit": "17ce9e7df870bd7df43964be0acd0b2f7c4b01b5",
      "tree": "cdb898e57428c2d325798b6922b2b61376b4f2e6",
      "parents": [
        "86e54b07373040f16b365a631a5b7ea3cf4db65c"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Apr 24 15:23:51 2020 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Apr 24 15:43:45 2020 -0400"
      },
      "message": "Reduce bytecode impact of mixed requirement views\n\nWhen mixing optional and required views we used to skip storing into the \u0027id\u0027 local for optional views.\n\n    id \u003d R.id.one;\n    View one \u003d root.findViewById(id);\n    if (one \u003d\u003d null) break missingId;\n\n    View two \u003d root.findViewById(R.id.two);\n\nThis uses separate registers for R.id.one and R.id.two requiring one more register in total for the method.\n\n    .registers 4\n\n    const v0, 0x102001a\n\n    .line 19\n    invoke-virtual {p0, v0}, Landroid/view/View;-\u003efindViewById(I)Landroid/view/View;\n\n    move-result-object v1\n\n    if-nez v1, :cond_a\n\n    goto :goto_1f\n\n    :cond_a\n    const v2, 0x102003c\n\n    .line 22\n    invoke-virtual {p0, v2}, Landroid/view/View;-\u003efindViewById(I)Landroid/view/View;\n\nWhen the \u0027id\u0027 local is present, unconditionally storing the next ID into that local allows the register to be reused.\n\n    id \u003d R.id.one;\n    View one \u003d root.findViewById(id);\n    if (one \u003d\u003d null) break missingId;\n\n    id \u003d R.id.two;\n    View two \u003d root.findViewById(id);\n\nProduces:\n\n    .registers 3\n\n    const v0, 0x102001a\n\n    .line 19\n    invoke-virtual {p0, v0}, Landroid/view/View;-\u003efindViewById(I)Landroid/view/View;\n\n    move-result-object v1\n\n    if-nez v1, :cond_a\n\n    goto :goto_1f\n\n    :cond_a\n    const v0, 0x102003c\n\n    .line 22\n    invoke-virtual {p0, v0}, Landroid/view/View;-\u003efindViewById(I)Landroid/view/View;\n\nBug: 128314294\nTest: ../base/bazel/bazel test //tools/base/build-system/integration-test/databinding:tests //tools/data-binding/...\nChange-Id: I6408d214ba549c443d3743151636eef391083d26\n"
    },
    {
      "commit": "86e54b07373040f16b365a631a5b7ea3cf4db65c",
      "tree": "1b772dfc3a34bac9e21c81fbab7293adf4273501",
      "parents": [
        "24872dac0bdd21ec62c2e3a9a33c431e8bce2ecc"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Apr 24 10:36:51 2020 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Apr 24 10:36:54 2020 -0400"
      },
      "message": "Handle periods in IDs\n\nYeah, that\u0027s a thing!\n\nBug: 154738763\nTest: ../base/bazel/bazel test --test_output\u003dall //tools/base/build-system/integration-test/databinding:tests //tools/data-binding/...\nChange-Id: Ied8e0506ba60db47556bfcfb475b235102125a06\n"
    },
    {
      "commit": "24872dac0bdd21ec62c2e3a9a33c431e8bce2ecc",
      "tree": "c4300610dc5be5a14cd2cb9568b26d1f30c202c7",
      "parents": [
        "17f7e76cbe7a02da776e567f57aef7dc7f03fdff"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Apr 20 16:04:39 2020 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Apr 24 14:01:00 2020 +0000"
      },
      "message": "Error if a \u003clayout\u003e is used with only view binding\n\nBug: 154300815\nTest: ../base/bazel/bazel test //tools/data-binding/... //tools/base/build-system/gradle-core/...\nChange-Id: Ie90c5fb878b2173fedcda7031c0b7e084ba9e3db\n"
    },
    {
      "commit": "17f7e76cbe7a02da776e567f57aef7dc7f03fdff",
      "tree": "8f2e1353b32762e1a78f127bf9b9e655c6d6c816",
      "parents": [
        "9d9b437bf5f6ea210c4b75b0bba08b61df6015f9"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Wed Apr 15 16:44:27 2020 +0100"
      },
      "committer": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Fri Apr 24 12:58:37 2020 +0000"
      },
      "message": "Remove stale data binding outputs (tools/data-binding)\n\nFor each layout file containing data binding constructs, data binding\ngenerates a corresponding layout info file and binding class files.\n\nIn an incremental build, there are 2 cases when layout info files/\nbinding class files get stale and need to be removed:\n  1. Layout files previously containing data binding constructs were\n     removed\n  2. Layout files previously containing data binding constructs are now\n     no longer containing them\n\nPreviously, only case #1 was handled and case #2 was missing. This CL\nhandles case #2.\n\nBug: 153711619\nTest: New test in DataBindingIncrementalTest\nChange-Id: I718b614222e5447503417b51d53486686c391273\n"
    },
    {
      "commit": "9d9b437bf5f6ea210c4b75b0bba08b61df6015f9",
      "tree": "8261d98e267bf05ff586a2f915e0dfaade7ad77d",
      "parents": [
        "9162ebbad769ab02cd6a02ea0152961bbf35636e"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Thu Apr 23 16:02:32 2020 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Apr 24 02:28:41 2020 +0000"
      },
      "message": "Ignore merge tags with IDs\n\nBug: 154747638\nTest: ../base/bazel/bazel test //tools/data-binding/...\nChange-Id: Ib9dee8548b96c8917358897f9c78107b4a4cc202\n"
    },
    {
      "commit": "9162ebbad769ab02cd6a02ea0152961bbf35636e",
      "tree": "4994c8c2b306355725b84e0d87bb705f1bf173a3",
      "parents": [
        "2089889fbbd824f13b488ee9a645b86e13ee59cf"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Wed Apr 22 11:05:58 2020 +0100"
      },
      "committer": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Thu Apr 23 11:33:43 2020 +0100"
      },
      "message": "Debug data binding compilationTests hangs\n\nData binding compilation tests launch Gradle builds in a separate\nprocess and sometimes hang when waiting for the process to complete.\nThis happens on build server, but I\u0027ve also seen it locally.\n\nTo debug this, this CL will set a timeout for the wait, and if the\ntimeout happens, print out the output and error logs from the process\nso far.\n\nAlso make sure we kill the unfinished processs.\n\nBug: 148496072\nBug: 148598093 (maybe also 146217083)\nTest: Existing tests\nChange-Id: I859361bbd55f32ff49d8235c015511e763a90f53\n"
    },
    {
      "commit": "2089889fbbd824f13b488ee9a645b86e13ee59cf",
      "tree": "4fbdae0a0c02eb56ce233554951793715c4c3c03",
      "parents": [
        "5951d2675e9118474e9fc9d6c713243132ff9d9e"
      ],
      "author": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Mon Mar 30 11:35:10 2020 -0400"
      },
      "committer": {
        "name": "Jake Wharton",
        "email": "jakew@google.com",
        "time": "Fri Apr 03 01:49:20 2020 +0000"
      },
      "message": "Change binding local naming to avoid type collision\n\nPreciously the suffixing could cause the local to be named the same as a type which would cause javac to fail.\n\nBug: 152413696\nTest: ../base/bazel/bazel test --test_output\u003dall //tools/base/build-system/integration-test/databinding:tests //tools/data-binding/...\nChange-Id: I7adfcbbb618bab271cc901fedef15f23645fdcc0\n"
    },
    {
      "commit": "5951d2675e9118474e9fc9d6c713243132ff9d9e",
      "tree": "4a43bce283a0eff818b6924c1fe63000fcfa166e",
      "parents": [
        "d5cd018892af441deb1107cbbc2cc7e83a66e42d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Wed Mar 04 16:11:33 2020 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Wed Apr 01 15:39:21 2020 +0000"
      },
      "message": "Remove unused Bintray setup.\n\nBug: N/A\nTest: N/A\nChange-Id: Ia60c1fb6c79ff11189d05d548351098d25a38865\n"
    },
    {
      "commit": "d5cd018892af441deb1107cbbc2cc7e83a66e42d",
      "tree": "6425d9d5527bfe553a7300ba6048d5a368aa6be7",
      "parents": [
        "0aaa1ec351b40716c00909fe2662e6f31942342e"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Tue Mar 24 14:13:15 2020 +0000"
      },
      "committer": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Tue Mar 24 14:24:19 2020 +0000"
      },
      "message": "Fix persistent data binding errors (tools/data-binding)\n\nSome data binding errors are stored in a static variable. To ensure they\ndon\u0027t persist across builds, we need to reset the variable\u0027s state at\nthe end of a build.\n\nBug: 151860061\nTest: New test in DataBindingIncrementalTest\nChange-Id: Ia5576103c6ff23575b7960d39707f9a150933f7b\n"
    },
    {
      "commit": "0aaa1ec351b40716c00909fe2662e6f31942342e",
      "tree": "9c84dcda523c6e73e8c8884d1bba6106e9e9fee8",
      "parents": [
        "31e4a686c324a9c195475ee9e77df29e12cd0da4"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Thu Mar 19 03:25:40 2020 +0000"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Thu Mar 19 03:25:40 2020 +0000"
      },
      "message": "Revert^2 \"Make some methods static\"\n\n31e4a686c324a9c195475ee9e77df29e12cd0da4\n\nChange-Id: Ied9b7d27aa405b593a7485169b98dc934a09b86b\n"
    },
    {
      "commit": "31e4a686c324a9c195475ee9e77df29e12cd0da4",
      "tree": "9eb4f0832c74074351db78a20259b71284bf7f4f",
      "parents": [
        "a52010f063f811af71541436a5d753129c5e3cdb"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Wed Mar 18 22:55:26 2020 +0000"
      },
      "committer": {
        "name": "Hung Nguyen",
        "email": "hungnv@google.com",
        "time": "Wed Mar 18 22:55:26 2020 +0000"
      },
      "message": "Revert \"Make some methods static\"\n\nRevert \"Introduce layoutXmlProcessorDelegate\"\n\nRevert submission 10702614-data-binding-cleanup\n\nReason for revert: The CL that this depends on was reverted (http://ag/10738827)\nReverted Changes:\nI7c6eede6d:Introduce layoutXmlProcessorDelegate\nId395997bc:Make some methods static\n\nChange-Id: Ifd450b876601b02f537e6124d96f5743131b7cec\n"
    }
  ],
  "next": "a52010f063f811af71541436a5d753129c5e3cdb"
}
