)]}'
{
  "log": [
    {
      "commit": "fdbe7d1ca90ac40f9b629524d9aea26e59899c50",
      "tree": "136ed4bf0b85a3bf73654be606a1c1385e8072a3",
      "parents": [
        "4c8fa81d177bfd2f144ebe153df74edb8b332f5a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 09 11:24:14 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 09 11:29:15 2018 -0800"
      },
      "message": "Don\u0027t put android.os.Parcelable in framework.aidl\n\nParcelable shouldn\u0027t be in the list of parcelables in framework.aidl.\nRemove it to fix warning when running aidl:\nframework.aidl:287 attempt to redefine built in class android.os.Parcelable\n\nAlso make the dependency on sdk_parcelables not be order-only so\nframework.aidl gets rebuilt when sdk_parcelables changes.\n\nBug: 73135791\nTest: ParcelableDetectorTest\nTest: out/target/common/obj/framework.aidl does not contain android.os.Parcelable\nChange-Id: If5222879be9ec1e5fa08810adc624ec526ddc0ec\n"
    },
    {
      "commit": "1b27440abc8d515012da44914d3ced17c104a68e",
      "tree": "712c73f292f5c943ba0df8809ec43fdcdf309185",
      "parents": [
        "1f14eab551c8c0d32b5b922618c41ac3e72d85e3"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 06 11:10:25 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 06 11:10:25 2018 -0800"
      },
      "message": "Add missing copyright messages\n\nBug: 72993971\nTest: m sdkparcelables\nChange-Id: I9fa422160c29ce3054748b2b8d1e26541a697a90\n"
    },
    {
      "commit": "9f17dfcba6f286bca0fb47c32105c07328a4cc5c",
      "tree": "09240955569f717529a572ce2fec9d254c00e321",
      "parents": [
        "b3c2efc6156cb86ae1f8958ee89a8ac404b190df"
      ],
      "author": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Mon Jan 22 17:38:41 2018 +0100"
      },
      "committer": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Mon Jan 22 17:42:21 2018 +0100"
      },
      "message": "Fail when there is an ASM error\n\nOtherwise during a build, Locked Region Code Injection may encounter an\nASM Analyzer exception, and the build will not fail, even though\ninjection won\u0027t have succeeded.\n\nTest: make\nChange-Id: Iee69f1a78fde735db62c7f73405b8cec4e410793\n"
    },
    {
      "commit": "27f61a94d67cf16d1ec0a12adfc97c77e176ca0f",
      "tree": "9bf4f712f722287233f9e28041d9e22b07bc2692",
      "parents": [
        "6efee9c079eecf025384228763982eecd935c2f8",
        "6dbd3d7a59748c301cad50685e3940fbcdf37f61"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 05 23:27:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 05 23:27:33 2018 +0000"
      },
      "message": "Merge \"Add virtual dtor for virtual classes\""
    },
    {
      "commit": "6dbd3d7a59748c301cad50685e3940fbcdf37f61",
      "tree": "34e9ef32dfadd8b649605eb2ffe294ae6fce41ad",
      "parents": [
        "1c876b73b3ce305ce9d07f623837f0ee1af2df06"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Dec 27 14:10:54 2017 -0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Jan 03 11:41:12 2018 -0800"
      },
      "message": "Add virtual dtor for virtual classes\n\ndelete called on non-final virtual classes but non-virtual destructor.\n\nFixes -Wdelete-non-virtual-dtor warning.\n\nTest: m checkbuild\nChange-Id: I142a2f70286a28722e462df4c160cb7aa3753c2a\n"
    },
    {
      "commit": "149008d892ce76e83f6d95db09cdbb787293337b",
      "tree": "e15d2f7ae4f167f8ec2b24c5c2d8b000362aa23b",
      "parents": [
        "4e54d6092bbcb2ac7ff895a7955acdd1e26e838c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 15 11:07:53 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 16 20:43:50 2017 -0800"
      },
      "message": "Initial sdkparcelables\n\nAdds a tool that can convert an SDK stubs jar into a framework.aidl\nfile by parsing the jar with ASM to find classes that implement\nandroid.os.Parcelable directly or indirectly.\n\nBug: 70046217\nTest: java -cp out/host/linux-x86/framework/sdk_parcelables_test.jar org.junit.runner.JUnitCore com.android.sdk_parcelables.ParcelableDetectorTest\nChange-Id: Idc804896b8860352633a85168748af1b08777205\n"
    },
    {
      "commit": "eb652a47a180092b397ec40c718dfc13935f7fb6",
      "tree": "9af0e5fbe2002dca0a1ec816b51b56bdcb81418a",
      "parents": [
        "f2ed7683daee70d4330306ded96d657ffc826b3e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 05 09:46:29 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 12 23:22:25 2017 +0000"
      },
      "message": "Convert services to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: I417409281c928ea667d937090d2a0d9d72a449a2\nMerged-In: I417409281c928ea667d937090d2a0d9d72a449a2\nExempt-From-Owner-Approval: trivial conversion\n(cherry-picked from commit e0b2ee52d2f274a2d46b2e6695e42d2764c39fa7)\n"
    },
    {
      "commit": "31bcd7acea8aa81d1364f04bb259c9f37418a63a",
      "tree": "8aab869221efd58c3f5787d9112089709f229ca0",
      "parents": [
        "4f9f278341edff643540d0da5c6dd53ae92ee23c",
        "7fce15dc5e190859ceef8e6a46f3cd4133eb9c7d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Nov 30 23:18:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 30 23:18:38 2017 +0000"
      },
      "message": "Merge \"Fix warning from clang+mingw\"\nam: 7fce15dc5e\n\nChange-Id: I1b318913c3ead77369bdb62c10e5e08803cb10b8\n"
    },
    {
      "commit": "fb4ed78bde052502861c913e1853f888ea297d2a",
      "tree": "f544fdfea82abf64851266041247a5d53550ad6f",
      "parents": [
        "06e314f6cc0d629f59579f8bd549915580f79b4b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Nov 29 18:17:08 2017 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Nov 29 18:17:08 2017 -0800"
      },
      "message": "Fix warning from clang+mingw\n\nI suspect this is showing up in this configuration because we\u0027re now building\nwith -std\u003dgnu++14, but still using libstdc++.\n\nframeworks/base/tools/aapt2/link/ProductFilter_test.cpp:76:24: error: chosen constructor is explicit in copy-initialization\n  ProductFilter filter({});\n                       ^~\nprebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/include/c++/4.8.3/bits/unordered_set.h:132:7: note: explicit constructor declared here\n      unordered_set(size_type __n \u003d 10,\n      ^\nframeworks/base/tools/aapt2/link/Linkers.h:114:58: note: passing argument to parameter \u0027products\u0027 here\n  explicit ProductFilter(std::unordered_set\u003cstd::string\u003e products) : products_(products) {\n                                                         ^\n\nBug: 69933068\nTest: mmma frameworks/base/tools/aapt2\nTest: out/host/linux-x86/nativetest[64]/aapt2_tests/aapt2_tests\nChange-Id: I2133e364dd11f64fd13239125f8a3eff70ebb69c\n"
    },
    {
      "commit": "7ade558ad210c2374c0c9b1c773e012255156c7b",
      "tree": "f20814d46daaf5a8172ed17b146aca428c1bc1d6",
      "parents": [
        "80bfc216ca9969cab2dbd839f849d83d23be18df",
        "7ecac139eabd690d4bfb5b62e85f8966969c4969"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Nov 17 22:12:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 17 22:12:58 2017 +0000"
      },
      "message": "Merge \"Build fontchain_lint using python_binary_host\"\nam: 7ecac139ea\n\nChange-Id: I4fef971c8fc8837f73644667988ddc3e7f4305ec\n"
    },
    {
      "commit": "2db709de30688a5761b45116639bada335aae3b7",
      "tree": "4f9bdfe3880a94ec8ee0af39dd67e67b38d2d002",
      "parents": [
        "413a30812669dd34f73b748a9574308fc6a16d45"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Nov 08 20:48:46 2017 -0800"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Nov 17 09:22:12 2017 -0800"
      },
      "message": "Build fontchain_lint using python_binary_host\n\nTest: out/host/linux-x86/bin/fontchain_lint\nout/target/product/generic/system true external/unicode\nBug: b/27727331\n\nChange-Id: Ib9353d2338c3b939027069f49e3e847c65526581\n"
    },
    {
      "commit": "220871a697290529278ed16db508eda8e12f3fc7",
      "tree": "bc13101b63c6fe39a9d92706ecb7ded7f98f5a9c",
      "parents": [
        "802f191b2b84a1b1b82c7f6f3268846084b35dfb",
        "98e12851336b7db16e583f9afac63ecc97465980"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 12:31:11 2017 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 12:31:11 2017 -0800"
      },
      "message": "Merge commit \u002798e12851336b7db16e583f9afac63ecc97465980\u0027 from\noc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.\n\nChange-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7\nMerged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d\n"
    },
    {
      "commit": "a218b561e82a1df82987ecc672bb559bc056766f",
      "tree": "4df7fdd3bdc2506a4e30c7fc6016096d0f046e24",
      "parents": [
        "01478ec1839e89e72c7367f678171a9afa53d5db"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 20 13:00:58 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 24 16:09:01 2017 -0700"
      },
      "message": "Convert lockregioncodeinjection to Android.bp\n\nSee build/soong/README.md for more information\n\nTest: m checkbuild\nChange-Id: I78e91a70e786df8e6722c6ec3fe762371e8f475a\n"
    },
    {
      "commit": "4927808d39d3dd78a36cde8a9134546ba8316728",
      "tree": "350e481d868202567d16f30702fc7e8691548b5b",
      "parents": [
        "e74db7c7e26d93827acf7841f530babffdd5d7de",
        "5aa4dafa5847f6e7866ad81f73a69217fa1449b2"
      ],
      "author": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Tue Oct 24 08:54:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 24 08:54:09 2017 +0000"
      },
      "message": "Merge \"Use ASM6 Opcodes everywhere in locked_region_code_injection\"\nam: 5aa4dafa58\n\nChange-Id: Ic8f892399cdfa746a2fab4a841469f41f0fe98f5\n"
    },
    {
      "commit": "a7eb610b15c7a2eea8b5bb2015d749ede33a1857",
      "tree": "51fb816199988d4579255116a9ac47aa9092da22",
      "parents": [
        "d5d697b023a02a81de8add89556596d4b3587034"
      ],
      "author": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Mon Oct 23 11:21:01 2017 +0200"
      },
      "committer": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Mon Oct 23 11:39:03 2017 +0200"
      },
      "message": "Use ASM6 Opcodes everywhere in locked_region_code_injection\n\nAnd use the same constant everywhere.\n\nTest: treehugger\nBug: 67676752\nChange-Id: I5735aba76266118471677f962fab50dbb0be187b\n"
    },
    {
      "commit": "a74b04cd70218040b831cff6d8ed3410d0a8676b",
      "tree": "e32dac7d4a077ded85b6fa9defdf4cff467f755f",
      "parents": [
        "d870cd33f5af81e299b574ebda7c4b4dab59bc78",
        "d5d697b023a02a81de8add89556596d4b3587034"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Oct 22 01:46:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 22 01:46:39 2017 +0000"
      },
      "message": "Merge \"Use final release of ASM 6.0\"\nam: d5d697b023\n\nChange-Id: I94524349eaa38c020d932f301fe36f99952862bc\n"
    },
    {
      "commit": "d5d697b023a02a81de8add89556596d4b3587034",
      "tree": "d24b80621ce74c990907733777f62965cfd146c3",
      "parents": [
        "5964b55654ecc7b6e597b05fb9f309ba8e92b144",
        "8aa184a395ba4d7084060c028567e49ae3b349e4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Oct 22 01:37:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Oct 22 01:37:11 2017 +0000"
      },
      "message": "Merge \"Use final release of ASM 6.0\""
    },
    {
      "commit": "8aa184a395ba4d7084060c028567e49ae3b349e4",
      "tree": "48fff7ed8131e9f9b1512564b62cd22b7395d53b",
      "parents": [
        "e994b4b584a23be4574b725f6b5e654535f8e1d0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 20 12:57:56 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 20 12:57:56 2017 -0700"
      },
      "message": "Use final release of ASM 6.0\n\nTest: m checkbuild\nChange-Id: I8b39c7887763a1a5efce2622421906f9b2e1994a\n"
    },
    {
      "commit": "a2adda41dac8342a1eb319eee2340ad2c30088b7",
      "tree": "79a521875a0553739493375b6d673fd4a6cd760c",
      "parents": [
        "eaf4d18bdf230b4a446d876178841aebdfd1a84e"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Oct 19 22:48:53 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Oct 19 22:50:51 2017 -0700"
      },
      "message": "Add link_type for temp_layoutlib\n\nSo that it can be used by java libraries when we turn on dep\nverification for host java libraries.\n\nTest: m nothing\nChange-Id: Iaa2acfb585db0a67b449e866883f71691395971e\nMerged-In: I69a1a826d0bac8ede1f9a337c9c1d930bbcd04f3\n"
    },
    {
      "commit": "bfc9e71e0d851204d9f0f380b7f2def51875b657",
      "tree": "bbf5e93eba810ecde5f2c0cdd2303de3baf03549",
      "parents": [
        "f60d30b6829b84223c680b7b6f9669975c708a27",
        "98fc198f1fe4236f8b9fd159636c4386ead0dc35"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 18 06:24:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 06:24:45 2017 +0000"
      },
      "message": "Merge \"Use soong_ui directly, instead of make\" am: e994b4b584 am: 0531e5c647\nam: 98fc198f1f\n\nChange-Id: Id17adee4b02cc499261f88c3faed15d889f5b6c3\n"
    },
    {
      "commit": "0531e5c6474265698841f07d40f2e84f5f13d547",
      "tree": "ebec742dff5c2f0e2d1037c390a1fb8fc4e12d00",
      "parents": [
        "a0df3496d33ed6ead766d99f68587379856bd8e9",
        "e994b4b584a23be4574b725f6b5e654535f8e1d0"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 18 06:10:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 06:10:06 2017 +0000"
      },
      "message": "Merge \"Use soong_ui directly, instead of make\"\nam: e994b4b584\n\nChange-Id: I406a02af2d5fd1accf5c53609af00f416669e18f\n"
    },
    {
      "commit": "f60d30b6829b84223c680b7b6f9669975c708a27",
      "tree": "6f814f8c62c11a128af5b1c28c53a0bf1d247ed9",
      "parents": [
        "a3edc551c0b7873f5843b3b1dda89b20ae74f950",
        "3bdfe1a2517c4e2b6e9c7b7fe6b91eff77e4bd00"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 18 00:57:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 00:57:26 2017 +0000"
      },
      "message": "Merge \"AAPT2: Flatten AndroidManifest.xml stringpool in UTF16\" into oc-mr1-dev\nam: 3bdfe1a251\n\nChange-Id: I3295e61dcf29a7cb242b4ee0017f2fd94a0cfd65\n"
    },
    {
      "commit": "a40118d7b6f70f44eaf4a47a32808088fd039f71",
      "tree": "7d72e2f4756a4182d4bf68643ced4800e3bcaeea",
      "parents": [
        "154535317eaa84a50d70cb3af8697ab4e2c89a25"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 17 17:46:41 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 17 17:53:36 2017 -0700"
      },
      "message": "Use soong_ui directly, instead of make\n\nThis will use ckati instead of make for dumping variables, for\nconsistent makefile parsing. It may also sandbox executions, etc.\n\nAlso skip the legacy make wrapper to build, and use soong_ui instead.\nThe command line arguments are equivalent, but -j is no longer\nnecessary, we\u0027ll default to a sane value.\n\nTest: bit -b framework\nChange-Id: Idc2c9d1abe84b6b783b8702925de5493d47a4509\n"
    },
    {
      "commit": "9c40250cdfcd289435a23a783de628a4cf2ca173",
      "tree": "ec155e4cfd16c20207b733c4b8c67387630e105d",
      "parents": [
        "85e7dbc93ee35d134a75a352093baf29127715ea"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 13 12:40:37 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 17 15:16:41 2017 -0700"
      },
      "message": "AAPT2: Flatten AndroidManifest.xml stringpool in UTF16\n\nA few OEM devices have introduced a memory corruption bug\nthat is only triggered when an application\u0027s AndroidManifest.xml\nuses UTF8 string pools. Workaround this by only encoding\nAndroidManifest.xml with UTF16 strings.\n\nBug: 64434571\nTest: manual\nChange-Id: I2ee50d1b2b5942d971ef2a544c878de63f67c652\n"
    },
    {
      "commit": "decc397b267ca0769a2232ebaee6580bb082e0d1",
      "tree": "4c53ec713713792d1f276cb0a04498ba44abbf9d",
      "parents": [
        "4f4d64659abc0db7c3f9dc5a9ae3f14e61c6776b",
        "9f004b17523494a0b123a0034742c47ff2880428"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 16 19:50:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 16 19:50:38 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/base\" am: 16fbd3a1d8 am: 0bfb717a37\nam: 9f004b1752\n\nChange-Id: I6517ee1689b0247caf830a6c3528bfa9bcf91f75\n"
    },
    {
      "commit": "0bfb717a379c5f5b500fd6ef32647b214f970049",
      "tree": "d27f59b1a46b23d73e8f80c2b2e62b484131288e",
      "parents": [
        "7edf405cddbea3d2684dba9d7872e248fb14ddfa",
        "16fbd3a1d821a375abbc23749b891489aecd53d7"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 16 19:24:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 16 19:24:53 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/base\"\nam: 16fbd3a1d8\n\nChange-Id: Iab69cf4f99cf4bedd12eb7764c773a893bfe5343\n"
    },
    {
      "commit": "b5a80794bbcfd6e9f84dc69113c583ee8bdfeb45",
      "tree": "68dd40fa08b53dd00b0cd5047d7cd3d701a7de24",
      "parents": [
        "8463b91dca8298ecb00eebdf777a774cac0c6ef6",
        "8e60defe4b20fbd1ed2a003d1322720dc969d73f"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Oct 15 03:18:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 03:18:47 2017 +0000"
      },
      "message": "Merge \"Update locked_region_code_injection tool to ASM 6.0-BETA.\" am: 26817938f6 am: e69366ff27\nam: 8e60defe4b\n\nChange-Id: Ic425066feb4288c37154d8b0c487aeda93a6ac59\n"
    },
    {
      "commit": "e69366ff270682960db1794d9e270cd74a2df676",
      "tree": "875a762bba3b665537a10c827ef9ddd591642a3f",
      "parents": [
        "8279494137b65b773c5d00ce3ad7899ada6f1e4c",
        "26817938f6966928488e92de73359c3887006642"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Oct 15 02:38:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 02:38:05 2017 +0000"
      },
      "message": "Merge \"Update locked_region_code_injection tool to ASM 6.0-BETA.\"\nam: 26817938f6\n\nChange-Id: I193d04b7a4ebf0f39f60ac275a7eeb93499ded9d\n"
    },
    {
      "commit": "c7edf078f92c7ce083f8c243a79f8aecdfff4ac1",
      "tree": "d7816094d61913df8ee8c17e60763ccd050c4631",
      "parents": [
        "26817938f6966928488e92de73359c3887006642"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 03 09:57:55 2017 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 13 16:25:16 2017 -0700"
      },
      "message": "Use -Werror in frameworks/base\n\n* Fix unused variable and return value warnings.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: I890e65a20848d00559ba5a4f9691be1347b456af\n"
    },
    {
      "commit": "26817938f6966928488e92de73359c3887006642",
      "tree": "a4d3601a348cecf13f5b136c438551b4dfcafecb",
      "parents": [
        "4bc825aeccac6d7231071aa227aa2ac734982de4",
        "95aa2ea9d8b1c346e5ea98308d83ff1aa82e3add"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Fri Oct 13 17:40:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 13 17:40:50 2017 +0000"
      },
      "message": "Merge \"Update locked_region_code_injection tool to ASM 6.0-BETA.\""
    },
    {
      "commit": "95aa2ea9d8b1c346e5ea98308d83ff1aa82e3add",
      "tree": "6320527e6880c250ee21061436f510db7d410db9",
      "parents": [
        "36d606c86de0c6b63c012f7a54e2fb0841b3f830"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Oct 11 16:46:05 2017 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Oct 12 21:14:31 2017 +0100"
      },
      "message": "Update locked_region_code_injection tool to ASM 6.0-BETA.\n\nASM 6 is required to read version 53 (OpenJDK 9) class files.\n\nTest: make EXPERIMENTAL_USE_OPENJDK9\u003dtrue services.core\n      (in the presence of other unsubmitted CLs that fix\n      other issues)\nTest: Copied all required dependencies into a subdirectory lib/,\n      then ran the steps from TestMain.java, both for OpenJDK 8\n      and OpenJDK 9 toolchains.\nBug: 67676752\n\nChange-Id: If324d8ea28450d9a8426a2279190b2f4d9213ed5\n"
    },
    {
      "commit": "e640a8284d6612a2d26d98f3bcc2b20011e81763",
      "tree": "c9498978221e9524b13870cab024c5b29764947f",
      "parents": [
        "7bebf1546009b896bac7145fbecadefc9cce5d3d",
        "a47e513464a473b135236df41a88acbf1ce460e4"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Oct 04 06:38:31 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 04 06:38:31 2017 +0000"
      },
      "message": "Merge \"Revert work around clang-tidy segmentation fault.\"\nam: a47e513464\n\nChange-Id: Ie04d0d16a05c35a865776571f95078e63bc1bf47\n"
    },
    {
      "commit": "ca8dbebe1e539c7b064222958afcebe7ee124d50",
      "tree": "cbafd4009b067f2a711673514cb824e24d445f13",
      "parents": [
        "ca8b270063159cc3c1170e9ed9423433aaf45680"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 03 20:14:21 2017 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 03 20:23:10 2017 -0700"
      },
      "message": "Revert work around clang-tidy segmentation fault.\n\nBug: 34740546\nTest: build with WITH_TIDY\u003d1 and\nWITH_TIDY_CHECKS\u003d\"*,-readability-*,-google-readability-*,-google-runtime-references\"\n\nChange-Id: If99c75cab6a2bec0c6b38aa17189668b4943478d\n"
    },
    {
      "commit": "8e43e0d0ad41027318e97869174acaa5d6b577e3",
      "tree": "6129fac7b994c69626222104037188e8dd608cb5",
      "parents": [
        "8284349fc9e03fb11c85a7dbdc8096d79be46279",
        "b986ebce7583e1409f59d975981f9bdf6aa34151"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 03 22:02:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 03 22:02:20 2017 +0000"
      },
      "message": "Merge \"AAPT2: Fix R.java styleable + indices ordering\" into oc-mr1-dev\nam: b986ebce75\n\nChange-Id: I16382162fecf323074c13b376a23fccab1da092b\n"
    },
    {
      "commit": "8284349fc9e03fb11c85a7dbdc8096d79be46279",
      "tree": "2113f43be944ff7497a4990a4a9d944cbb4a3985",
      "parents": [
        "ce29a4c77a041c5073200fa36d534165dc674400",
        "9b581c7bc176c67a1281560148c17e6d76c068de"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 03 21:51:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 03 21:51:09 2017 +0000"
      },
      "message": "Merge \"AAPT2: Preserve line numbers when deserializing from binary XML\" into oc-mr1-dev\nam: 9b581c7bc1\n\nChange-Id: I55d8c73df0ce751472e58a9ae505c94edc90c68e\n"
    },
    {
      "commit": "b986ebce7583e1409f59d975981f9bdf6aa34151",
      "tree": "5995072fdc88372b1a5f9504f9b378f3f197b416",
      "parents": [
        "9b581c7bc176c67a1281560148c17e6d76c068de",
        "1ee1a106c5b8d41597a889224b1125b568b6a3a3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 03 21:24:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 03 21:24:48 2017 +0000"
      },
      "message": "Merge \"AAPT2: Fix R.java styleable + indices ordering\" into oc-mr1-dev"
    },
    {
      "commit": "61879522fe1ee10e4d09ffb530dff17d5b4fef65",
      "tree": "e87da0ce483f25242f80b3281105b407b5938055",
      "parents": [
        "c153d7a23be0e196e9f48d25b6169ad6b1196374",
        "23f6dca5fda7e53f3ab08a630ce7c62d06127ac1"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Oct 03 04:38:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 03 04:38:07 2017 +0000"
      },
      "message": "Merge \"Replace strcpy with memcpy.\" am: bb115bac41 am: 16951dcb54\nam: 23f6dca5fd\n\nChange-Id: I446973c3b96f253e3c3fc2dfda7647cd3e625916\n"
    },
    {
      "commit": "16951dcb54463244216147baaa0ebef6a01e6c5f",
      "tree": "00ac3b4fcdde40f1eea3683ef62a7b48579130ab",
      "parents": [
        "b8fb4e35ba46ca1efbdbdd6449f63a1dd7e24792",
        "bb115bac418107c0b2e90514ed525a4f9217695b"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Oct 03 04:20:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 03 04:20:17 2017 +0000"
      },
      "message": "Merge \"Replace strcpy with memcpy.\"\nam: bb115bac41\n\nChange-Id: I28c118a609d999fe1ef6bd126557e63076f452c6\n"
    },
    {
      "commit": "bb115bac418107c0b2e90514ed525a4f9217695b",
      "tree": "a0ef5f7bbaa8c225bb704cc530ef0a427e1fd868",
      "parents": [
        "1704df64ceaa282c8f91f886204261af1f4395a2",
        "d32ae10f4cdcff2351c9f34ce477089111093d32"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 03 04:09:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 03 04:09:48 2017 +0000"
      },
      "message": "Merge \"Replace strcpy with memcpy.\""
    },
    {
      "commit": "0da683bd8da55a0cfa46dfe8076b729b945d6650",
      "tree": "cbfd404fadce2b7e664ec8ddba5aad6b8881a900",
      "parents": [
        "96b9ddbcb26f39bc26010d44856998967e384930"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 02 16:37:20 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 02 17:00:07 2017 -0700"
      },
      "message": "AAPT2: Preserve line numbers when deserializing from binary XML\n\nBug: 65827146\nTest: make aapt2_tests\nChange-Id: Idbfea640eb8727fe209ebc6eb072296845d9f282\n"
    },
    {
      "commit": "1ee1a106c5b8d41597a889224b1125b568b6a3a3",
      "tree": "6f89cc752ae7013225143664d1b00f015f6fd6ef",
      "parents": [
        "56afee3c1f69978c4aed0c1fcc62856745d7f176"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 29 11:15:17 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Oct 02 15:42:24 2017 -0700"
      },
      "message": "AAPT2: Fix R.java styleable + indices ordering\n\nMake sure that Styleables are directly followed by their indices.\nIf not, Robolectric breaks. This is not strictly incorrect to have\nan arbitrary ordering in R.java, but its easier to just support\nRobolectric in this case.\n\nBug: 65837293\nMerged-In: Ia59ba58427ade386d075ca9fc9eb5b53e35beca0\nTest: make aapt2_tests\n\n(cherry picked from commit af85c4deb667843a227d62275fe6992005f4c38d)\n\nChange-Id: Ia59ba58427ade386d075ca9fc9eb5b53e35beca0\n"
    },
    {
      "commit": "d32ae10f4cdcff2351c9f34ce477089111093d32",
      "tree": "5e21a2fdab6f1d10e8e7dd8c5cc60248b8bce471",
      "parents": [
        "2cdd1ce6001e642f65456f6504cbb7d11cd1469d"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Sep 13 12:01:15 2017 -0700"
      },
      "committer": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Sep 26 16:02:11 2017 -0700"
      },
      "message": "Replace strcpy with memcpy.\n\nThis fixes the warning\nCall to function \u0027strcpy\u0027 is insecure as it does not provide bounding of\nthe memory buffer. As a side effect, it sliences the warning\nframeworks/base/tools/aapt/Images.cpp:1270:50: warning: Potential leak\nof memory pointed to by field \u0027data\u0027 [clang-analyzer-unix.Malloc]\nframeworks/base/tools/aapt2/compile/Png.cpp:562:42: warning: Potential\nleak of memory pointed to by field \u0027data\u0027 [clang-analyzer-unix.Malloc].\n\nBug: None\nTest: The warning is gone.\n\nChange-Id: I25f68ff85bea7069c21549c7deb7920d1877069e\n"
    },
    {
      "commit": "e33de76a16f6acc42858766460976f44e629657d",
      "tree": "ce962def3f718730407e6863a14aaf0df9a66787",
      "parents": [
        "d2d6c257f141ed38da2cf0d0a2f84c6f7f055e92",
        "e02983681ae85212c2263055fd4bcfd8097f19bc"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 15 16:57:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 15 16:57:21 2017 +0000"
      },
      "message": "Merge changes Id8bdb14e,I573a6735,Ia804777f,Ia68122cb,Ia1997800, ... into oc-mr1-dev\nam: e02983681a\n\nChange-Id: I42369e6fb7bd121e45b5a002cd5f00e05221ead3\n"
    },
    {
      "commit": "689ce3f658f6862baf9951513c3330b5a3638267",
      "tree": "88a9cb6f54d7f8ef93fbb48ab28a4e94fadb03a8",
      "parents": [
        "a91d5c39ed3fd9f96a6aba90eb5b02877271c7a2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 13 14:46:00 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 15 08:49:24 2017 +0000"
      },
      "message": "AAPT2: Bump to version 2.19\n\nTest: manual\nBug: 65645766\nChange-Id: Id8bdb14e498bd79ff642f9ad56ef05ec7a5825af\nMerged-In: Id8bdb14e498bd79ff642f9ad56ef05ec7a5825af\n"
    },
    {
      "commit": "a91d5c39ed3fd9f96a6aba90eb5b02877271c7a2",
      "tree": "d66e52f4d4e95f22601df752e6c2e994ad198076",
      "parents": [
        "40e869e2a5207281653be40d030e92c3b664ee31"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 30 16:12:05 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:31:48 2017 -0700"
      },
      "message": "AAPT2: Fix issue with resource deduping\n\nResource deduping relies on the definitions of\nConfigDescription.ConflictsWith, ConfigDescription.IsCompatibleWith,\nand ConfigDescription.Dominates.\n\nConflictsWith is supposed to ignore range-based qualifiers, like\nversion, density, smallest width, screen size, etc.\n\nThis was not the case for screen size, and was assumed that the\nchoice of screen size is mutually exclusive.\n\nThis CL fixes the assumption and includes screen size (small, normal, large, xlarge)\nas a qualifier that does not conflict.\n\nBug: 64397629\nBug: 65645766\nTest: make aapt2_tests\nChange-Id: I573a6735fedd7721a10ba32902bc5d27ef99b88e\nMerged-In: I573a6735fedd7721a10ba32902bc5d27ef99b88e\n"
    },
    {
      "commit": "40e869e2a5207281653be40d030e92c3b664ee31",
      "tree": "e2e09a84d3432174f5a24db478ca19a0774e1ac5",
      "parents": [
        "f1a7e04851ecbb707e7e18eace31b5eaf95bcc48"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 25 17:29:47 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:31:40 2017 -0700"
      },
      "message": "AAPT: Dump badging should pickup strings from the right package\n\nA bug in the dump badging command caused strings to be looked up in the\nfirst loaded package only.\n\nBug: 64948230\nBug: 65645766\nTest: none\nChange-Id: Ia804777fe3f963004a5c053129ef6e0c94b7f6a3\nMerged-In: Ia804777fe3f963004a5c053129ef6e0c94b7f6a3\n"
    },
    {
      "commit": "f1a7e04851ecbb707e7e18eace31b5eaf95bcc48",
      "tree": "4ee90bcf51660612a009dde98f9bae0a55bc5a5f",
      "parents": [
        "96ed7c3b17b307e0983962c0d2355ab066674713"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Aug 24 15:17:05 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:31:30 2017 -0700"
      },
      "message": "AAPT2: Change the daemon mode to be line based\n\nAccept a set of arguments separated by newlines.\nThis avoids path separator conflicts with the argument\nformat for passing splits.\n\nTest: manual\nBug: 65645766\nChange-Id: Ia68122cb77b7dde2292a0fd953e79f02996ac01c\nMerged-In: Ia68122cb77b7dde2292a0fd953e79f02996ac01c\n"
    },
    {
      "commit": "96ed7c3b17b307e0983962c0d2355ab066674713",
      "tree": "c819fd718a45256fe66517464c01667cc2f0abaa",
      "parents": [
        "6e241e7e5408aae655362905a78d29e6c52ca305"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Thu Aug 24 16:19:45 2017 +0100"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:31:22 2017 -0700"
      },
      "message": "AAPT2: better error handling for daemon mode\n\nTest: manual\nBug: 65645766\nChange-Id: Ia1997800ad94f386dbbb4195011395ecee1ba91f\nMerged-In: Ia1997800ad94f386dbbb4195011395ecee1ba91f\n"
    },
    {
      "commit": "6e241e7e5408aae655362905a78d29e6c52ca305",
      "tree": "de7714461353c5796fc2eb74d42e5e1c85e60d88",
      "parents": [
        "b791721cd1a6154e5582d824f5d20b2c8b8d5ac5"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 18 19:49:58 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:31:13 2017 -0700"
      },
      "message": "AAPT2: Fix regression in Manifest.java permissions\n\nPermissions defined with the same leaf name emit the same\nstring symbol, which causes collisions. AAPT would override\nthe symbol with the last one seen.\n\nDo the same thing as AAPT, but emit a warning.\n\nBug: 64472942\nBug: 65645766\nTest: make aapt2_tests\nChange-Id: I17b9dc7e8d8bd80db98869394c93695cb453bebd\nMerged-In: I17b9dc7e8d8bd80db98869394c93695cb453bebd\n"
    },
    {
      "commit": "b791721cd1a6154e5582d824f5d20b2c8b8d5ac5",
      "tree": "363ba007cc0cd5d4ae55b7516696ac7064907feb",
      "parents": [
        "44ec315e06560a5fc0e2cc462ef67c2a47e894b1"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Aug 10 15:37:28 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:31:04 2017 -0700"
      },
      "message": "AAPT2: Define intermediate compiled XML proto\n\nThis proto format is meant to encapsulate more information\nthat is specific to Android and allows for easier validation\nand manipulation across tools.\n\nTest: make aapt2_tests\nBug: 65645766\nChange-Id: I13bc34a460671fc0a36246be0d287a3d37d244d6\nMerged-In: I13bc34a460671fc0a36246be0d287a3d37d244d6\n"
    },
    {
      "commit": "44ec315e06560a5fc0e2cc462ef67c2a47e894b1",
      "tree": "fc2f952beea64aea7b959b6c3ec364b7a764716d",
      "parents": [
        "68b5e8a4399ef822790d1a498258e69b5b2d0a4f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 25 10:59:26 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:30:56 2017 -0700"
      },
      "message": "AAPT2: Add a daemon mode\n\nGradle and other build tools that need to frequently interact with aapt2\ncan use the daemon mode to issue regular CLI commands without paying\nthe process start cost for each invocation.\n\nTest: manual\nBug: 65645766\nChange-Id: I543858ed46496278bad643f0dae688c924ec6c3f\nMerged-In: I543858ed46496278bad643f0dae688c924ec6c3f\n"
    },
    {
      "commit": "68b5e8a4399ef822790d1a498258e69b5b2d0a4f",
      "tree": "e8ecd0786a98e3efeec8b7642775c7f625268d85",
      "parents": [
        "5c33fb5408d6c02dc2c73f53d89d1494fe04f208"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 18 19:33:03 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:30:48 2017 -0700"
      },
      "message": "AAPT2: Fix mkdirs implementation\n\nOnce switched to using std::string, the mkdirs implementation was\ntrying to create an empty string when an absolute file path on\nlinux or macOS was used.\n\nBug: 62336414\nBug: 65645766\nTest: manual\nChange-Id: I52f3050b410a923ca48f353b0983667c16d00ee8\nMerged-In: I52f3050b410a923ca48f353b0983667c16d00ee8\n"
    },
    {
      "commit": "5c33fb5408d6c02dc2c73f53d89d1494fe04f208",
      "tree": "b95bdb2f9855ebdc4fea99672c81c3b4f4a00509",
      "parents": [
        "5b54ca2d72c410aa34363b0f3bb0fe1666954aea"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 09 10:54:23 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:30:38 2017 -0700"
      },
      "message": "AAPT2: Change XmlDom to exclude Namespace as a node\n\nIn preparation for exporting an XML proto format for UAM to consume,\nthis change brings the XML DOM API more in line with other APIs that\ndo not make the Namespace a separate node.\n\nTreating Namespace declarations as just properties of an Element\nnode makes the implementation of algorithms much simpler, as\nthe constraints that Namespace nodes have only one child\nare now built in and traversing to find Element nodes\nis much simpler.\n\nAlso made a bunch of quality of life improvements, like formatting and\ncomment style.\n\nTest: make aapt2_tests\nBug: 65645766\nChange-Id: Ib97ff1c4252b7907e2cc1f13a448dc4ca3b809a4\nMerged-In: Ib97ff1c4252b7907e2cc1f13a448dc4ca3b809a4\n"
    },
    {
      "commit": "5b54ca2d72c410aa34363b0f3bb0fe1666954aea",
      "tree": "ec1da3d9faf69a18dc3cd04a3cbbe0e093c058ca",
      "parents": [
        "cb1e6f95ae02a8670a85d50db8dc95a8bbb3622d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Aug 02 14:57:43 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:30:29 2017 -0700"
      },
      "message": "AAPT2: Fix windows unicode path issues\n\nMingw64 was being difficult, so instead of defining a wmain entrypoint,\nthe command line parameters are parsed manually using built-in Windows\nmethods that support Unicode. The results are converted to UTF8 and\nhandled just like the rest of the linux/mac version of the code.\n\nThis also removes dependencies on std::istream in favour of a\nFileInputStream which calls the appropriate unicode version of\nopen to read a file.\n\nNo speed regressions found on Linux or MacOS.\n\nBug: 62336414\nBug: 63830502\nBug: 65645766\nTest: manual\nChange-Id: I597da51e33729ed1b98bf246e7e773337fd3fee8\nMerged-In: I597da51e33729ed1b98bf246e7e773337fd3fee8\n"
    },
    {
      "commit": "cb1e6f95ae02a8670a85d50db8dc95a8bbb3622d",
      "tree": "73bb8dde0b8e5a6316c600323afe27dd6f0ceae6",
      "parents": [
        "e116ebe0bcd2f078fedb526ba1e8570a6885f469"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 07 10:32:18 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:30:18 2017 -0700"
      },
      "message": "AAPT2: Fix typo in Config parsing\n\nThe \u0027any\u0027 syntax of a configuration is rarely used so this has not been\nan issue in the field.\n\nTest: none\nBug: 65645766\nChange-Id: Icb9cb2d5ad061e3ea1c43dc1cd7ca2f222965cdc\nMerged-In: Icb9cb2d5ad061e3ea1c43dc1cd7ca2f222965cdc\n"
    },
    {
      "commit": "e116ebe0bcd2f078fedb526ba1e8570a6885f469",
      "tree": "79da0a92a1d186b82c368f4f4c53f7862033879b",
      "parents": [
        "ee0e486d3617bdc31ae6e42414bbf2316dee164c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 04 16:15:17 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:29:47 2017 -0700"
      },
      "message": "AAPT2: Change proto format to reduce usage of StringPool\n\nThe StringPool class is a binary blob and makes it difficult to\nmodify the proto files from external tools (like bundle-tool).\n\nSize increase of full build is negligible.\n\nTest: make aapt2_tests\nBug: 65645766\nChange-Id: I984755170c315730ab751b51133f8fb2f614f6af\nMerged-In: I984755170c315730ab751b51133f8fb2f614f6af\n"
    },
    {
      "commit": "ee0e486d3617bdc31ae6e42414bbf2316dee164c",
      "tree": "6158def576b4541debd6062d2cecaf7c69a693c9",
      "parents": [
        "18fc9f65d040f7b9ff9960217d9e02b1827ecd00"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 25 17:15:42 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:29:34 2017 -0700"
      },
      "message": "AAPT2: Add navigation type\n\nTest: build succeeds\nBug: 65645766\nChange-Id: I7d49366c7cc4a93c29bad4cb9f13eec23ad05bd2\nMerged-In: I7d49366c7cc4a93c29bad4cb9f13eec23ad05bd2\n"
    },
    {
      "commit": "18fc9f65d040f7b9ff9960217d9e02b1827ecd00",
      "tree": "02c12e7196e5daa9ba3fd17a9feea8ee79ee3da4",
      "parents": [
        "3349e619418a75503e9dd550c4f55075264c0555"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 10 05:40:39 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 14 11:29:24 2017 -0700"
      },
      "message": "AAPT2: Document Format.proto\n\nTest: none\nBug: 65645766\nChange-Id: I6b05bcdece5a310201d3ab0790a4ea1d23698e96\nMerged-In: I6b05bcdece5a310201d3ab0790a4ea1d23698e96\n"
    },
    {
      "commit": "fa6058118e5fca1150fbe259cba89ebae64cdcd1",
      "tree": "ecda4fbaaefaac37a1030b360766980ac03bf2e3",
      "parents": [
        "a90205492ff2eb1b20dfdc9fb114efdd78d387d1"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jun 29 17:53:36 2017 -0700"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Mon Sep 11 13:05:38 2017 -0700"
      },
      "message": "AAPT2: Fix processing of quotes in XML\n\nWhen processing attributes in XML, quotes can\u0027t be used to mark a\nsection as whitespace preserving, so the assumption should be that the\nentire string is whitespace preserving, which makes quote characters\nliterals.\n\nBug: 62840718\nBug: 62840406\nTest: make aapt2_tests\nChange-Id: I4afff02148b5b8e78833abf1f323c2f5325d6155\n"
    },
    {
      "commit": "2e9ec5f0de4c69cd97640ae9de38da84f9352f21",
      "tree": "26c20cbe9f92844358e382c040e5c00edfd23f8e",
      "parents": [
        "ac2e9ba5308500fc358b270a4fa5e9178ab4db7e",
        "59225490b858294a737bbe62aed4850543bf4b10"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Sep 10 02:05:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 10 02:05:05 2017 +0000"
      },
      "message": "Merge changes I93cf24d4,I32e438ef am: 30798ad13a am: c28d591b36\nam: 59225490b8\n\nChange-Id: I6cf57e951900b3df816070feee0d3bf92a6a5a7d\n"
    },
    {
      "commit": "c28d591b36556a6109a1bbf8a2fc51a28aa46d9c",
      "tree": "5e347c769b98259ca3d8b8d2e4ed34eb59db6cf4",
      "parents": [
        "972a9d531803a8bdf9cdd114bedaa1ef776128e7",
        "30798ad13a379e9d226c35d7417a16f690b9dbf0"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Sep 10 01:44:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 10 01:44:06 2017 +0000"
      },
      "message": "Merge changes I93cf24d4,I32e438ef\nam: 30798ad13a\n\nChange-Id: I0b178c8523d0c5829d731f6ed05cfa3fe89ad9b4\n"
    },
    {
      "commit": "30798ad13a379e9d226c35d7417a16f690b9dbf0",
      "tree": "d337e3373817b815e7bd46abebad6f47e0121869",
      "parents": [
        "5a1e85eb712c054a09d0e85ea2a5309d04363547",
        "d3eac266b02399a8a822517e844c05585879221a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Sep 10 01:29:21 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Sep 10 01:29:21 2017 +0000"
      },
      "message": "Merge changes I93cf24d4,I32e438ef\n\n* changes:\n  Convert host tools to Android.bp\n  Rename aapt_defaults to aapt2_defaults\n"
    },
    {
      "commit": "24041fe2131ff6d7a602baace16f16746f6f1ce3",
      "tree": "4902bced2539be5ce2ac35fb68be02451d7dc036",
      "parents": [
        "c201a6bb7dfb267056cefcc7544c1e0fe1c4be21",
        "d928842ab64830354ebf359d8f0bb9864afba2ea"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 09 22:11:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 09 22:11:38 2017 +0000"
      },
      "message": "Merge \"Convert incident_report and incident-section-gen to Android.bp\"\nam: d928842ab6\n\nChange-Id: I0e0ff3d75ce5f9dc302052c1da057db8d5d35cd7\n"
    },
    {
      "commit": "eb211c23d572422e80e5e1159c28d7bed2283da2",
      "tree": "876d5f0b19f09a044476b606614c826223126136",
      "parents": [
        "f1ae466af8988d82e884dfcf126a1a8a24f36ffe",
        "9539d236e73326888f921cce301923d6d0bbde85"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 09 19:54:02 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 09 19:54:02 2017 +0000"
      },
      "message": "Merge changes Ia3bcece1,Icd26dc1e am: ec462238f6 am: c201a6bb7d\nam: 9539d236e7\n\nChange-Id: I2a5c73a54004c1aa378d25776de0d2080544137d\n"
    },
    {
      "commit": "0b4a0272c7a2e62681ed3ae1100daa7111e8bc06",
      "tree": "064cbcbde21bb3e53144feff7a9b9cb153043b3b",
      "parents": [
        "2dae0e246e885d885bf99f6f133bb19abc2456b4",
        "6737dc944880d0820278b83658da6173e18c5694"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 09 19:33:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 09 19:33:53 2017 +0000"
      },
      "message": "Rename aapt_defaults to aapt2_defaults am: 7544b9cbb9\nam: 6737dc9448\n\nChange-Id: I78debad7c68e37bd935b881ad791a771c8ee86c7\n"
    },
    {
      "commit": "c201a6bb7dfb267056cefcc7544c1e0fe1c4be21",
      "tree": "f0d5e1bf2d63cf71273f3c317874cf14fcfc5e8d",
      "parents": [
        "a97f4d4ac3a930285cb3e8beb1ead25c3ccfa2d6",
        "ec462238f68e4be2baf59b841bc96ba0d2a7fb36"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 09 19:28:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 09 19:28:33 2017 +0000"
      },
      "message": "Merge changes Ia3bcece1,Icd26dc1e\nam: ec462238f6\n\nChange-Id: Ied36c517ed7fa80dc85b07b1532821dc93628d40\n"
    },
    {
      "commit": "760d57a88807ea81c8e4fd5870a61d01d79bfbcf",
      "tree": "b8e5d17aec3b87f3c2c4caaca1161980f2919c2a",
      "parents": [
        "ec462238f68e4be2baf59b841bc96ba0d2a7fb36"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 23:24:49 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 09 19:24:33 2017 +0000"
      },
      "message": "Convert incident_report and incident-section-gen to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m incident_report incident-section-gen\nTest: mmma frameworks/base\nChange-Id: If1a930b40196139d29e63f6558bc4a75faca1967\nMerged-In: If1a930b40196139d29e63f6558bc4a75faca1967\n"
    },
    {
      "commit": "fc6d511d666780c905f791f866af7bb14a9cd1fe",
      "tree": "317533f743e252edcbb4a472a1d7c3d234b5bf6b",
      "parents": [
        "a669df1b6c382c9510e0cee0a5959c7d11764b1a"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 23:24:49 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 23:36:58 2017 -0700"
      },
      "message": "Convert incident_report and incident-section-gen to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m incident_report incident-section-gen\nTest: mmma frameworks/base\nChange-Id: If1a930b40196139d29e63f6558bc4a75faca1967\n"
    },
    {
      "commit": "d3eac266b02399a8a822517e844c05585879221a",
      "tree": "9d6cefd142dd515c9e3ad946f6549f9727822c8e",
      "parents": [
        "1cb5ab2dc14fb35359525479a7c7356d84904ce1"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 22:47:47 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 09 06:18:48 2017 +0000"
      },
      "message": "Convert host tools to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m libinstrumentation interrupter accessorychat accessorytest bit obbtool pbkdf2gen libsplit-select_tests split-select protoc-gen-javastream validatekeymaps libaapt_tests aapt\nTest: mmma frameworks/base\nTest: out/host/linux-x86/nativetest64/libaapt_tests/libaapt_tests\nTest: out/host/linux-x86/nativetest64/libsplit-select_tests/libsplit-select_tests\nChange-Id: I93cf24d4b232353a52d53be8ed85781b8f4a3877\n"
    },
    {
      "commit": "1cb5ab2dc14fb35359525479a7c7356d84904ce1",
      "tree": "5eb3b7f4d8faaa92f434481c86a098a1a2a18d07",
      "parents": [
        "896f01879b424e4f37e65bcf546dc9d5cd712e25"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 22:44:51 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 09 06:17:24 2017 +0000"
      },
      "message": "Rename aapt_defaults to aapt2_defaults\n\nSo that tools/aapt/Android.bp can have aapt_defaults.\n\nTest: m aapt2\nChange-Id: I32e438efb3516d73b347e67297aa09bee91520b1\nMerged-In: I32e438efb3516d73b347e67297aa09bee91520b1\n"
    },
    {
      "commit": "7544b9cbb9f0843cd306372087f5b6150021eed5",
      "tree": "2cab2aa08304156560ad5a0b5d83288724749fb4",
      "parents": [
        "be7ccdf6e91bb173e5bc9e5081ccea3b25335d8f"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 22:44:51 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 23:11:49 2017 -0700"
      },
      "message": "Rename aapt_defaults to aapt2_defaults\n\nSo that tools/aapt/Android.bp can have aapt_defaults.\n\nTest: m aapt2\nChange-Id: I32e438efb3516d73b347e67297aa09bee91520b1\n"
    },
    {
      "commit": "896f01879b424e4f37e65bcf546dc9d5cd712e25",
      "tree": "bee72eace47c2e531c02645bd197a0705c39a243",
      "parents": [
        "85aee73e98118e68c13c17dbef26b3b73dcaec40"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 22:02:41 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 22:58:56 2017 -0700"
      },
      "message": "Don\u0027t compile libaapt with the build number\n\nOnly do that for the aapt binary itself. This will allow libaapt to be\nconverted to Soong.\n\nAlso remove a few lines that weren\u0027t doing anything: aaptCppflags was\nnever set, LOCAL_C_INCLUDES :\u003d $(LOCAL_PATH) is implied.\n\nTest: m aapt\nTest: aapt version\nChange-Id: Ia3bcece14921417e1bfd3406630961c013bd497c\n"
    },
    {
      "commit": "85aee73e98118e68c13c17dbef26b3b73dcaec40",
      "tree": "36d10684cd2afa0a7284b8f59c4d548f2b64e8bb",
      "parents": [
        "8157ab2a0e1ae9d84debe7ad3ef8d889a4a203b4"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 21:26:31 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 08 22:44:19 2017 -0700"
      },
      "message": "aapt: Always use our libz\n\nInstead of using the system libz (-lz), include our copy as a static\nlibrary. This is safer in case the system version isn\u0027t compatible.\n\nAlso removes references to -ldl -lrt -lpthread, which are now implied.\n\nTest: m -j\nTest: out/host/linux-x86/nativetest64/libaapt_tests/libaapt_tests\nTest: out/host/linux-x86/nativetest64/aapt2_tests/aapt2_tests\nTest: out/host/linux-x86/nativetest64/libsplit-select_tests/libsplit-select_tests\nChange-Id: Icd26dc1e0d011e5b5f158e562640533c5ac34e33\n"
    },
    {
      "commit": "84be36e7b5655aade511b2b0864c720e0e0e09a2",
      "tree": "1a8023e7ae78d1b43cea23a45a0dabffff53c83a",
      "parents": [
        "bfe2580b2479391cfc194e538264d79794d077a2",
        "1e22b33f34d7cd72fa11388e65a1cca8a1d41452"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 05 18:59:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 05 18:59:39 2017 +0000"
      },
      "message": "Merge \"AAPT2: Make sure to fail when XML linking fails\" into oc-mr1-dev\nam: 1e22b33f34\n\nChange-Id: Ic32bb2076e65d66fbba2c59f29f31d132b12fa0a\n"
    },
    {
      "commit": "1e22b33f34d7cd72fa11388e65a1cca8a1d41452",
      "tree": "e8683357fdd89b74da44713265d84e2014a852f5",
      "parents": [
        "88aa3d0f3e2d53ef99ac7caed838ab02c0d85d80",
        "de7b74233513b3b962737d95bf1a73be4282452c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 05 18:53:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 05 18:53:44 2017 +0000"
      },
      "message": "Merge \"AAPT2: Make sure to fail when XML linking fails\" into oc-mr1-dev"
    },
    {
      "commit": "4f4a3414028e97810af191a3628ec03ce0c3a609",
      "tree": "6194b0f277c2a3385dd31230a8eead9f112f2e40",
      "parents": [
        "b32153e3d2be154b36354765966da4c275f1620e",
        "38f0f5687f2e375f478e9c1732e9542e532ccb3c"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Aug 31 22:03:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 31 22:03:11 2017 +0000"
      },
      "message": "Merge changes I7218f17a,I96b7340a am: 111c955d1d am: 96e763fe71\nam: 38f0f5687f\n\nChange-Id: I8d3c46d10463f4c64f7ef96006c31c1343710f53\n"
    },
    {
      "commit": "96e763fe71b4d4a0615fe4d68de1de48f4794d59",
      "tree": "9d55351f6348a6b9209f7367c8b66bd3d39404f1",
      "parents": [
        "c2351d1d40dc82844f6c963f9a32af3e29d74ed8",
        "111c955d1d07d9f448c4ec95985b56735f65c403"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Aug 31 21:44:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 31 21:44:25 2017 +0000"
      },
      "message": "Merge changes I7218f17a,I96b7340a\nam: 111c955d1d\n\nChange-Id: I64cb964b751561e87115976866646b1db3858e14\n"
    },
    {
      "commit": "c903d2e7cdc74bd0573ecfb5f5dd35ee7c90249e",
      "tree": "067392c1c9a041c0366a8bcecdc75224eb4872b8",
      "parents": [
        "f08ad98acbb83abf7d30b6583bdfc188145a4215"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Dec 09 00:23:41 2016 +0100"
      },
      "committer": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Aug 31 14:50:10 2017 +0200"
      },
      "message": "AAPT2: Allow \u003coverlay\u003e in AndroidManifest.xml\n\nTest: libaapt2_tests\nTest: manual (build an overlay package)\nChange-Id: I96b7340a53a7d4f1ca022065674fbf5bdaa273f2\n"
    },
    {
      "commit": "fde2fcaaa0e58cf8966bed6e04ff0ee561687d7d",
      "tree": "ae6b8e29c01b6bc876cce52bb2bb25087740585f",
      "parents": [
        "285d2df555a02bd33d2f53705aa12a8c55a5e641",
        "a119b38d9e8452ac69776998220814ed8f82f2b1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 29 00:38:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 29 00:38:13 2017 +0000"
      },
      "message": "Merge \"Use guava 21.0\" am: edb2e0c722 am: f1c99fb47f\nam: a119b38d9e\n\nChange-Id: If9ac959f83de3627ff9950ee727acb3ab07c7b9c\n"
    },
    {
      "commit": "f1c99fb47f8ba1400cb282c121de6b29d9fbfa94",
      "tree": "ef89a01126ed6f08978a03fcba29fff7f3d9ba60",
      "parents": [
        "20d4df8cc1b42f915e4ab964f9f4fdc374b37aa0",
        "edb2e0c722b9f4144c55a231869675be69cf3840"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 29 00:03:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 29 00:03:24 2017 +0000"
      },
      "message": "Merge \"Use guava 21.0\"\nam: edb2e0c722\n\nChange-Id: Icf8873b268677a631659a7ee0f7816495f6acd38\n"
    },
    {
      "commit": "800af77f9cd4847834ad18fe71565c84b72f96d4",
      "tree": "260e0b43584cb8066eb4a304effb5809d77fc41a",
      "parents": [
        "46748d5070f360b5a3b527ff71a56e03e0d8e50f",
        "d489d122f42af3c6c308afef59a2948a115e8d31"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Sat Aug 26 02:41:46 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 26 02:41:46 2017 +0000"
      },
      "message": "Merge \"O MR1 is API 27\" into oc-mr1-dev\nam: d489d122f4\n\nChange-Id: I7e4e4a710ce874502b1e749a9892e46619a988df\n"
    },
    {
      "commit": "3b0ea225abcdea516a746e251af23579ff0d23ff",
      "tree": "9cc7e8171530a4acb635362ac536fff1c4bc7fc9",
      "parents": [
        "b09cf3fbf1c7e340bc06e8aba06461d4a0bae457"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Aug 25 11:27:46 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Aug 25 11:27:46 2017 -0700"
      },
      "message": "Use guava 21.0\n\nguava 20.0 is being removed.\n\nTest: m -j checkbuild\nChange-Id: I48ac4f641da3567985339c061dad5d60829aeee0\n"
    },
    {
      "commit": "eec01ac5a3dec5030edc5c81ae215bcd10183c5b",
      "tree": "413c597adbbe6e7a7cb47d07c27879aa1d665303",
      "parents": [
        "f144f6ecd9386eba9cb516bec42c07295e3f9765"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Aug 23 13:49:14 2017 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Aug 23 13:49:14 2017 -0700"
      },
      "message": "O MR1 is API 27\n\nBug: 64982450\nTest: manual\nChange-Id: I4be170f9f1021899db3ef0bce3eaeada21f8b475\n"
    },
    {
      "commit": "4126f4651fe8b395bf848babb0fb2af44dded478",
      "tree": "fe4f753ad7196d3ceea37cc90bc5c273910cc54b",
      "parents": [
        "32755985fbddcbb6dc21d676db2912973c60a6f9",
        "8e22616fb80fa5fbad9b4f529beec1470c0da3f1"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Sat Aug 12 03:44:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 12 03:44:52 2017 +0000"
      },
      "message": "Merge \"Revert \"aapt2_jni: use proper nativehelper headers\"\" into stage-aosp-master am: e59c1b1b50 am: bc6d35e698\nam: 8e22616fb8\n\nChange-Id: Ie23fe137a0cc6df2be34c1c57bb550631654d61b\n"
    },
    {
      "commit": "39c5f424b43a8d0ecda6f8a41e61acd4f2c7cd42",
      "tree": "dce5149a503e37fea6579db3b5526a093dfd4a9e",
      "parents": [
        "77a59a9ae576893149ea0d3eb25a05ea9138e42a",
        "5c65590564c94a5db5ca58994a74cd39754d97eb"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Sat Aug 12 03:32:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 12 03:32:29 2017 +0000"
      },
      "message": "Merge \"aapt2_jni: use proper nativehelper headers\" into stage-aosp-master am: e17aa09136 am: 1c7ae6507e\nam: 5c65590564\n\nChange-Id: Ie3c13f03658a2a5ac8fae7edadb4833b86716386\n"
    },
    {
      "commit": "8e22616fb80fa5fbad9b4f529beec1470c0da3f1",
      "tree": "ebb3c3de283afc98bce3381fde1074322c8b048a",
      "parents": [
        "39af219c231f22d7d783969436316282535c3ab0",
        "bc6d35e6983e96ad454ec9bc70410da5eb6d8fa9"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Aug 11 22:17:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 11 22:17:51 2017 +0000"
      },
      "message": "Merge \"Revert \"aapt2_jni: use proper nativehelper headers\"\" into stage-aosp-master am: e59c1b1b50\nam: bc6d35e698\n\nChange-Id: Ida9cc1c9c2a64920ce094f2305e2e7bc1abaec1b\n"
    },
    {
      "commit": "5c65590564c94a5db5ca58994a74cd39754d97eb",
      "tree": "d50510ab75b40c1e5f24a35aa3b7854d026c3b7c",
      "parents": [
        "4802b828a2e0e7ea565b68a7b5443d9b1b0cb089",
        "1c7ae6507e112cb59150dcafee4a649a120a24de"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Aug 11 22:06:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 11 22:06:57 2017 +0000"
      },
      "message": "Merge \"aapt2_jni: use proper nativehelper headers\" into stage-aosp-master am: e17aa09136\nam: 1c7ae6507e\n\nChange-Id: I31224c1a0bef8074c4d569137b3134d28039ee58\n"
    },
    {
      "commit": "de7b74233513b3b962737d95bf1a73be4282452c",
      "tree": "8f6bd3397edea019c09d498c4dcf4ddac4fb50e8",
      "parents": [
        "c4913b6499a9a22b47dec58aa291dbe14a22412f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 07 11:56:32 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 11 21:45:22 2017 +0000"
      },
      "message": "AAPT2: Make sure to fail when XML linking fails\n\nBug: 64367402\nTest: manual\nChange-Id: I3082887f5e449d8d0dac2aad93a834eb346008ba\n"
    },
    {
      "commit": "e59c1b1b50a97bf194fa50e1accebb3b12a42fdc",
      "tree": "996bb8e2e3ad1e9f3b4962784ac83f4c507e99ee",
      "parents": [
        "e17aa091366feafed96adc418a8a4699cf870917",
        "fe028b0d0f0c3c0d31e1c11a640dcd52316f53b0"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Aug 11 21:41:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 11 21:41:00 2017 +0000"
      },
      "message": "Merge \"Revert \"aapt2_jni: use proper nativehelper headers\"\" into stage-aosp-master"
    },
    {
      "commit": "fe028b0d0f0c3c0d31e1c11a640dcd52316f53b0",
      "tree": "e5866d44ca83a36474eb0718b7ecc3afc7098085",
      "parents": [
        "8eebd694e59fb01c13267c509ea98179f149e69b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Aug 11 21:38:39 2017 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Aug 11 21:38:39 2017 +0000"
      },
      "message": "Revert \"aapt2_jni: use proper nativehelper headers\"\n\nThis reverts commit 8eebd694e59fb01c13267c509ea98179f149e69b.\n\nReason for revert: TH skipped PS run\n\nChange-Id: Iab0e71d985819880146476ba3648e8b94201a839\n"
    },
    {
      "commit": "e17aa091366feafed96adc418a8a4699cf870917",
      "tree": "0d61a12276d0750e2bfbab256ada4a431d573c30",
      "parents": [
        "e04a0bf5c7156e1f7a2965a3d88dc95c4112a3e5",
        "8eebd694e59fb01c13267c509ea98179f149e69b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 11 21:35:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 11 21:35:31 2017 +0000"
      },
      "message": "Merge \"aapt2_jni: use proper nativehelper headers\" into stage-aosp-master"
    },
    {
      "commit": "8eebd694e59fb01c13267c509ea98179f149e69b",
      "tree": "b001804399fb73a0c14291710f83c35f032c4661",
      "parents": [
        "f53501098cf8687de9d6fc5cb34681a14c2985e8"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Aug 11 11:01:23 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Aug 11 11:01:23 2017 -0700"
      },
      "message": "aapt2_jni: use proper nativehelper headers\n\nlibnativehelper exports headers under nativehelper. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using aapt2_jni find headers\nBug: 63762847\nChange-Id: Id51354d533bfef66ecd71f5d89599b8adc688c1f\n"
    },
    {
      "commit": "ff9914ee5637bf6c152be6d3f78b2dfee7ec60ec",
      "tree": "69538bd38ef2b5bf9331af64cad93d9f0a50bf35",
      "parents": [
        "e5ebdc3c973ac19226273a354849039d2061e1a2",
        "a5fc11d78e85ca1a962d63a911ce8b56a747a70d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 07 22:28:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 07 22:28:43 2017 +0000"
      },
      "message": "Merge \"AAPT2: Add targetConfig to AndroidManifest.xml\" into oc-mr1-dev\nam: a5fc11d78e\n\nChange-Id: Id751b5a4c087fa062a31e88e153302a326fe34a8\n"
    },
    {
      "commit": "e5ebdc3c973ac19226273a354849039d2061e1a2",
      "tree": "7959ba1bc5659ed028ae6bd584597f3a68fc7e8d",
      "parents": [
        "515b44b35fe332f86809a556d30fa35c733293a3",
        "0dcfee31548bf3adc572189eb4d0cda655daa2b3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 07 22:25:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 07 22:25:35 2017 +0000"
      },
      "message": "Merge \"AAPT2: Ensure style strings are always first in StringPool\" into oc-mr1-dev\nam: 0dcfee3154\n\nChange-Id: Id820dff95bf26f0186f64b31a14f4032bd3f76ec\n"
    },
    {
      "commit": "dc901a63188786e4ebcdb82c47fd76040ec3dc59",
      "tree": "85e28e8d7ad081f537edf3acb5dcbc947697512a",
      "parents": [
        "13fac42125b5e88e65871861d929a628e84c7a1c",
        "242c22c9000160594580ffacfd1986adaebd4657"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 07 17:43:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 07 17:43:05 2017 +0000"
      },
      "message": "Merge \"AAPT2: Disable locale domination for deduping\" into oc-dr1-dev\nam: 242c22c900\n\nChange-Id: I8fa65b89f1f10fe8920aa45d14c7b917b6bc74d8\n"
    },
    {
      "commit": "55f2761fc8afdff01e75bce2718c222912a125f7",
      "tree": "8bb631c264578d8998da6453b32db894c3338e2c",
      "parents": [
        "5b6ee115489ce93dafce57d7f5ac33564cd6ef52"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 24 17:08:32 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 04 17:32:32 2017 -0700"
      },
      "message": "AAPT2: Add targetConfig to AndroidManifest.xml\n\nSplits may include more/different configurations than they\nwere originally specified to include. This happens, for instance,\nwhen a particular requested density doesn\u0027t exist. A fallback density\nresource is chosen for the split.\n\nThis makes programmatic configuration targetting difficult, as the APK\nmay report that it has resources for multiple densities, while it was\nmeant to target only a specific density.\n\nThis change encodes a comma separated list of the intended configurations\nfor the split in an attribute called \u0027targetConfig\u0027 on the \u003cmanifest\u003e tag of\nAndroidManifest.xml.\n\nTest: manual\nChange-Id: I3167e9341a434abc34ed2ddb8f740762b40b1ab7\n"
    },
    {
      "commit": "5b6ee115489ce93dafce57d7f5ac33564cd6ef52",
      "tree": "c066ff004324618110f627942c635fab61789542",
      "parents": [
        "2b991665da34f34fb842ba77502989885e58f1b2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jul 28 17:10:35 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 04 17:29:13 2017 -0700"
      },
      "message": "AAPT2: Ensure style strings are always first in StringPool\n\nMove the styled strings to a separate section of the StringPool so\nthat sorting can never mess up the order of Styles.\n\nBug: 63570514\nTest: make aapt2_tests\nChange-Id: Id2ce1355b92be1bb31ce0daa7e54ae9b5b6c2ffe\n"
    },
    {
      "commit": "907399187e5664855b4ab8446dfa179fbd232b4b",
      "tree": "d564f1cb459d68ee5ff8885a970ea57d6757e765",
      "parents": [
        "82e815616e1fcab7bcdab737dfc1a28946b0f486"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jun 12 14:55:58 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 04 17:23:14 2017 -0700"
      },
      "message": "AAPT2: Disable locale domination for deduping\n\nLocale deduping isn\u0027t straightforward, as parenting rules\nchange between platform versions and the selection\npreference of a specific locale variant over the default\nconfiguration lead to incorrect results at runtime.\n\nBug: 62409213\nTest: make aapt2_tests\nChange-Id: Iec8f1cfba7ae43c847d163529891fdc15f3db826\n"
    },
    {
      "commit": "fd3326f3d3a41f7876a2868ba96851c5951527c9",
      "tree": "c898f6da7d8338db0c64f4044aecf07bb40b7805",
      "parents": [
        "0b5d4d671bfcd1552811aa7dc5ccf06782244161",
        "3a40330f3f628b1c10f7fe57333c24f50be9849c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Aug 04 16:31:31 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 04 16:31:31 2017 +0000"
      },
      "message": "Merge \"Move inserted method after end of try block\" am: b080b22a17 am: a413870ef5 am: 4a3caf1719\nam: 3a40330f3f\n\nChange-Id: Iae9e94011fe4ad232e049a7e18defed9c2cc2ce6\n"
    },
    {
      "commit": "3a40330f3f628b1c10f7fe57333c24f50be9849c",
      "tree": "74494d91a5072a0b62d6e6eec78fae0252e22f88",
      "parents": [
        "569b01b83a5980a74693e6ec874b647d2a3f1185",
        "4a3caf17196d0ae21e67d6c4292d39fd8dd41716"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Aug 04 16:18:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 04 16:18:57 2017 +0000"
      },
      "message": "Merge \"Move inserted method after end of try block\" am: b080b22a17 am: a413870ef5\nam: 4a3caf1719\n\nChange-Id: Ib6c4527df0f575217bad0c7e1f2a6b50f203beb7\n"
    }
  ],
  "next": "a413870ef5d1cd69afb16eccdb36e7a2a8b980a0"
}
