)]}'
{
  "log": [
    {
      "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": "52364f7ae31716d7827ea8f8566f4a28bd30a921",
      "tree": "ce146fb6dc5e9f9b1166964b77273b6481f8258b",
      "parents": [
        "d901155166983adde84d9da2a6b265371191068a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 11 13:10:24 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 13 18:48:24 2016 -0800"
      },
      "message": "AAPT2: Variety of small fixes to get the build working\n\n- Add option to rename package in AndroidManifest.xml\n- Support default versionName and versionCode\n- Accept True and False as valid booleans\n\nChange-Id: I400e350b9dcd0fd1c197d1929144299c7823617d\n"
    },
    {
      "commit": "979ccb2e6f3f1f7f00a448eb440a85daf033dc9e",
      "tree": "fd2e294460c4832e1a450ed333b80a545cfdfc7e",
      "parents": [
        "e5b386d2bbfa0fdf6439850191a24dfc17ee50c3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 11 10:42:19 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 11 10:42:19 2016 -0800"
      },
      "message": "AAPT2: Warn when positional arguments exist and --legacy is on\n\nThis is normally an error, but old AAPT didn\u0027t check for it correctly,\nso many projects violate this. With --legacy, this becomes a warning.\n\nChange-Id: I23647e029930e11b719591cd38609e1b43247e20\n"
    },
    {
      "commit": "7751afc796842bbb24bfbb19bd0fee4a7b7c8a4e",
      "tree": "fad12506e9f244038a186dd8dbe31e87f6bafafe",
      "parents": [
        "198ce1a5e6fbe2cb84263e427032e9715e27379f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 15:45:28 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 16:18:40 2016 -0800"
      },
      "message": "AAPT2: Fix product support\n\nPreviously the default product wasn\u0027t tried if \u0027default\u0027 wasn\u0027t specified on the command line.\nAlso adds support for multiple products.\n\nChange-Id: I1e4872b34bb8d609b6444841a4e7e4dbb3bbb76b\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": "a40e972fdaa68fc486ff90a319195515819068b2",
      "tree": "38b228d8517f63faf67bcb1a6710d2533788a6d6",
      "parents": [
        "1cffc196610891f6669c33404f3ff5b0232b7059"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 24 19:11:46 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 11:14:01 2015 -0800"
      },
      "message": "AAPT2: Support compiling a res/ directory and output to zip\n\nThis allows us to compile an entire directory and output to a single\nfile. This is important to support generated resources in the make\nbuild, since we may not know what resources get generated.\n\nThe link step will accept the zip and read the contents of it as if they\nwere passed in on the command line.\n\nChange-Id: If1a51b0abe772350c24074353eb4989953c2e0cb\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": "83f2255f69729e0e97539e96e5e6161843e85823",
      "tree": "212ce1c375059cc7f1c373ea6110c011d088d954",
      "parents": [
        "27afb9e8894b512b21fcca6ce142f40f1ee16cbb"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Nov 07 11:51:23 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Nov 07 11:51:23 2015 -0800"
      },
      "message": "AAPT2: Disambiguate merging of resources\n\nMerging local app resources is slightly different than merging\nresources from a static library.\n\nLocal app resources may not have a package name set, but we do take interest in the\nID set for the package (should be 0x0 or match the ID of the app we\u0027re building).\n\nStatic library resources have an explicit package name defined for them, so we\nonly merge resources from that package.\n\nChange-Id: I95e559ae94cc1df6972e77a347b1b37a93674c4d\n"
    },
    {
      "commit": "9f22204c3a9ddac4f92573c9ab098e6cf3ed1cb4",
      "tree": "7146efe6062b17d4a5fb63230ac3e8d64b1f2e17",
      "parents": [
        "08322c2152131979a846d399ca6b9bebdbdc0355"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Nov 04 13:51:45 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 05 10:56:32 2015 -0800"
      },
      "message": "AAPT2: Fix small issue with detecting translatable resources\n\nChange-Id: Idd21b5de4d20be06c6f8c8eb5a22ccd68afc4927\n"
    },
    {
      "commit": "9ba47d813075fcb05c5e1532c137c93b394631cb",
      "tree": "1eb9f7adc315ab8ad640249f8ac1888951520f3f",
      "parents": [
        "072c5bdff77e354bdf333c0c1d460cdd1c2e76ae"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 13 11:37:10 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Oct 16 15:50:58 2015 -0700"
      },
      "message": "Filter products during compile phase\n\nUnfortunately there is no good way to deal with products in the link phase.\nProducts are like preprocessor defines in that they are processed early\nand change the composition of the compiled unit.\n\nChange-Id: I6d5e15ef60d29df8e83e059ba857c09333993779\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"
    }
  ]
}
