)]}'
{
  "commit": "833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1",
  "tree": "a57e8389088178108de1424faf41ea3bb87c934a",
  "parents": [
    "5c09e8ad5ee8e67976066366527ee58792551953"
  ],
  "author": {
    "name": "Adam Lesinski",
    "email": "adamlesinski@google.com",
    "time": "Wed Jun 18 15:06:01 2014 -0700"
  },
  "committer": {
    "name": "Adam Lesinski",
    "email": "adamlesinski@google.com",
    "time": "Mon Aug 04 18:48:14 2014 -0700"
  },
  "message": "AAPT support for feature splits\n\nThis change allows the developer to add a base package for\nwhich to build a feature split. The generated resource types\nwill begin after the base APK\u0027s defined types so as not\nto collide or override resources.\n\nMultiple features can be generated by first choosing an\narbitrary order for the features. Then for each feature,\nthe base APK and any preceding features are specified\nwith the --feature-of flags.\n\nSo with a base APK \u0027A\u0027 and features, \u0027B\u0027, and \u0027C\u0027,\n\u0027B\u0027 would be built with\n\naapt package [...] --feature-of A [...]\n\nand \u0027C\u0027 would be built with\n\naapt package [...] --feature-of A --feature-of B [...]\n\nChange-Id: I1be66e3f8df9a737b21c71f8a93685376c7e6780\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e612c0a92a514eba283cb308531658e1cf3a26e8",
      "old_mode": 33188,
      "old_path": "include/androidfw/ResourceTypes.h",
      "new_id": "b56829da49a452f6723f2a6b43dbeaa7171d7ef3",
      "new_mode": 33188,
      "new_path": "include/androidfw/ResourceTypes.h"
    },
    {
      "type": "modify",
      "old_id": "d765b2525ff3125d0848569f1113b60db03de740",
      "old_mode": 33188,
      "old_path": "libs/androidfw/ResourceTypes.cpp",
      "new_id": "cc22564bd904175af59d179b6611e40c52b9d8af",
      "new_mode": 33188,
      "new_path": "libs/androidfw/ResourceTypes.cpp"
    },
    {
      "type": "modify",
      "old_id": "d829b7603ad8c790ff04237f4e0beb3ac0a4fd40",
      "old_mode": 33188,
      "old_path": "libs/androidfw/tests/Idmap_test.cpp",
      "new_id": "7a4d1ad6d345f7b9acbbc1817d44155052217daf",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/Idmap_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "54d42c39752bf4336f63b315b85dee737299d304",
      "old_mode": 33188,
      "old_path": "libs/androidfw/tests/ResTable_test.cpp",
      "new_id": "6bdf7034bd42e439e99620b6dd329010e6dcd456",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/ResTable_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "dbfdeae04d8e0480f7d5b018deb356c2271fd75e",
      "old_mode": 33188,
      "old_path": "libs/androidfw/tests/Split_test.cpp",
      "new_id": "9fef963e6dcba55a05c445b634c481d3f546445d",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/Split_test.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e4c65c711a96610318a2848b122dd85b9ba1c4a1",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/R.h"
    },
    {
      "type": "modify",
      "old_id": "6532076d3493f5fe084fec1597b60130ab5edc98",
      "old_mode": 33188,
      "old_path": "libs/androidfw/tests/data/basic/basic_arsc.h",
      "new_id": "61cb94c65828dc8de2580ef43c10ce6c7a5fed09",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/basic/basic_arsc.h"
    },
    {
      "type": "modify",
      "old_id": "237342c8dc40b324940ea9042f95827d1e44cd3f",
      "old_mode": 33261,
      "old_path": "libs/androidfw/tests/data/basic/build",
      "new_id": "fa4a9fe0d8f20c19b76cbc3d490b0445e6dc4707",
      "new_mode": 33261,
      "new_path": "libs/androidfw/tests/data/basic/build"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "05ffd585648744e619865324d0723e63c1f5a532",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/basic/res/layout-fr-sw600dp/main.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "05ffd585648744e619865324d0723e63c1f5a532",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/basic/res/layout/main.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "103c6a3643c47637328e15f0a38c30ab492efa2d",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/basic/res/values-de/values.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1806a2dc12a94fc249a679a14f712912e7575f07",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/basic/res/values-fr/values.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a8eaf0b2f69d123c82f6af53a9408f25543b88bd",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/basic/split_de_fr_arsc.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c2343b75e16e45ba11ad9e4230d6e76ea2e1b540",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/feature/AndroidManifest.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b547dc215595c536d3a7e8dc52d17f5f539adc10",
      "new_mode": 33261,
      "new_path": "libs/androidfw/tests/data/feature/build"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf7647d71b05169e7be884cd90cd08fb92a675aa",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/feature/feature_arsc.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d03445a33d7242f5807f066e89254674f8dca216",
      "new_mode": 33188,
      "new_path": "libs/androidfw/tests/data/feature/res/values/values.xml"
    },
    {
      "type": "delete",
      "old_id": "e0321e9bf492ce5148bfae4d10c30795c70e4f47",
      "old_mode": 33188,
      "old_path": "libs/androidfw/tests/data/split_base_arsc.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "6f6a41626e0fae74765ce0197cf31dbd05c0ad85",
      "old_mode": 33188,
      "old_path": "libs/androidfw/tests/data/split_de_fr_arsc.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7c0fc04a445a2633de1d67f3eeea9bd779bb4e45",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/base/Android.mk"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "989e8025040515f6b9206e5857db7a4e7dc16f88",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/base/AndroidManifest.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "564d301bae711434a412ac7b1a88c0b63864ea38",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/base/res/values/values.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "305982412be5a44861f38c3230578892e4d08658",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/feature1/Android.mk"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2aadc6d9c2f39e69e2bbdf4ee5df3f23c4a4f0e2",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/feature1/AndroidManifest.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "70eb56a76fb3ad70a403a585e723c9a6fbf9cc73",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/feature1/res/values/values.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69cbe89234f4a13e2054ef32c8fc4e52171a543",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/feature2/Android.mk"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d139900eae46d196358eb067873da56b1aba3468",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/feature2/AndroidManifest.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "af5ed1b79b26d7b5bf92c23a8c523270b17b7d0a",
      "new_mode": 33188,
      "new_path": "tests/FeatureSplit/feature2/res/values/values.xml"
    },
    {
      "type": "modify",
      "old_id": "2028ff4ebc126ba0b1d96b3ccbb4f80935cce263",
      "old_mode": 33188,
      "old_path": "tools/aapt/AaptAssets.cpp",
      "new_id": "eead68c940cf36e1b2cfbfdf287828b057dbfb4e",
      "new_mode": 33188,
      "new_path": "tools/aapt/AaptAssets.cpp"
    },
    {
      "type": "modify",
      "old_id": "ceb52a07103b5de9668504f23f8d889886d080d2",
      "old_mode": 33188,
      "old_path": "tools/aapt/Bundle.h",
      "new_id": "1439f14b7fb640416ec28ab38d8ff386b6705d49",
      "new_mode": 33188,
      "new_path": "tools/aapt/Bundle.h"
    },
    {
      "type": "modify",
      "old_id": "322d86c6cd5c349cd6b4640da4c188f8fd5a7e05",
      "old_mode": 33188,
      "old_path": "tools/aapt/Main.cpp",
      "new_id": "736ae26d7796c7d27253eb8aa72b690a54319de1",
      "new_mode": 33188,
      "new_path": "tools/aapt/Main.cpp"
    },
    {
      "type": "modify",
      "old_id": "4f1d15ec23e1bbd9a9c25b11175f8ac8a5a6172e",
      "old_mode": 33188,
      "old_path": "tools/aapt/Resource.cpp",
      "new_id": "033ff40e822e389465fc26c7506a8507a4d41954",
      "new_mode": 33188,
      "new_path": "tools/aapt/Resource.cpp"
    },
    {
      "type": "modify",
      "old_id": "ac546386436675f99ae79015c9be8887c251a3ba",
      "old_mode": 33188,
      "old_path": "tools/aapt/ResourceTable.cpp",
      "new_id": "cf1d4fd33a7863d72a1eebeb9e95766e135e8d06",
      "new_mode": 33188,
      "new_path": "tools/aapt/ResourceTable.cpp"
    },
    {
      "type": "modify",
      "old_id": "a73993c9022f031b5668f69211136dab1d7a0748",
      "old_mode": 33188,
      "old_path": "tools/aapt/ResourceTable.h",
      "new_id": "d4f47ef9555d00fe1ec6c0c7b5444651c96adeb1",
      "new_mode": 33188,
      "new_path": "tools/aapt/ResourceTable.h"
    }
  ]
}
