)]}'
{
  "log": [
    {
      "commit": "e78fd617ec60139a973a01925fa7adad31febb39",
      "tree": "b64f9590b16dfb2e6e9ea8bf2eb5d54a02230b0a",
      "parents": [
        "3b7acbb86207df78eccfeb40aabcc8543703a58f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 22 12:48:43 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 22 16:35:47 2015 -0700"
      },
      "message": "AAPT2: Move comments and source into Value\n\nValues are closely related to where they were defined, so\nthis information should live inside the Value.\n\nThis also enables comments to be attached to nested Values.\n\nChange-Id: Ic7481b5a5f26d0ef248d638e2e29252f88154581\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": "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": "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": "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": "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"
    }
  ]
}
