)]}'
{
  "log": [
    {
      "commit": "5fb872e7878266c850bef249a0417a3bc3e18251",
      "tree": "1de713567da01253f2c1fc29b576365b343fdf1c",
      "parents": [
        "eacecc37e8fd3b2157ef2a591cd211dead57bb89",
        "05bb83c87db6d1ec874e51760810c81210bac185"
      ],
      "author": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Wed Jan 24 12:36:26 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 24 12:36:26 2018 +0000"
      },
      "message": "Merge \"Fail when there is an ASM error\" am: 4152497b4b\nam: 05bb83c87d\n\nChange-Id: I27be59afd9f021c2933d10b6becb0f7542162a37\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": "2807036b099839f628ae362c38aeab889b870613",
      "tree": "27e419b6ac3514073b133bcbe17b0a6562a1cb7b",
      "parents": [
        "fe73dd054248556d7dcf97d7f020bdc265862621",
        "2d7813a4a779eec7152a4cdc93d8fc1ed833bc34"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Jan 08 21:07:09 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 08 21:07:09 2018 +0000"
      },
      "message": "Merge \"Add virtual dtor for virtual classes\" am: 27f61a94d6\nam: 2d7813a4a7\n\nChange-Id: I8787ff83ec93f5a8ae2e08e1af573d13750d9aa5\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": "52d401119589b7fd43b5d417329e8bd48d2802db",
      "tree": "8ab5fd560a9f29ca293a2b1b345e0986d85910cb",
      "parents": [
        "2bac68a6357e01cebd68d4287c64e93a84edb53a",
        "99161bc1c7176cba709430dea74bf35097e052d1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 04 01:10:47 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 04 01:10:47 2018 +0000"
      },
      "message": "Merge changes I9de0ffe9,Idc804896 am: 153fb1c6e0\nam: 99161bc1c7\n\nChange-Id: Id831c5ab771fa59ac9906d473ffeb7720fbbdf54\n"
    },
    {
      "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": "0688ef866818c5ff2d4ac98c3b0b873c90545225",
      "tree": "e9be2a4d756a802cf19a25d117609f3d4e9c61aa",
      "parents": [
        "061bc75d49b07e919d6187714a066bc8b838fe3c",
        "b8500d47714e964cb1a8fce1647aae1a33358cd1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Dec 13 01:08:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 13 01:08:56 2017 +0000"
      },
      "message": "Merge \"Convert services to Android.bp\" am: 5319777274\nam: b8500d4771\n\nChange-Id: Idcfeb088fa73e679d18de2ce2dc2ba58cdc78af7\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": "e2a0c1d062527cb06aa53e3f8e7274d77f3abe02",
      "tree": "3a4284c3bdb2ae57e74c11e92bc0520405e00318",
      "parents": [
        "54a7cba93448ba2f8f809d8883706a1b390be2aa",
        "31bcd7acea8aa81d1364f04bb259c9f37418a63a"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Nov 30 23:26:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 30 23:26:44 2017 +0000"
      },
      "message": "Merge \"Fix warning from clang+mingw\" am: 7fce15dc5e\nam: 31bcd7acea\n\nChange-Id: Ibb5c891fe3c219d75be8c124c9be215a31b2a241\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": "f84b4204c3109e7f9feabe2536247193301a698d",
      "tree": "bc7a86b87837e85a61094f367c04b236272eef63",
      "parents": [
        "06b73ece42cb6775224763763a1322ac0c68a4fa",
        "e7b0a330db58c21366390c39896a4d1ca306495e"
      ],
      "author": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Sat Nov 18 03:19:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Nov 18 03:19:30 2017 +0000"
      },
      "message": "Merge \"AAPT2: whitelist alphanums instead of blacklisting hyphens in package names.\" into oc-mr1-dev\nam: e7b0a330db\n\nChange-Id: I7943dc35ceeca0c3fdb4df668a761889cd0add2d\n"
    },
    {
      "commit": "e7b0a330db58c21366390c39896a4d1ca306495e",
      "tree": "472b36c6795f55deb9637448dfdd25325080769a",
      "parents": [
        "16277b2ac05540902036184b72c069a572004e40",
        "2ba1bc579fcc9085f95ca2061eabe2cd7ebe4613"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 18 03:03:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 18 03:03:19 2017 +0000"
      },
      "message": "Merge \"AAPT2: whitelist alphanums instead of blacklisting hyphens in package names.\" into oc-mr1-dev"
    },
    {
      "commit": "67695d3aff7553f80bbcda88e6a2c1c0cb9f7632",
      "tree": "04574e0ab3879b0ed9360f80c2a9f51b7693765a",
      "parents": [
        "847acf2b9a08fff3b26fe1c0f7c62e7aa91fd572",
        "7ade558ad210c2374c0c9b1c773e012255156c7b"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Nov 17 22:20:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 17 22:20:57 2017 +0000"
      },
      "message": "Merge \"Build fontchain_lint using python_binary_host\" am: 7ecac139ea\nam: 7ade558ad2\n\nChange-Id: Ie920005b39a476b281333b12fbed9e586a2ce3e7\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": "cc8aa11f6c08ed621776dffc91bbbd6b21c6b6de",
      "tree": "d4489d7d4606485988653bebbd8d8f39ac2b2061",
      "parents": [
        "24f9ac4ecf1d0497d8175ba61b62d7fcfd9036b6",
        "07d8249c4bc1ac50ba1e81d99b39ce87ef4ed62c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Nov 10 17:50:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 10 17:50:49 2017 +0000"
      },
      "message": "Merge \"AAPT2: Differentiate between Android and Java package names\" into oc-mr1-dev\nam: 07d8249c4b\n\nChange-Id: I0a3235052cea9041cf6c944f71879d304bce5a56\n"
    },
    {
      "commit": "07d8249c4bc1ac50ba1e81d99b39ce87ef4ed62c",
      "tree": "41ba55f3fe3c94fed1e517d26bc6bfbe50c4e54f",
      "parents": [
        "430ed075960430030270f55fa33fcdf6e0952b5f",
        "81e9ecfc0049883871ba72ecaf0908834e6ae3d5"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Nov 10 17:32:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 10 17:32:52 2017 +0000"
      },
      "message": "Merge \"AAPT2: Differentiate between Android and Java package names\" into oc-mr1-dev"
    },
    {
      "commit": "2ba1bc579fcc9085f95ca2061eabe2cd7ebe4613",
      "tree": "d310c55369de6eaef9f80b61c1e13288e65aa86a",
      "parents": [
        "9e628b60ba92448045e28e920e482915c27d4d79"
      ],
      "author": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Thu Nov 09 21:06:52 2017 -0800"
      },
      "committer": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Fri Nov 10 17:23:26 2017 +0000"
      },
      "message": "AAPT2: whitelist alphanums instead of blacklisting hyphens in package names.\n\nBCP 47 uses plus signs for name mangling, and future qualifiers may\nstart using other reserved characters as well, so we might as well\nfutureproof the sanitizer.\n\nChange-Id: I1be7ee4234f8e30bb0ea832372b4dc932d30550c\nFixes: 69134786\nTest: UtilTest.SplitNamesAreSanitized\n(cherry picked from commit 414e48a54143d78498dff381518c81e0c64ad56e)\n"
    },
    {
      "commit": "6385bbd860b8837da6f307658cb7516790823250",
      "tree": "10299b8684dd65f244b93466404dc8ec425504d0",
      "parents": [
        "222f4a2c81d512a53e27fd012d6c549d9deccf81",
        "751e69b38b19398c221e9ef364e21d812763b3e2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Nov 10 10:13:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 10 10:13:26 2017 +0000"
      },
      "message": "Merge \"AAPT2: Workaround for feature splits without namespacing\" into oc-mr1-dev\nam: 751e69b38b\n\nChange-Id: I8791a0cbfb32c25a0c73552c47509cce1d5f06e2\n"
    },
    {
      "commit": "1210e8c81bc3fafd49a18dee0ca26ae63d713c71",
      "tree": "85a6e65280f1b217641df617fe5fbd1f3e48cfbc",
      "parents": [
        "97ff9f9d27277b4d94eef0caf1afaae691e0ba6d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 07 17:08:07 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 09 23:00:56 2017 +0000"
      },
      "message": "AAPT2: Workaround for feature splits without namespacing\n\nAndroid Instant Apps in its current iteration does not use namespaces,\nbut due to limitations on the Android resource runtime, needs to make\nit look like it does.\n\nThis is due to a bug that treats any package ID that\u0027s not 0x01 or 0x7F\nas a shared library. Shared libraries require unique package names.\n\nAs a workaround, and since Android Instant Apps can not have a feature\ndepend on another feature, we can alter the resource package name of a\nfeature split just before writing it out to disk. This avoids using a\nunique package name while linking, thereby avoiding namespace issues.\n\nBug: 68820737\nTest: manual\nMerged-In: Ic553ed42656436bbb949393d0248ee7bb9d37860\nChange-Id: Ic553ed42656436bbb949393d0248ee7bb9d37860\n"
    },
    {
      "commit": "81e9ecfc0049883871ba72ecaf0908834e6ae3d5",
      "tree": "7c30097ed6ffce65efd3dc09e82deca3a335b198",
      "parents": [
        "97ff9f9d27277b4d94eef0caf1afaae691e0ba6d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 06 10:44:46 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 09 01:49:58 2017 +0000"
      },
      "message": "AAPT2: Differentiate between Android and Java package names\n\nAndroid package names are more strict (ASCII only) than Java package names.\nAlso fixed an issue where trailing underscores were disallowed in Android\npackage names.\n\nBug: 68468089\nTest: make aapt2_tests\nMerged-In: I1052e9e82b6617db6065ce448d9bf7972bb68d59\nChange-Id: I1052e9e82b6617db6065ce448d9bf7972bb68d59\n"
    },
    {
      "commit": "114616b27dd4f3da313e933a51980e68f5c5cce7",
      "tree": "11897358ca90d547a6f32872e9cfedc764545b1a",
      "parents": [
        "42884cf71da00b54ce86a6f2ca5f3eb61e2e7e09",
        "c8f5fc284cc635f7056307e55121e439b21ac83a"
      ],
      "author": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Wed Nov 01 15:49:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 01 15:49:39 2017 +0000"
      },
      "message": "AAPT2: Allow for nested inline xmls\nam: c8f5fc284c\n\nChange-Id: Ie80ba078d893d1b894d289645dae84fa2af58c40\n"
    },
    {
      "commit": "c8f5fc284cc635f7056307e55121e439b21ac83a",
      "tree": "5076d7cc590aa4cb8d7bada63302642d49acc421",
      "parents": [
        "49767aa7f70462cf4b6a1bcdf3832eb6e74f9d65"
      ],
      "author": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Mon Oct 30 19:06:23 2017 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Oct 31 23:13:03 2017 +0000"
      },
      "message": "AAPT2: Allow for nested inline xmls\n\nAdd recursion to InlineXmlFormatParser::Consume for handling nested\naapt:attr\n\nChange-Id: Iabf98945b4f5ef22a3b8fdc4ca2bac092a377629\nFixes: 64385167\nTest: make aapt2_tests\n(cherry picked from commit 7b6b02bd13aea90b938c3ab3b1eaa3fb5043f931)\n"
    },
    {
      "commit": "2461194985fac8b2933e4bd3e75f4006341aecf1",
      "tree": "357176f155712254ee3f9165e3434cd8180031a4",
      "parents": [
        "b5154d71b2689e6d47177b6a6a53533388d58b12",
        "315bbfc21316f24925c64079ee34b24063929a07"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 25 05:39:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 25 05:39:06 2017 +0000"
      },
      "message": "Merge changes from topic \"keystorebp\" am: a12eab69d1\nam: 315bbfc213\n\nChange-Id: I5ac8aa1079a4fdb23a8745e9998d947c85c98e7f\n"
    },
    {
      "commit": "ec4dbd4d401b1c9a3b0a9ca24cfa98e9800ccb95",
      "tree": "c41e524f1a9654546ad061dada4075e3c1556181",
      "parents": [
        "d303f80780be4eedc0c1b6d12a7de7a35481d4ca",
        "d476e2902f4c96578b59a7c7d2853a1acc2b3973"
      ],
      "author": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Tue Oct 24 23:27:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 24 23:27:27 2017 +0000"
      },
      "message": "Merge \"AAPT: treat \"-I\" with lower precedence than main APK for dumping.\" into oc-mr1-dev\nam: d476e2902f\n\nChange-Id: I3ee9ce17439f2a4378c890b954c57a7049fbe036\n"
    },
    {
      "commit": "d476e2902f4c96578b59a7c7d2853a1acc2b3973",
      "tree": "ed13d9492a44a9093364901763d8a7458270ac89",
      "parents": [
        "81831f89ce65ee275652f95322cc167f54da7c85",
        "94251fac62b12f030c404132a395fdef73e7ab29"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 24 23:17:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 24 23:17:34 2017 +0000"
      },
      "message": "Merge \"AAPT: treat \"-I\" with lower precedence than main APK for dumping.\" into oc-mr1-dev"
    },
    {
      "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": "fa1d67a6f88fcbfdb3d91e59a2ceac1f9003cda6",
      "tree": "c87c3554cfac0ca44484cdf78f81e16820698789",
      "parents": [
        "b08aa082a400274606093a4b163560cf31914b1c",
        "81831f89ce65ee275652f95322cc167f54da7c85"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Oct 24 16:36:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 24 16:36:28 2017 +0000"
      },
      "message": "Merge \"AAPT leave \u003cgradient\u003e alone for VDC\" into oc-mr1-dev\nam: 81831f89ce\n\nChange-Id: I0ee4801c31a63b8e617adb053a773456814b65ff\n"
    },
    {
      "commit": "81831f89ce65ee275652f95322cc167f54da7c85",
      "tree": "d4e1c6aaca7b0e8da4cd6baf1b860fb6ec6030fc",
      "parents": [
        "72b3d46794cf1630f5938bd6c50568d96037abe9",
        "f49cce3aa6f625cfc7288886c044992e1580dbbc"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Oct 24 16:22:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 24 16:22:49 2017 +0000"
      },
      "message": "Merge \"AAPT leave \u003cgradient\u003e alone for VDC\" into oc-mr1-dev"
    },
    {
      "commit": "b08aa082a400274606093a4b163560cf31914b1c",
      "tree": "7e103839fd2146c92f118c1b443b4408bbf99fb2",
      "parents": [
        "bbb2eb3f59e05bdb3d5a01afd8c44bcf41aacb5b",
        "72b3d46794cf1630f5938bd6c50568d96037abe9"
      ],
      "author": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Tue Oct 24 11:31:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 24 11:31:04 2017 +0000"
      },
      "message": "Merge \"AAPT2: Sanitize resource qualifiers before using in split names.\" into oc-mr1-dev\nam: 72b3d46794\n\nChange-Id: I1f87fce18c665433ad916ac47cd3f78ae007c776\n"
    },
    {
      "commit": "72b3d46794cf1630f5938bd6c50568d96037abe9",
      "tree": "1d69e62e629a3b057ca3420414d2f4c8ee88d246",
      "parents": [
        "6575d483cc12747e8f6790e369ed59c15e3ff91a",
        "50bae79111afcdb8d36d73cac15155cb61df2dc0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 24 11:16:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 24 11:16:03 2017 +0000"
      },
      "message": "Merge \"AAPT2: Sanitize resource qualifiers before using in split names.\" into oc-mr1-dev"
    },
    {
      "commit": "bbb2eb3f59e05bdb3d5a01afd8c44bcf41aacb5b",
      "tree": "c8ff043d55d838c20adb799f0ff367cf0e08e349",
      "parents": [
        "46080df91155ead6635e61a2cf95772013643cc2",
        "4927808d39d3dd78a36cde8a9134546ba8316728"
      ],
      "author": {
        "name": "Benoit Lamarche",
        "email": "benoitlamarche@google.com",
        "time": "Tue Oct 24 10:13:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 24 10:13:58 2017 +0000"
      },
      "message": "Merge \"Use ASM6 Opcodes everywhere in locked_region_code_injection\" am: 5aa4dafa58\nam: 4927808d39\n\nChange-Id: I718efd7536331508531bb7c30dfab3638ef60d0e\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": "710fac6ab7f146ea074061d6bdce68e53a3845ca",
      "tree": "0420b99e62f4c8dbb0b6e063a461a9b8c77c0f3e",
      "parents": [
        "465554861752f7742d783c53e65b4427af9f0e82",
        "baa428031abdf83d51244e14ad0c7cb36001ba31"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Oct 22 02:16:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 22 02:16:44 2017 +0000"
      },
      "message": "Merge \"Use final release of ASM 6.0\" am: d5d697b023 am: a74b04cd70\nam: baa428031a\n\nChange-Id: I439fa4aa9f2fb22f372a6a76ab07676c0c51e429\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": "5fae742a1e5ff0dcfa870b4521a9db796d9db4f9",
      "tree": "bcf8bf8daa9104dac52ab956e837820327c18239",
      "parents": [
        "2cd25cfceea22ba221d137d8f3e8494778a4c8f6",
        "8da74b1bfdf4568788223e91c161591235b4ad42"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 19 21:43:31 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 19 21:43:31 2017 +0000"
      },
      "message": "Merge \"AAPT2: Ensure strings are sorted by configuration\" into oc-mr1-dev\nam: 8da74b1bfd\n\nChange-Id: Ifd3555db424136fe8a8057504df414f41fb020a1\n"
    },
    {
      "commit": "8da74b1bfdf4568788223e91c161591235b4ad42",
      "tree": "81577dcae70709165a6b148f8729c9b710169695",
      "parents": [
        "4b7f43bcae20e5fe0f452098c70359e6d54885c5",
        "8a0b238b1344dae0042bbb17b71c0c3b9b881f22"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 21:31:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 19 21:31:10 2017 +0000"
      },
      "message": "Merge \"AAPT2: Ensure strings are sorted by configuration\" into oc-mr1-dev"
    },
    {
      "commit": "50bae79111afcdb8d36d73cac15155cb61df2dc0",
      "tree": "6a3553b683236880a512e72575887b4746b830a2",
      "parents": [
        "db768d45e0f9d3fb9928257324249a9cdad7b539"
      ],
      "author": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Wed Oct 18 23:51:18 2017 -0700"
      },
      "committer": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Thu Oct 19 19:49:01 2017 +0000"
      },
      "message": "AAPT2: Sanitize resource qualifiers before using in split names.\n\nFixes: 67960909\nTest: UtilTest.SplitNamesAreSanitized\nChange-Id: I9ba1b8430a00cc7ce981075a60388f275c41dbea\n(cherry picked from commit b8f078c9a0c9f32ad84c475c26299ecb00962ffa)\n"
    },
    {
      "commit": "8a0b238b1344dae0042bbb17b71c0c3b9b881f22",
      "tree": "08e3b0916bdee1b41d98a58e9049b9938ee6b10b",
      "parents": [
        "85e7dbc93ee35d134a75a352093baf29127715ea"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 18 15:07:33 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 18 15:12:42 2017 -0700"
      },
      "message": "AAPT2: Ensure strings are sorted by configuration\n\nKeep strings sorted by configuration so that strings likely\nto be selected (all match the same locale, for instance) are\nclose together.\n\nBug: 67958501\nTest: make aapt2_tests\nChange-Id: Id17d93bf2e03ce408a6f619d3ea6dc313e393b76\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": "94251fac62b12f030c404132a395fdef73e7ab29",
      "tree": "e75a6bbec24a097fd5579e0139892b77545a3169",
      "parents": [
        "69780830e5b07b3949b847c2837aa5b01f8fc3b3"
      ],
      "author": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Thu Oct 12 21:00:45 2017 -0700"
      },
      "committer": {
        "name": "Donald Chai",
        "email": "dchai@google.com",
        "time": "Tue Oct 17 19:14:52 2017 +0000"
      },
      "message": "AAPT: treat \"-I\" with lower precedence than main APK for dumping.\n\nThis is the desired behavior if resource IDs may overlap, and also happens to\nimprove the behavior of:\n\n  aapt dump -I base.apk badging feature.apk\n\nwhen both APKs use the same package name with different package IDs\n(base\u003d0x7F, feature\u003d0x80).  Previously, the final call to\nDynamicRefTable::addMapping was for base.apk, and all references to 0x80 were\nrewritten in DynamicRefTable::lookupResourceId to 0x7F.  After this\nchange resources defined in both APKs are resolved correctly.\n\nNote that this is a bit of kludge, and APKs should use different names\nto avoid conflating the package IDs.\n\nFixes: 67070085\nBug: 64058531\nTest: manual with sample in b/67070085#comment2\nChange-Id: I285adb6f44a297440b08fc7a1f9ad73c700eb9bc\n(cherry picked from commit d1ac6e1f9ea3a4d6c0d6d4a118c61526b8234a5f)\n"
    },
    {
      "commit": "f49cce3aa6f625cfc7288886c044992e1580dbbc",
      "tree": "65c5fd21daf585acf09e6ba546513b3fe9edb1b6",
      "parents": [
        "2806975bfbf83e1ff0617ccb8cdb793af3721b0f"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 13 15:56:08 2017 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Oct 16 20:24:51 2017 +0000"
      },
      "message": "AAPT leave \u003cgradient\u003e alone for VDC\n\nbug: 62421666\nTest: Tested with changes for Gradient of VDC.\n\nChange-Id: I07b39721aeaaafd888416a0f71f6cbd5fce97732\n(cherry picked from commit ab2a38c03d54fad1ed0873ac091959ee38823cd6)\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"
    }
  ],
  "next": "896f01879b424e4f37e65bcf546dc9d5cd712e25"
}
