)]}'
{
  "log": [
    {
      "commit": "986d3f2eee7bbfbb588aa0e26f250d4016769ff2",
      "tree": "52d4e7c531d173f809b3b049da0b4f0dccc65c1f",
      "parents": [
        "43b69c60b43605314fa9761e27a58bfe62337674"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 13 20:21:17 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 13 20:21:17 2015 -0700"
      },
      "message": "Fix pessimizing move.\n\nUsing std::move here prevents the compiler from performing copy\nelision.\n\nChange-Id: I80e98229359bdff5873be602d85ae6c502c67c1d\n"
    },
    {
      "commit": "51348d2007b801c7bd7350f72e2300f1a5a41dd1",
      "tree": "6c9034eed32755e3e63715753645f8b8b4a416a9",
      "parents": [
        "c25f41917ee5cb7be00107743a799f1e533639b6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 21 11:39:21 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 21 11:39:21 2015 -0700"
      },
      "message": "aapt: expat exports its header files now.\n\nChange-Id: Iddf0133919d38fc896f97c6796f8228a6decf174\n"
    },
    {
      "commit": "6cc479b76e9e2e8858434302e1ef2d514ed1b0ec",
      "tree": "3bc2ca1ed297786809dac34b9e0c067586636d8b",
      "parents": [
        "6cb8e30bb7e79cb694bf44d185da201e9deb9363"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jun 12 15:45:48 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jun 12 17:12:04 2015 -0700"
      },
      "message": "AAPT2: Remove the need for specifying package name in compile phase\n\nThe compile phase doesn\u0027t use the AndroidManifest, so we had to specify the\npackage name on the command line.\n\nWe can omit the package name, since we don\u0027t resolve external references\nin the compile phase. Packages that reference the current package will be encoded\nwith no package name. When loaded by the link phase, the package name will be supplied\nand all the references with no package name will use that one.\n\nChange-Id: I9fe4902b747b06899b45c968f30ba1aa05c5cd69\n"
    },
    {
      "commit": "a1ad4a812a87642ad259ff4478159e8cc8194680",
      "tree": "eff82221ed22a3be824ddf40823b2db3af002fb1",
      "parents": [
        "b5766468538de200d26012d96019db26bccac5d4"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jun 08 11:41:09 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jun 09 11:14:24 2015 -0700"
      },
      "message": "AAPT2: Proguard rules generation added.\n\nChange-Id: Ifbe79516cd9a1ade471e211a259301c63b62ac67\n"
    },
    {
      "commit": "8c831ca87bb7c8699b2a5cb34b8d35deedf9ce4e",
      "tree": "454f5342f3634e3cb2ea858fcf6226ec3b133911",
      "parents": [
        "581cc1ee59d01fe4b4a31618ab4aedfa639e42b0"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed May 20 15:24:01 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jun 04 18:00:33 2015 -0700"
      },
      "message": "AAPT2: Add manifest merging\n\nNow that AAPT2 is library-aware, it needs to take care of\nall library related work, including merging manifests.\nThe logic was taken from the current Java ManifestMerger.\n\nChange-Id: Id93f713f27ae8617922bf89e325e45be9f863c06\n"
    },
    {
      "commit": "75f3a55cc569a9b61f540a85d9828e91bdca5047",
      "tree": "1055d807109f55e29da595938348d87b6ea43326",
      "parents": [
        "4573dddcce3f232d2eeb20bfe0e204e15a9416e9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 03 14:54:23 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jun 04 11:37:05 2015 -0700"
      },
      "message": "AAPT2: Change xml file parsing to DOM based\n\nWe modify the XML of layouts and AndroidManifest enough\nthat it warrants we operate on the tree in memory.\nThese files are never very large so this should be fine.\n\nChange-Id: I5d597abdb3fca2a203cf7c0b40fcd926aecb3137\n"
    },
    {
      "commit": "39c353a6caada777348c14f6dc9abee2d4d9a3be",
      "tree": "697823578d99994617ab8cea0fa002d8b5e5bcbf",
      "parents": [
        "b731c3d944ccf46b7d0115f63b63eee5ab8abf1a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 14 17:58:14 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 14 20:56:10 2015 -0700"
      },
      "message": "AAPT2: Fix layout versioning\n\nChange-Id: I37190cf8a1f0a81c068aeb2b5326b3b3080f75a5\n"
    },
    {
      "commit": "dfa5e0705ff82f15e228ba076bc192893bcbe118",
      "tree": "10dbca8e4feeefc96019fcab8fa08c7943b8c97e",
      "parents": [
        "d13fb249865703901b77f48c5fed1864f06e1c63"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 12 21:42:59 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 12 21:56:43 2015 -0700"
      },
      "message": "AAPT2: Fix issue where @null was wrongly encoded\n\n@null must be encoded as TYPE_REFERENCE with a value of\n0. TYPE_NULL is used by the runtime as a placeholder when resolving\nstyle attributes. If we set a style attribute to TYPE_NULL,\nthe runtime will throw. The runtime will convert a TYPE_REFERENCE\nwith value 0 to a proper null value.\n\nChange-Id: Id983ca7e1fbee3124dddafe32f1b5741b824225b\n"
    },
    {
      "commit": "d13fb249865703901b77f48c5fed1864f06e1c63",
      "tree": "55c4b18e7c0e068a82c5c726cda0326348c5ca1f",
      "parents": [
        "bdaa092a193d8ddccbd9ad8434be97878e6ded59"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 12 20:40:48 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 12 20:45:20 2015 -0700"
      },
      "message": "AAPT2: Debug: Dump only targetted style\n\nChange-Id: Id7c5a4b5d0880520e1fea05e5a31d398946c5f05\n"
    },
    {
      "commit": "bdaa092a193d8ddccbd9ad8434be97878e6ded59",
      "tree": "04310ae0b932078409147cbfa8332d96e76555d1",
      "parents": [
        "330edcdf1316ed599fe0eb16a64330821fd92f18"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri May 08 20:16:23 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 12 20:41:31 2015 -0700"
      },
      "message": "AAPT2: inferred style parent processing\n\nChange-Id: I8fbc4feef16b6039cf4c526fcfb767dc75a9c131\n"
    },
    {
      "commit": "330edcdf1316ed599fe0eb16a64330821fd92f18",
      "tree": "8a9bddd59f53efc836b787565ba206a1d78383e3",
      "parents": [
        "a4492b418d23e3bcdb077aab5d48eb24e932fc13"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 04 17:40:56 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue May 12 20:41:31 2015 -0700"
      },
      "message": "AAPT2: Support static lib referencing static lib\n\nWhen a static library A references static library B,\nand app C references both A and B, we get the following symbol merging,\nsymbols from library B get imported twice.\n\nWe must only check that symbol references to library B are valid\nwhen building library A. We should only merge all the symbols\nwhen building final app C.\n\nChange-Id: I23cba33b0901dcbb5328d9c9dfaa6a979c073c36\n"
    },
    {
      "commit": "d1808401ca3bfd6b6b9a975c1e739b194d18f849",
      "tree": "50c16a5c966772fd3b3ac4f7d2e79c97252935c7",
      "parents": [
        "44b60be189183138437a3faf9a73388af0efcf44",
        "059ded5a7b7389b7eefc2502bd712228931ed107"
      ],
      "author": {
        "name": "Prerepa Viswanadham",
        "email": "dham@google.com",
        "time": "Tue May 05 01:05:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 05 01:06:38 2015 +0000"
      },
      "message": "Merge changes from topic \u0027mwd-merge-050415\u0027 into mnc-dev\n\n* changes:\n  Merge commit \u0027b6f59f4\u0027 into master_merge\n  Merge commit \u0027f6db0ce\u0027 into master_merge\n  Merge commit \u002717455a3\u0027 into master_merge\n  Merge commit \u0027b4d5b32\u0027 into master_merge\n  Merge commit \u0027a1a2fa7\u0027 into master_merge\n  Merge commit \u00278dfdb98\u0027 into master_merge\n  Merge commit \u0027eba66c3\u0027 into master_merge\n"
    },
    {
      "commit": "6d8e4c48f94f36963a25e357ff960ee519cf0e1b",
      "tree": "4e7a4e03e286a54f9e9523d8d8ccf2e0f1dbac3d",
      "parents": [
        "838a68705bc79527e592265371cbe4d8e888d9d9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri May 01 14:47:28 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 04 16:43:24 2015 -0700"
      },
      "message": "AAPT2: Add option to generate static library\n\nDifference between normal app and static library is that\nthe R file uses non-final fields, and the extra chunks added\nby AAPT2 remain in the final APK.\n\nChange-Id: I61416387ca9bb3c21857ff7cfab5847ac3edf57a\n"
    },
    {
      "commit": "838a68705bc79527e592265371cbe4d8e888d9d9",
      "tree": "63986bf6eb70a6af4c0298e9aa0393b4266cd92f",
      "parents": [
        "6ff19664f9279023c96e5a65c3059e1ef4beac0f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri May 01 13:14:05 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 04 16:43:24 2015 -0700"
      },
      "message": "AAPT2: Include package name of attributes in styleable from another package\n\nChange-Id: I44f902e297238e7ee4ae27c02aaaf9e148652d2a\n"
    },
    {
      "commit": "6ff19664f9279023c96e5a65c3059e1ef4beac0f",
      "tree": "f193586403acb034359ffbba1f9211827918fe07",
      "parents": [
        "24aad163bc88cb10d2275385e9afc3de7f342d65"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 30 17:40:46 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 04 16:43:24 2015 -0700"
      },
      "message": "AAPT2: Record public status in a more robust way\n\nThis allows us to store the source and comments of a resource\u0027s\npublic declaration and avoids issues where there is no default\nconfiguration for a publicly declared resource (like with drawables\nof various densities) and AAPT2 mistakenly took this as an error.\n\nChange-Id: I07a2fe9f551daefcce842f205fb219d2fa453ebc\n"
    },
    {
      "commit": "24aad163bc88cb10d2275385e9afc3de7f342d65",
      "tree": "361fc0b3fbef5f68a16f357ae9d2bed5e93efbf5",
      "parents": [
        "ab2581398c812917145088590bd18eb83f3a2ea6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 24 19:19:30 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 04 16:43:24 2015 -0700"
      },
      "message": "Add namespace handling in attribute values\n\nPreviously, you could only reference namespace prefixes in attribute names:\n\n\u003cView xmlns:appcompat\u003d\"http://schemas.android.com/apk/res/android.support.v7.appcompat\"\n      appcompat:name\u003d\"hey\"\n      ...\n\nNow you can also reference them in resource names within an attribute value:\n\n      ...\n      android:text\u003d\"@appcompat:string/confirm\"\n      ...\n\nWhich will be treated as \"@android.support.v7.appcompat:string/confirm\".\n\nChange-Id: Ib076e867a990c80cf877a704eb77cd1ef0b23b52\n"
    },
    {
      "commit": "231e054dfd9dfc2e51ecd41dca5e8d93ae648954",
      "tree": "39b171cebe83d33bcc3ec4aee6a7edc0d62d5754",
      "parents": [
        "40801e3d21aaf6b13f75f84904e0cc6692c971b3"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 29 16:32:23 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 29 16:32:23 2015 +0100"
      },
      "message": "Add a libbase static depedency for aapt2.\n\nRequired by libziparchive.\n\nChange-Id: Ifa33c9e44ebd583cf58b8a1239061c613fde92bc\n"
    },
    {
      "commit": "d5c4f8723c2b2c85b588fa07a5d4e7afb671d257",
      "tree": "33d2fcaa40a7abf16041ceb522b799ef5534a97f",
      "parents": [
        "d981c0d4f01bb25ba378e865952cf9d48109b9fe"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Apr 21 13:56:10 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 22 17:34:55 2015 -0700"
      },
      "message": "Properly mangle file names\n\nChange-Id: I49c0f82e8c06f056198eb64b8369d83403b74321\n"
    },
    {
      "commit": "5886a92eb6dde5a406a62926f2914a908ca18d35",
      "tree": "e7b70eb90a9bc39dc283b591d88ebe1bc012fbc5",
      "parents": [
        "769de98f2dd41bfe39a1c9f76aefd1ad58942733"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 15 20:29:22 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 15 20:29:48 2015 -0700"
      },
      "message": "Fix up the command line, add flags.\n\nChange-Id: I420bd0212fc7541668bd095b88295564d3d11f6c\n"
    },
    {
      "commit": "769de98f2dd41bfe39a1c9f76aefd1ad58942733",
      "tree": "3d79143b08f02dfb61158689f51e01eeb1bb371e",
      "parents": [
        "9310e4285b3fc951c3524d040726d1161015562c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 10 19:43:55 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 15 19:56:59 2015 -0700"
      },
      "message": "AAPT2: Add library support\n\nChange-Id: I307f56d9631784ab29ee4156d94886f9b2f25b30\n"
    },
    {
      "commit": "c7e2432dec68431d4dd9a8466f47a5761197d00a",
      "tree": "3062d4a67b87aae8ad5c83cf0b228a9e5211d53b",
      "parents": [
        "4d3a987694f6f6b95d8a0f1542618223ce253e6d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 10 15:52:36 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 10 19:07:51 2015 -0700"
      },
      "message": "AAPT2: Create Makefile\n\nMakefile that uses zip for assembling the final APK. This is temporary and\nhelps speed up the rest of development.\n\nHas to add a new \u0027manifest\u0027 phase that simply compiles the AndroidManifest.xml.\nManifests are handled differently and must be validated.\n\nChange-Id: I0d8255b3ad0d0b0a322683077e3331ca93e37fa0\n"
    },
    {
      "commit": "4d3a987694f6f6b95d8a0f1542618223ce253e6d",
      "tree": "2cd3a420ba07991db07d0b31d7a93030754d3cb9",
      "parents": [
        "a826c4b7a4c7ffd471973d58e46ac6f1f2cad83a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 09 19:53:22 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 10 15:25:39 2015 -0700"
      },
      "message": "AAPT2: Adding basic binding support\n\nThis is incomplete. Still requires:\n\n- filling in layout information in the resulting .bind.xml\n- processing elements with \u003cview class\u003d\"\"/\u003e\n- processing imports\n\nChange-Id: Ie5d4c5e6435591bbed3248129a548736244894eb\n"
    },
    {
      "commit": "98aa3ad6e46e3b0270785c8b3f9798e37e8af140",
      "tree": "268c3dbfbf8fb92e2e13610700e475f565c760ad",
      "parents": [
        "0dfd7fba38d0ae5172903ada322e76ed99002008"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Apr 06 11:46:52 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 09 17:19:06 2015 -0700"
      },
      "message": "Add PNG and 9-patch support\n\nChange-Id: I9ecdfdf82b82d59084490da518e167e256afd5f2\n"
    },
    {
      "commit": "feefeb4f308261907f5ea5705d66736d45633a27",
      "tree": "6e9aba15640fdaa34cdc7a24cf6003326c939360",
      "parents": [
        "ca2fc353c2b07e24e297fdc8426c7abd601d908b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 03 12:44:40 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 03 12:44:40 2015 -0700"
      },
      "message": "AAPT2 statically link libz on Windows builds\n\nChange-Id: I2abf47273173c470c04e00a54aa619fe1ce0e745\n"
    },
    {
      "commit": "ca2fc353c2b07e24e297fdc8426c7abd601d908b",
      "tree": "2f9242af3558209ac265fb7d2d1164652f78d8de",
      "parents": [
        "7e3a19ac85d30abade971d8d0a948b4599d97c9e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 03 12:08:26 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 03 12:33:02 2015 -0700"
      },
      "message": "Fix windows build of AAPT2\n\nChange-Id: Ib8e1a4322510b582e9600a08d3118842c9abc73c\n"
    },
    {
      "commit": "1fce4f9c898d8053f4721e0f6ed85c9d07589f24",
      "tree": "d7f5619e721b042af3fdc2c39cdf4c8e144b3668",
      "parents": [
        "f8515ea431e4171bce058944f05edd03497ad07b"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Apr 02 20:23:22 2015 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Apr 02 20:31:17 2015 -0700"
      },
      "message": "aapt2: fix definition of G in Util.h\n\nChange-Id: Icbefa425cf543f130deabab9e2e2e6c13ab672d3\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "6f6ceb7e1456698b1f33e04536bfb3227f9fcfcb",
      "tree": "0a1f8e354c4714f162f849b09a5d5da757c6d5b8",
      "parents": [
        "041ca26d028ae314d416cb107721ea7267af6aca"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Nov 14 14:48:12 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Apr 02 17:02:48 2015 -0700"
      },
      "message": "AAPT2\n\nFirst checking of AAPT2. The individual phases of AAPT2 work, but there\nare some missing pieces.\n\nFor early testing we are missing:\n- Need to properly mark file references and include them in package\n- Need to package into zip\n\nFinal AAPT for apps we are missing:\n- Need to crush PNGs\n- Need to parse 9-patches\n- Need to validate all of AndroidManifest.xml\n- Need to write align method to align resource tables for splits.\n\nFinal AAPT for apps + system we are missing:\n- Need to handle overlays\n- Need to store comments for R file\n- Need to handle --shared-lib (dynamic references too).\n\nNew AAPT features coming:\n- Need to import compiled libraries\n    - Name mangling\n    - R file generation for library code\n\nChange-Id: I95f8a63581b81a1f424ae6fb2c373c883b72c18d\n"
    }
  ]
}
