)]}'
{
  "log": [
    {
      "commit": "803c7c807969bea1f1c50f348832f5b60ad05d8e",
      "tree": "03237f2437312596e744d382aac3bf800c92c59d",
      "parents": [
        "50e439df28f1ceb76c229543f93f0b3f6ea05793"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 16:09:43 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 16:24:02 2016 -0700"
      },
      "message": "AAPT2: Enable windows build and make sure it builds\n\nMingw32 4.8 is kind of picky with macros and some complicated template\nstuff. Luckily there was another way to represent the\nSFINAE code that works on all platforms. Yay!\n\nChange-Id: Idc2e38f47bfdc57b394550bfa0f53cc0b825df25\n"
    },
    {
      "commit": "cc5609d8e484ec82ef1dced793af7f674f059b1c",
      "tree": "0a0197eeecb0f1d8cf6106b38c8043f4356b960e",
      "parents": [
        "9d8ec0f12ee67129afb4020aa1d91599073cfeab"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Apr 05 12:41:07 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 06 11:37:05 2016 -0700"
      },
      "message": "AAPT2: Implement XmlActionExecutor to verify manifest\n\nDefines a set of actions to perform on XML elements defined by their\nhierarchy, eg: manifest -\u003e application -\u003e activity.\n\nThis can be used to easily add rules to check more tags in AndroidManifest.xml\n\nChange-Id: I76c6916a98b6403075a7e56e16230979dc6cbee1\n"
    },
    {
      "commit": "6cbfb1de493e42d937158ed57495c9656864ccba",
      "tree": "cfc5c985a647ba2282904b028e20409d45b43635",
      "parents": [
        "becc30196dbd6ebe68726c984a448c90fa6ef167"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 31 13:33:02 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 31 16:43:04 2016 -0700"
      },
      "message": "AAPT2: Change how we generate Java classes\n\nPreviously we would be writing out the Manifest.java file as we\nprocessed the AndroidManifest.xml. This would lead to empty\nManifest classes if there were no permissions or permission groups\ndefined in the AndroidManifest.xml.\n\nThis would pose problems for processes that checked for public classes\nand considered them part of the API (support lib).\n\nNow we collect the structure of the Java class in memory before deciding\nif a file should be created.\n\nChange-Id: I6b909f28d74356414c6ef5ad005180d6ea5e44ca\n"
    },
    {
      "commit": "f4ab612684ebc139b53dcc4960f99d9c025d7c8c",
      "tree": "e266d0325340a083f4137a73d4171dcb8b9d6552",
      "parents": [
        "a871c3104b6ae77eeee2b8d8bdb3371a0788c9a8"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 10 19:24:00 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Mar 11 07:20:49 2016 +0000"
      },
      "message": "AAPT2: statically link protobuf library\n\nChange-Id: I0bce42dfef2f11181c6407839875c97f88445dbd\n"
    },
    {
      "commit": "96917c25f09bb2f33e22f20cdfa4ece8f310b084",
      "tree": "3ceb11cdc8d6dfc3dd399a01e648bda0d91dea05",
      "parents": [
        "0dda14c671e7c19841f963b0bc665da055738437"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Mar 09 13:11:25 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Mar 09 13:23:12 2016 -0800"
      },
      "message": "AAPT2: Fix file::mkdirs when given absolute paths\n\nfile::mkdirs would try to extract the first part of the\npath \u0027/path\u0027 which would be the empty string \u0027\u0027. Mkdir would\nfail creating the empty string directory.\n\nChange-Id: Ice8ba92135f145f52f3663499a2c49eebe797328\n"
    },
    {
      "commit": "64587af8179affd38ee26543b748f2d63b7f67bb",
      "tree": "bf4eb34ea2bc5ce357e23dc6ac0572d9366f7d8e",
      "parents": [
        "bd4b217a289edca382b63f2bf5d1dd2017e9cf2e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 18 18:33:06 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Mar 04 14:39:01 2016 -0800"
      },
      "message": "AAPT2: Support building, linking, and merging static libraries\n\nAndroid static libraries are like APKs but they contain much more debugging\nand source information. We need to treat them differently in 3 ways:\n\n1) When building a static library, we skip things like ID assignment and\n   product/config stripping. Source information is emitted as well.\n2) When building a static library and linking against another\n   static library, we don\u0027t want to merge, we want to simply reference.\n3) When building an app that uses static libraries, we want to merge\n   the static library under the same package with or without mangling.\n\nBug:25958912\nChange-Id: I425e032857936a3e83173c1edc2a6cdc6020b842\n"
    },
    {
      "commit": "355f285ffd000f6cfe76680eb22d010546d124bb",
      "tree": "94d86559ba73ed2f482af1f296ef56374776a8f6",
      "parents": [
        "e4735a99598bf29847a9f12dd7fae6d7df880bc4"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Feb 13 20:26:45 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 17 18:17:25 2016 -0800"
      },
      "message": "AAPT2: Implement density stripping and initial Split support\n\nWhen a preferred density is supplied, the closest matching densities\nwill be selected, the rest stripped from the APK.\n\nSplit support will be enabled in a later CL. Command line support is still\nneeded, but the foundation is ready.\n\nBug:25958912\nChange-Id: I56d599806b4ec4ffa24e17aad48d47130ca05c08\n"
    },
    {
      "commit": "e4bb9eb5af5b0899dc0921d5580220b20e15bd5a",
      "tree": "d522014811735f3bdba1f916d83dc699189a14b9",
      "parents": [
        "59e04c6f92da584b322c87072f18e6cab4de4c60"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 12 22:18:51 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 12 22:21:48 2016 -0800"
      },
      "message": "AAPT2: Introduce notion of \u0027product\u0027 to ResourceTable\n\nThis allows us to preserve the various product definitions during the compile\nphase, and allows us to select the product in the link phase.\n\nThis allows compiled files to remain product-independent, so that they do not need\nto be recompiled when switching targets.\n\nBug:25958912\nChange-Id: Iaa7eed25c834b67a39cdc9be43613e8b5ab6cdd7\n"
    },
    {
      "commit": "59e04c6f92da584b322c87072f18e6cab4de4c60",
      "tree": "c08dd13ae57f9b6000441035201f226d532f8896",
      "parents": [
        "41466449aae2d304cf05680f5adbf44312d7a65e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 04 15:59:23 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 09 19:59:17 2016 +0000"
      },
      "message": "AAPT2: Switch to protobuf for intermediate format\n\nWithout needing to conform to the runtime data format,\nit is much easier to add new features such as debugging symbols\nand carrying over product data to link time.\n\nThis also simplifies the runtime format parser and serializer,\nwhich will change much less frequently than the protobuf intermediate\nformat.\n\nChange-Id: I209787bbf087db0a58a534cb8511c51d21133e00\n"
    },
    {
      "commit": "6a008170cb18666e04c42856f992fc7a0afa1e1f",
      "tree": "5998b2ccc5c4e4006f6b0ab5ed37b40f7502b9dd",
      "parents": [
        "e909d94e03e2bd3eba0bb47b6295ae0bf6538c31"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 02 17:02:58 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 02 17:02:58 2016 -0800"
      },
      "message": "AAPT2: Support -c configuration filtering\n\nChange-Id: I1e5855ca73440bdc30c21bcbc1dfdd31a9842363\n"
    },
    {
      "commit": "393b5f0d6130d3848dd82075986a5cf40c09ce44",
      "tree": "5643311ac74ad383b2efa37fee2f3d21878cf6d8",
      "parents": [
        "24b8ff0faf7c59323d0171cdd825ca09e712aa1e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 17 13:03:11 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 12:05:41 2016 -0800"
      },
      "message": "AAPT2: Port AAPT pseudolocalization to AAPT2\n\nPseudolocalization happens at the compile phase. Pseudolocalized\nvalues are weak, such that manually specified values will take precedence.\n\nChange-Id: I5e064ce0d270c9f4f9022f75aecedab9d45bc980\n"
    },
    {
      "commit": "a6fe345be955368a13aea76aefb4db821aad11df",
      "tree": "c5385f798a6e1fb674f6f13c0f323726258618ca",
      "parents": [
        "01655232371d7c7ea5b58ccf66ad99917072018a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 09 15:20:52 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 10 16:24:15 2015 -0800"
      },
      "message": "AAPT2: Fix overlay support\n\nSupports the \u003cadd-resource\u003e tag and mimics old AAPT behavior of\nnot allowing new resources defined unless \u003cadd-resource\u003e was used\nor --auto-add-overlay was specified.\n\nChange-Id: I9b461137357617ade37fd7045b418b8e6450b9c4\n"
    },
    {
      "commit": "467f171315f9c2037fcd3eb5edcfabc40671bf7b",
      "tree": "3b14762e3d9e42a660479d0d5722883b391f835b",
      "parents": [
        "abf83cbe4f63cd76043aab89cd0e08525560fea2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 16 17:35:44 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 19 14:46:53 2015 -0800"
      },
      "message": "AAPT2: Fail compiling when private symbols are referenced\n\nAlso moved some XML specific stuff into its own directory,\nand refactored ReferenceLinker a bit.\n\nChange-Id: I912247a82023c1bbf72dc191fbdaf62858cbec0c\n"
    },
    {
      "commit": "b274e35abfbbd09e0fce983a215c11522c56cce2",
      "tree": "a30ba5aac504bbdfde8ac6931cb8471a46f6e284",
      "parents": [
        "557b64abad9915f92a9d35c748766e873f3a29fd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Nov 06 15:14:35 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Nov 06 16:37:57 2015 -0800"
      },
      "message": "AAPT2: Fix inclusion of comments in R.java javadoc\n\nComments weren\u0027t being copied when merged from the various\nresource tables.\n\nAlso refactored the JavaClassGenerator to omit a class\nif no entries exist for it.\n\nChange-Id: I6eaa89b7b3715bc05403635a2baf0d1db3efd142\n"
    },
    {
      "commit": "2ae4a877d1623f851040ce69239552c873f1abf0",
      "tree": "b13fd89771d05c8f5471218695c9eff5ab287b23",
      "parents": [
        "3b4cd94034ff3e5567a2ba6da35d640ff61db4b9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 02 16:10:55 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 02 16:56:34 2015 -0800"
      },
      "message": "AAPT2: Add Manifest fixing/validation\n\nChange-Id: I7f6d8b74d1c590adc356b4da55cb6cb777cdf1da\n"
    },
    {
      "commit": "ca5638fd85098c3d0a699492751043545f75553a",
      "tree": "9ede79caee33fc201b2d5a2da994a77fa25a7c2c",
      "parents": [
        "030cfd3da697d51bf1bffd076881c12acedd851e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 21 14:42:43 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 30 13:51:11 2015 -0700"
      },
      "message": "AAPT2: Support generating Manifest.java\n\nThis includes comments from AndroidManifest.xml.\n\nChange-Id: I412d9ecb12bad20a49a683d6b3bea4a0be1235ae\n"
    },
    {
      "commit": "1ab598f46c3ff520a67f9d80194847741f3467ab",
      "tree": "4846790211599fdd7a9bb35ec94df4a6ec4839d6",
      "parents": [
        "547c346bb34878b691fd53e54aa3a88efcc5dc6f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 14 14:26:04 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 16 12:13:08 2015 -0700"
      },
      "message": "AAPT2: Separate out the various steps\n\nAn early refactor. Some ideas became clearer as\ndevelopment continued. Now the various phases are much\nclearer and more easily reusable.\n\nAlso added a ton of tests!\n\nChange-Id: Ic8f0a70c8222370352e63533b329c40457c0903e\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": "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": "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": "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": "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": "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": "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"
    }
  ]
}
