)]}'
{
  "log": [
    {
      "commit": "abf6afdce656d2fa3fb9d17bdfda2b16204dbbd5",
      "tree": "7c3c8c487a1090ea38b4efe661eea4fdf9b5b75f",
      "parents": [
        "a0d2141f45b89fca1f78bc10b0f21a7872be89d6",
        "14c6434a112041fb6e1d0b6dc08ad4fc6f492e10"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Sun Sep 08 13:11:47 2019 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Sun Sep 08 13:11:47 2019 -0700"
      },
      "message": "Merge qt-r1-dev-plus-aosp-without-vendor (5817612) into stage-aosp-master\n\nBug: 135460123\nChange-Id: Ib7d2f7c5a8aef5c6c3e8f74c6c32d5092f32a166\nMerged-In: I6f788cb4c7328e4f2315e4f028e2dd53badeb6cd\n"
    },
    {
      "commit": "ab38d47d5a126d33b747ed8bf6afcaf9c8895ef5",
      "tree": "d03008d1464ccd8150e5418484711c254581d18a",
      "parents": [
        "b5195f128d2d1ccc2e923af79376f7e91ef3191d",
        "2fc007eba588157e795fdf64b1f5ead53c266e61"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Sep 05 06:00:50 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 05 06:00:50 2019 -0700"
      },
      "message": "Merge \"Reland: Moving GSI-specific files to system_ext\"\nam: 2fc007eba5\n\nChange-Id: I2fae8961887e6fa0e9a8d3815e953a6f687fb2a8\n"
    },
    {
      "commit": "ac3c65b7bb79078e6561017bf80904010514b6d5",
      "tree": "232d9de3ffa8b563f3b70c39e9870b08e050ebd9",
      "parents": [
        "414108c6c14cdb9d885320dfa210437301e4a235"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Aug 15 18:44:28 2019 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Sep 05 17:11:07 2019 +0800"
      },
      "message": "Reland: Moving GSI-specific files to system_ext\n\nOnly common files can reside in system partition, other files\nshould be moved to the newly added system_ext partition.\n\nNote that for GSI, it will be a single system.img that includes the\ncontents of product and system_ext partitions, under /system/product\nand /system/system_ext, respectively. After moving skip_mount.cfg to\nsystem_ext partition, it also needs a symlink file under system\npartition:\n\n  /system/etc/init/config -\u003e /system/system_ext/etc/init/config\n\nThis allows Q-launched first-stage init (in /boot partition) continue\nto use the same path when new GSI image is used.\n\nBug: 138281441\nTest: build aosp_arm64-userdebug and boot it on crosshatch\nTest: rm -rf out \u0026\u0026 build/soong/soong_ui.bash --make-mode \\\n      TARGET_PRODUCT\u003daosp_arm64 TARGET_BUILD_VARIANT\u003duserdebug droid\nChange-Id: Iae9f5fb688f49497563864eb882d5f0ae33c744a\n"
    },
    {
      "commit": "b5195f128d2d1ccc2e923af79376f7e91ef3191d",
      "tree": "1b8b581dcf8bc43787b6509504626c715f0bae53",
      "parents": [
        "708cbdbd41ac969cf4d4fbe1d9d82ebe5b848ebd",
        "414108c6c14cdb9d885320dfa210437301e4a235"
      ],
      "author": {
        "name": "Ian Kasprzak",
        "email": "iankaz@google.com",
        "time": "Wed Sep 04 18:34:31 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 04 18:34:31 2019 -0700"
      },
      "message": "Merge \"Revert \"Moving GSI-specific files to system_ext\"\"\nam: 414108c6c1\n\nChange-Id: I289dddfc62ee165c9857eace3d703983da32b695\n"
    },
    {
      "commit": "cba65a9c92eb3107cd985456ef49ed7898e5bc78",
      "tree": "b1ce86061bc973663a1a31a88574a164b0b71112",
      "parents": [
        "fd4a3de77d413d616b794d3daba5768475670721"
      ],
      "author": {
        "name": "Ian Kasprzak",
        "email": "iankaz@google.com",
        "time": "Wed Sep 04 21:18:26 2019 +0000"
      },
      "committer": {
        "name": "Ian Kasprzak",
        "email": "iankaz@google.com",
        "time": "Thu Sep 05 01:03:17 2019 +0000"
      },
      "message": "Revert \"Moving GSI-specific files to system_ext\"\n\nThis reverts commit 8ef0ffe7e8611b7e5e77f6cd23cebd2a3aa83af7.\n\nReason for revert: b/140499897 - Breaking multiple builds across branches.\nTest: Forrest - go/forrest_run/L78500000361846284\n\nChange-Id: I618e0d051fdcd7a7afcc09408e20c53f38566e94\n"
    },
    {
      "commit": "478bda01225ffffb83ba988e67120a163797e587",
      "tree": "0025b6cdd5a63df19f9d794ca24a3f19ea6245c1",
      "parents": [
        "75e29ad5d4ae323529905c4ba4ac5506e4ec99f2",
        "a6c80c11179858ec5f4f4c648712fb988a587e2c"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Sep 04 08:22:42 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 04 08:22:42 2019 -0700"
      },
      "message": "Merge \"Moving GSI-specific files to system_ext\"\nam: a6c80c1117\n\nChange-Id: Ibba7d959d3e8a3e2b97c9138d067f9b6d0593d60\n"
    },
    {
      "commit": "8ef0ffe7e8611b7e5e77f6cd23cebd2a3aa83af7",
      "tree": "503296e64d4b887055efe83c850b5f0f57209ad1",
      "parents": [
        "9432b4d052a12f95809ba4bcceffe0f426377578"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Aug 15 18:44:28 2019 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Sep 04 14:54:53 2019 +0800"
      },
      "message": "Moving GSI-specific files to system_ext\n\nOnly common files can reside in system partition, other files\nshould be moved to the newly added system_ext partition.\n\nNote that for GSI, it will be a single system.img that includes the\ncontents of product and system_ext partitions, under /system/product\nand /system/system_ext, respectively. After moving skip_mount.cfg to\nsystem_ext partition, it also needs a symlink file under system\npartition:\n\n  /system/etc/init/config -\u003e /system/system_ext/etc/init/config\n\nThis allows Q-launched first-stage init (in /boot partition) continue\nto use the same path when new GSI image is used.\n\nBug: 138281441\nTest: build aosp_arm64-userdebug and boot it on crosshatch\nChange-Id: Ida7c2d1b0152c7ef77fa9aeb5d0766d17aec59c5\n"
    },
    {
      "commit": "ac3686da61eff9b9cd1e2d29d98cdb26ae324690",
      "tree": "ceeecded84bd9f79264aff879ba4e58c8494c845",
      "parents": [
        "4f38a6a4e2b1da710bb7c3bdc9f0198d57afc3de",
        "b3162c117e10a84b3f549b3110a69d1998512718"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Aug 07 17:24:42 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 07 17:24:42 2019 -0700"
      },
      "message": "Merge \"Revert \"Add product and system_ext partition for emulator\"\" am: 0c55b6d2cb am: 66a0d43db2\nam: b3162c117e\n\nChange-Id: Iaa4eca2de01460aea205c45b91c2c3bbb4ebc55a\n"
    },
    {
      "commit": "66a0d43db289d1bef4270ce15f83b5c0e99c382e",
      "tree": "2008041c535a7ddcef774d36c1781b52e591df9a",
      "parents": [
        "77507f72fc8cf44f01192b378d1e227f61053a21",
        "0c55b6d2cb756124a069967cb3d849fd5b01726f"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Aug 07 16:58:49 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 07 16:58:49 2019 -0700"
      },
      "message": "Merge \"Revert \"Add product and system_ext partition for emulator\"\"\nam: 0c55b6d2cb\n\nChange-Id: I112c27402c00276f2442daeb233ceee73814fe0e\n"
    },
    {
      "commit": "b5570cf17bd0f66e92b4e5292767bff3e41339fa",
      "tree": "5329a76476ed3be32d7e060c0fe5aefedfef00e0",
      "parents": [
        "c5cb45b7dab2cf70e5fdffe5f818702827371c7f"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Aug 07 14:17:13 2019 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Aug 07 23:44:41 2019 +0000"
      },
      "message": "Revert \"Add product and system_ext partition for emulator\"\n\nThis reverts commit ef7e3f262379405797b4af406c67e50ee5e3850b.\n\nThe configuration affects GSI to have separate partitions for product\nand system_ext which was not intended.\n\nBug: 138742524\nBug: 138382074\nTest: emulator; check boot\nChange-Id: Ie621d6b49f22ee2775adf1c1497e812f840f8ba7\n"
    },
    {
      "commit": "823ab5d846714468ee662ff7f8eb1934cc256df6",
      "tree": "779893d3f45a4e04dc92f6fe286586fdb407725e",
      "parents": [
        "b50b16df34d91726a204e8eab5553aab21cd5055",
        "baa4704f97e97e3a1063608a4a2ca5bd05d1faac"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Aug 05 11:01:08 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 05 11:01:08 2019 -0700"
      },
      "message": "Merge \"Remove import_includes/export_includes\" am: 6240872250 am: 0c5a068d02\nam: baa4704f97\n\nChange-Id: Iac1feccdf16968ed465c5c4bad748244832dcc19\n"
    },
    {
      "commit": "0c5a068d023682814a466c4dc30fb32401d639a8",
      "tree": "8ba4b18dcf1db5c6c4e1701f860d74f22c59dca9",
      "parents": [
        "06975fa319c0855d39723932fe5ccf3a3b6db1ba",
        "6240872250ffe443d15efef5ad6388509ca44555"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Aug 05 10:44:05 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 05 10:44:05 2019 -0700"
      },
      "message": "Merge \"Remove import_includes/export_includes\"\nam: 6240872250\n\nChange-Id: Idf487156730321d4172a057697ac3585497de13f\n"
    },
    {
      "commit": "18ffd5891ed9674f12929627fe18c43bed31e69c",
      "tree": "8ad119cf22d7c2b5a4ef4a33d3803f370fa3b2f4",
      "parents": [
        "8b8b9b6bf8291ba9eb1d6c92956e0ac3b912a058"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Jul 31 10:31:20 2019 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Aug 01 14:56:45 2019 -0700"
      },
      "message": "Remove import_includes/export_includes\n\nNow that ONE_SHOT_MAKEFILE no longer exists, we don\u0027t have to rely on\nthe filesystem to store this informtion.\n\nThis removes ~16.7k files from our build graph\n(aosp-master/aosp_arm64-eng), though only about 600 of them were being\nused in a normal build.\n\nTest: treehugger\nChange-Id: I3ac12f5ea7f11d25064109a0599bc5be1976fba5\n"
    },
    {
      "commit": "9e18f1a939beb093b4d0585564c5fac8602b1efd",
      "tree": "2dc89a1269ac74f5f1f2a2e22137fd8636f25b92",
      "parents": [
        "0eed94429821ce7562c61b0fffc65956a0fec1ea",
        "bc838a48871b76999ae67075066d50c9074e8e10"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Aug 01 14:52:48 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 01 14:52:48 2019 -0700"
      },
      "message": "Merge changes from topic \"rm_ONE_SHOT_MAKEFILE\" am: 8b8b9b6bf8 am: 58be946140\nam: bc838a4887\n\nChange-Id: Ib88f71fe579d6e5372c44b45974e50097ddb4309\n"
    },
    {
      "commit": "58be946140196fb95ee59e1688c607b4f17a0162",
      "tree": "67f4f7f54a18fe5f254946d6593f1e0752fa2781",
      "parents": [
        "2717256223a5aa021bbb6f495217f3e87b02e0cf",
        "8b8b9b6bf8291ba9eb1d6c92956e0ac3b912a058"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Aug 01 14:31:32 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 01 14:31:32 2019 -0700"
      },
      "message": "Merge changes from topic \"rm_ONE_SHOT_MAKEFILE\"\nam: 8b8b9b6bf8\n\nChange-Id: I5764b2ce848710584d2d837e9e33fb9fb71c8d33\n"
    },
    {
      "commit": "0df0f6bbf13a52006b1cabf7d7afd973019b4e3c",
      "tree": "274f20e2b157286bbbc4ce4b6427f80a6aed0092",
      "parents": [
        "5c3fc2a7924988710e89901e46a2b16258032727"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Jul 30 12:56:59 2019 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Jul 31 18:09:22 2019 -0700"
      },
      "message": "Remove [jni_]link_type files\n\nNow that mm/ONE_SHOT_MAKEFILE have been removed, we can expect to know\nabout all of our dependencies at the end of the build.\n\nThis removes 19k nodes from our build graph (aosp-master\naosp_arm64-eng), though in a default build, only 3k of those are used.\n\nTest: ALLOW_MISSING_DEPENDENCIES\u003dtrue, then trigger a missing dependency\nTest: treehugger\nTest: create link_type files, then apply CleanSpec.mk, ensure they\u0027re removed\nChange-Id: I9506331e4a9911d2f26e59a2f72a97aef1644073\n"
    },
    {
      "commit": "ef7e3f262379405797b4af406c67e50ee5e3850b",
      "tree": "ef40abab1be87966f3ddda282f5edd91f7f1f968",
      "parents": [
        "c864fe90546e0b46e3322865df2747bdcaf1c104"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Fri Jul 26 17:15:05 2019 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Jul 31 10:45:55 2019 +0000"
      },
      "message": "Add product and system_ext partition for emulator\n\nBuild product and system_ext image and add them to super partition.\n\nBug: 138382074\nTest: boot emulator and check system_ext partition mounted\nChange-Id: Ifa67bd6ad475ac5912e8f919c7a771c9958bd5c2\nMerged-In: Ifa67bd6ad475ac5912e8f919c7a771c9958bd5c2\n"
    },
    {
      "commit": "eac89fa9cb329bc3bb2bcb8ce5fbcc937d2fb9d8",
      "tree": "f156409be25179634d593b2c8184854861720108",
      "parents": [
        "76fc1ce5ff514469fe53a9c65976c7edf13dabd6",
        "0a81687a251b34a75133e882dc4de9723eaefb87"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Jul 31 13:33:59 2019 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Jul 31 13:34:35 2019 +0900"
      },
      "message": "resolve merge conflicts of 0a81687a251b34a75133e882dc4de9723eaefb87 to qt-r1-dev-plus-aosp\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Iee31e0df5e5d2b94c9ba7d6815fbbb41497c33c6\n"
    },
    {
      "commit": "ff3d62d31dffcb89157c98aac7c3c569afcbe62b",
      "tree": "cf6b25f622cc77ba941a4590d1d8dae57d90f0e3",
      "parents": [
        "93b7c1b547f2845d0e66ecfdf50de27ccd47a70b"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Fri Jul 26 17:15:05 2019 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Jul 31 00:13:19 2019 +0000"
      },
      "message": "Add product and system_ext partition for emulator\n\nBuild product and system_ext image and add them to super partition.\n\nBug: 138382074\nTest: boot emulator and check system_ext partition mounted\nChange-Id: Ifa67bd6ad475ac5912e8f919c7a771c9958bd5c2\nMerged-In: Ifa67bd6ad475ac5912e8f919c7a771c9958bd5c2\n(cherry picked from commit 28843c3e3218bcd05e5c5f05ffacb87558d9e8b8)\n"
    },
    {
      "commit": "a133a497c26eb68acd1e636fede34a8232d189fc",
      "tree": "2175ef111c4de917734befcab4ec066db0d8d43f",
      "parents": [
        "8aa7456df544fbd33ff7ab1a9b18d6a14659f802"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 25 16:58:40 2019 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 11:28:23 2019 -0700"
      },
      "message": "Remove libcameraservice and libcamera_client from base_system\n\nLibcameraservice is only used by cameraserver, and is explicitly listed\nas a dependency.  Libcamera_client is used by multiple places, but each\nof them lists it as a depedency as well, so it\u0027s not needed here.\n\nRemoving the unused 64-bit version of libcameraservice will save ~2 MB\non the system partition.\n\nBug: 138403869\nTest: atest CtsCameraTestCases\nMerged-In: I196f869350900e7cc1521bc397c6ecff28decb6f\nChange-Id: I196f869350900e7cc1521bc397c6ecff28decb6f\n"
    },
    {
      "commit": "63b4c9eb7670bd2419187c0ba6b48e2cc53402c2",
      "tree": "bd7bcdb7b386c369084dc20b65021f3741d4e189",
      "parents": [
        "5bbe8ec58bad79673fa60c5e9d443ff87bb5b506",
        "33ff602070972338df27c24b4987ee6f713cf215"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed May 22 21:07:11 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 22 21:07:11 2019 -0700"
      },
      "message": "Moving /odm/build.prop to /odm/etc/buid.prop\nam: 33ff602070\n\nChange-Id: I9b26413a5fbfe43e900d79010075a4c234d4b310\n"
    },
    {
      "commit": "33ff602070972338df27c24b4987ee6f713cf215",
      "tree": "dd356d47aa5d60feb09845bb45e4b495f965f8ec",
      "parents": [
        "f52dbb81fe50cc0821045bb3160fa4b80e885b69"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri May 17 23:21:48 2019 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed May 22 16:14:53 2019 +0800"
      },
      "message": "Moving /odm/build.prop to /odm/etc/buid.prop\n\nIn device root directory, we have the following symlinks:\n  - /odm/app -\u003e /vendor/odm/app\n  - /odm/bin -\u003e /vendor/odm/bin\n  - /odm/etc -\u003e /vendor/odm/etc\n  ...\n\nThis allows the Generic System Image (GSI) to be used on both devices:\n  1) Has a physical odm partition, where those symlink will be hidden\n     when /odm is used as the mount point\n  2) Has no physical odm partition and fallback to /vendor/odm/.\n\nWe can\u0027t just have the symlink /odm -\u003e /vendor/odm, because the former\ndevices won\u0027t have /vendor/odm directory, which leads to mount failure\nwhen the mount point /odm is resolved to /vendor/odm.\n\nThe existing /vendor/odm/build.prop won\u0027t be loaded in the latter\ndevices, because there is no symlink:\n    - /odm/build.prop -\u003e /vendor/odm/build.prop.\n\nNote that init blocks reading through direct symlinks (O_NOFOLLOW) so\nthe above symlink won\u0027t work either. This CL moves the odm build.prop\nto /odm/etc/build.prop for init to load it (symlinks in earlier\ncomponents of the path will still be followed by O_NOFOLLOW).\n\nBug: 132128501\nTest: boot a device and checks /odm/etc/build.prop is loaded\nTest: make dist with an odm.img, checks $OUT/odm/etc/build.prop is loaded\nChange-Id: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7\nMerged-In: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7\n(cherry picked from commit 6c62884000b572e8d55c7cb9b98039f3882aa271)\n"
    },
    {
      "commit": "71a4d5cdd5fba29f9726773fc63bf272acc3b212",
      "tree": "7d363488ed6f6fc3f408038aef372cf0e4e692a0",
      "parents": [
        "65dbf9bfb3d9e9d59cf4487557d2965bd44aff19"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri May 17 23:21:48 2019 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed May 22 14:04:39 2019 +0800"
      },
      "message": "Moving /odm/build.prop to /odm/etc/buid.prop\n\nIn device root directory, we have the following symlinks:\n  - /odm/app -\u003e /vendor/odm/app\n  - /odm/bin -\u003e /vendor/odm/bin\n  - /odm/etc -\u003e /vendor/odm/etc\n  ...\n\nThis allows the Generic System Image (GSI) to be used on both devices:\n  1) Has a physical odm partition, where those symlink will be hidden\n     when /odm is used as the mount point\n  2) Has no physical odm partition and fallback to /vendor/odm/.\n\nWe can\u0027t just have the symlink /odm -\u003e /vendor/odm, because the former\ndevices won\u0027t have /vendor/odm directory, which leads to mount failure\nwhen the mount point /odm is resolved to /vendor/odm.\n\nThe existing /vendor/odm/build.prop won\u0027t be loaded in the latter\ndevices, because there is no symlink:\n    - /odm/build.prop -\u003e /vendor/odm/build.prop.\n\nNote that init blocks reading through direct symlinks (O_NOFOLLOW) so\nthe above symlink won\u0027t work either. This CL moves the odm build.prop\nto /odm/etc/build.prop for init to load it (symlinks in earlier\ncomponents of the path will still be followed by O_NOFOLLOW).\n\nBug: 132128501\nTest: boot a device and checks /odm/etc/build.prop is loaded\nTest: make dist with an odm.img, checks $OUT/odm/etc/build.prop is loaded\nChange-Id: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7\nMerged-In: I6f88763db755c9ec6068bfdd9cee81c19d72e9d7\n(cherry picked from commit 6c62884000b572e8d55c7cb9b98039f3882aa271)\n"
    },
    {
      "commit": "6dd3336925f61de17bca39d9eea8556365c510ec",
      "tree": "0dcf84325827753194daea6295184aef07944144",
      "parents": [
        "286127c3428822246f893c357debaa60ce0338c1",
        "07d4342fa57369256ccf24e45264284cb6f0d40d"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 15 15:44:39 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 15 15:44:39 2019 -0700"
      },
      "message": "resolve merge conflicts of 07d4342fa57369256ccf24e45264284cb6f0d40d to qt-dev-plus-aosp\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Iba2e59906c6d9dd3dba2cf3ebe88206ae9d7bca9\n"
    },
    {
      "commit": "07d4342fa57369256ccf24e45264284cb6f0d40d",
      "tree": "afd2bf360d10c02c05e35cc93560b1c015b0e96b",
      "parents": [
        "a3c3b9bc64e45b51c210e062b6a61a04333be36c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 14 17:36:53 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 15 20:02:23 2019 +0000"
      },
      "message": "Remove soft omx libs from package -- DO NOT MERGE\n\nThese are installed by media.codec as required modules,\nand they\u0027re usually on vendor partition now. We don\u0027t\nwant to install the system targets here.\n\nbug: 132466615\n\nChange-Id: I8375563648bc2a5016dac4760b853cb32dde5429\n"
    },
    {
      "commit": "b7fd03fd32bb198b653bdd9f644c68333adf7cc7",
      "tree": "28deb6f5dd0717c6fb1f11438c7cda8a48bfa8fc",
      "parents": [
        "ddc171237641ec5a432f7ebbc2ce821e8c7a98d2",
        "5b657c75acb3d5931823088a9f50ec64ac07e602"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu May 09 13:18:49 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 09 13:18:49 2019 -0700"
      },
      "message": "Merge \"Remove libc_malloc_{debug,hooks} from the system image.\" am: eba4d2312a\nam: 5b657c75ac\n\nChange-Id: I61d80c674ea5066e104bace51a329b951b159f0c\n"
    },
    {
      "commit": "5055dae50c7a969485043d9338c71076b4fe9a59",
      "tree": "d15238cef57e9a948f25f47e0e7e7ff6a8d65622",
      "parents": [
        "c43a3e1103b92fd8f896f36f13c168574023c273"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue May 07 16:05:54 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue May 07 17:33:36 2019 +0100"
      },
      "message": "Remove libc_malloc_{debug,hooks} from the system image.\n\nThey are part of Bionic and should now be in the Runtime APEX.\n\nTest: Flash and boot\nBug: 122566199\nBug: 118374951\nChange-Id: Ib1a2999b56d743242ef7aafa7aed57f8c6a7b0e5\n"
    },
    {
      "commit": "721a294a1c0af49e1942f709e87e446b68ba6443",
      "tree": "6ce3d747d0344257897caccc392c128207bf64ef",
      "parents": [
        "21fe762b2d5b661082b35beb2681ca6a0da418d3",
        "ee153db46a13c55c9e3bbef61b92b032dc17abba"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri May 03 06:59:30 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 03 06:59:30 2019 -0700"
      },
      "message": "Merge \"Update the references to verity tools.\" am: 31c2bf905e\nam: ee153db46a\n\nChange-Id: I9f6b38c0538b8b0e9146c622dfb807f170398c8d\n"
    },
    {
      "commit": "d5ab10eed4d6ac3d02a8ce44dbf5b11b7f895090",
      "tree": "ec84da6b2e0e0bdf4116e9d1791b153d72d88263",
      "parents": [
        "3b77053daf3f6a09751db25009f1af056cd232c3"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu May 02 18:17:18 2019 -0700"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu May 02 18:32:11 2019 -0700"
      },
      "message": "Update the references to verity tools.\n\nTest: `m -j dist` with aosp_marlin-userdebug\nTest: `atest releasetools_test`\nTest: Run signing with otatools.\nTest: TreeHugger\nChange-Id: I60d5bad4435d588c5f97b2245ca67ed3d55299b7\n"
    },
    {
      "commit": "5a78b371ed71fa60d5390d8eadda72d85a1b10dc",
      "tree": "d41e6e93148ce3e86fa2f0d563a3b68a5accfe81",
      "parents": [
        "46f7e88c27accc91cea7a88d9d33388c2af19d10"
      ],
      "author": {
        "name": "Pete Bentley",
        "email": "prb@google.com",
        "time": "Tue Apr 02 16:40:37 2019 +0100"
      },
      "committer": {
        "name": "Pete Bentley",
        "email": "prb@google.com",
        "time": "Tue Apr 30 20:36:18 2019 +0100"
      },
      "message": "Remove libjavacrypto from system image.\n\nThe only copy needed is the one in the Conscrypt APEX.\n\nBug: 123925742\nTest: m\nChange-Id: Ieea8549d047750cf3580d6fe0204fdf55b6b8394\nMerged-In: Ieea8549d047750cf3580d6fe0204fdf55b6b8394\n"
    },
    {
      "commit": "c3b9f66cd190d940533f3080af448a3c78000199",
      "tree": "423ff09c8f4a8ce0418daac5b1c366af5a159664",
      "parents": [
        "a943dcb4b1ad7dede831392db6cab3fe71160e85",
        "229ba6c8eeca620bed10d96cf278b8a8fe5d7fec"
      ],
      "author": {
        "name": "Pete Bentley",
        "email": "prb@google.com",
        "time": "Fri Apr 26 11:14:36 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 26 11:14:36 2019 -0700"
      },
      "message": "Merge \"Remove libjavacrypto from system image.\" am: 4ec15d2c50\nam: 229ba6c8ee\n\nChange-Id: Ic879fa9a3b3137182ab77150fee563303148f3d4\n"
    },
    {
      "commit": "f9dd05f1bf59c0feef1ce4ed35dbba476c0ddd87",
      "tree": "4f7479cf54abb2d9be201df733217e31613f42ef",
      "parents": [
        "3129d2c971995caba152b62ffbffad9f7f92d480"
      ],
      "author": {
        "name": "Pete Bentley",
        "email": "prb@google.com",
        "time": "Tue Apr 02 16:40:37 2019 +0100"
      },
      "committer": {
        "name": "Pete Bentley",
        "email": "prb@google.com",
        "time": "Fri Apr 26 10:28:16 2019 +0100"
      },
      "message": "Remove libjavacrypto from system image.\n\nThe only copy needed is the one in the Conscrypt APEX.\n\nBug: 123925742\nTest: m\nChange-Id: Ieea8549d047750cf3580d6fe0204fdf55b6b8394\n"
    },
    {
      "commit": "2835149987742f862c67dfedf1c9502d2c94e976",
      "tree": "faba6b2b792d721c83675385f5c8c4760bcbca5b",
      "parents": [
        "19ecb76b7baeb84c10aabf71695d43ad490f9dbb"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Sat Apr 20 15:01:19 2019 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Tue Apr 23 16:24:29 2019 +0800"
      },
      "message": "Revert \"Adding adb_debug.prop\"\n\nThis reverts commit a280a66b5ab2a3e738230d994a91778afa95befb.\n\n/init now switched to read adb_debug.prop from debug ramdisk instead\nof GSI or other system.img. No need to keep the file in GSI.\n\nSee the following for more details:\n  https://android-review.googlesource.com/c/platform/system/core/+/946517\n\nBug: 126493225\nTest: tree hugger\nChange-Id: I981db8e13216fbe0f066f4d3684ee149b1177d22\nMerged-In: I981db8e13216fbe0f066f4d3684ee149b1177d22\n(cherry picked from commit 89660704318525f17f9e8bab14726e027deec14b)\n"
    },
    {
      "commit": "bf23e324788fb740af9f7cc6eae713d8a12a36df",
      "tree": "f795bf6b2901b1a6d116e1c50090835ffc2c929a",
      "parents": [
        "65feee7adbe43c357ef885faaac8cfbad9230195",
        "3a4df557b0e89ca51bd3ded2e595603e22f8b1eb"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Tue Apr 23 00:52:26 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 23 00:52:26 2019 -0700"
      },
      "message": "Merge \"Revert \"Adding adb_debug.prop\"\" am: db57997c72\nam: 3a4df557b0\n\nChange-Id: I30d442f7e519684dfdb9824c02af5556d9218320\n"
    },
    {
      "commit": "5180722c5e8129f78f2adf945518d544aba583c4",
      "tree": "b24b935c0b112c014de8c55fc1dfa902ee93b2e3",
      "parents": [
        "97548ef31b07baa43baa6916233492ba6d2c03c8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 12:06:27 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 22 09:58:07 2019 -0700"
      },
      "message": "Use framework.aidl built by Soong\n\nBug: 130798034\nTest: m checkbuild\nChange-Id: I24621b41860ce1fd1c3ba067430c8d62b49d03cb\nMerged-In: I24621b41860ce1fd1c3ba067430c8d62b49d03cb\n(cherry picked from commit 50bf3127d97fb68903e4ebf579999770c1574048)\n"
    },
    {
      "commit": "89660704318525f17f9e8bab14726e027deec14b",
      "tree": "5b99216883d9a3429c4a8dfcb5e21f289861a255",
      "parents": [
        "967105ada9592416210453149cea964f4ca81e58"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Sat Apr 20 15:01:19 2019 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Mon Apr 22 18:39:44 2019 +0800"
      },
      "message": "Revert \"Adding adb_debug.prop\"\n\nThis reverts commit a280a66b5ab2a3e738230d994a91778afa95befb.\n\n/init now switched to read adb_debug.prop from debug ramdisk instead\nof GSI or other system.img. No need to keep the file in GSI.\n\nSee the following for more details:\n  https://android-review.googlesource.com/c/platform/system/core/+/946517\n\nBug: 126493225\nTest: tree hugger\nChange-Id: I981db8e13216fbe0f066f4d3684ee149b1177d22\n"
    },
    {
      "commit": "963a88aa80581c91f8b8e94a39ea9a92c1bf931e",
      "tree": "2744314f4a4d9a7778d96fa855e5fa22973e3b57",
      "parents": [
        "665ba5366c575bb6f3e28a6e43370beaaba01e94",
        "009981c5e4b7b039e5002cbc94626d0e5cc8929b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Apr 21 10:38:42 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Apr 21 10:38:42 2019 -0700"
      },
      "message": "Merge \"Use framework.aidl built by Soong\" am: ab2b34b8fd\nam: 009981c5e4\n\nChange-Id: I1913f5acb7d49c6d3b723b7510784b59d8f2ea5b\n"
    },
    {
      "commit": "50bf3127d97fb68903e4ebf579999770c1574048",
      "tree": "d313600ccdd98a6d93371893a88cfa5741b7eebc",
      "parents": [
        "c9bb097beee6bac8d1984d1a7a6c2358223c95ad"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 12:06:27 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 12:06:27 2019 -0700"
      },
      "message": "Use framework.aidl built by Soong\n\nBug: 130798034\nTest: m checkbuild\nChange-Id: I24621b41860ce1fd1c3ba067430c8d62b49d03cb\n"
    },
    {
      "commit": "c3538a4ac0dc53cdcc0cf275d9921aa3eb10c32d",
      "tree": "6c4f8bac7b196f728a1dc5a123add555934026a1",
      "parents": [
        "e4a2c3af6119b6cf77a4132855807368452dca2b"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed Mar 06 17:46:05 2019 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Apr 15 12:36:50 2019 +0100"
      },
      "message": "Remove libicu*.so from /system\n\nBug: 120659668\nTest: CtsJniTestCases\nMerged-In: I1c2ab41aa0b19f71025e2dd09be9b9bd306e8616\nChange-Id: I1c2ab41aa0b19f71025e2dd09be9b9bd306e8616\n(cherry picked from commit c164b8ef131ab903208d9236b1f6a166f4a43668)\n"
    },
    {
      "commit": "9def1f23e90611edf8654a1fd47bddda7b55a9cf",
      "tree": "6632bed42d56fcbffb5e8ca1d9139e37b44ae164",
      "parents": [
        "3b15a20b918f3f7a99c75c1c01e4996622ac0bc6",
        "5a7ce27b9f187fa7c8c59d41fd876ebada1d57cc"
      ],
      "author": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Sat Apr 13 02:46:46 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Apr 13 02:46:46 2019 -0700"
      },
      "message": "Merge \"Remove libicu*.so from /system\" am: b23062899c\nam: 5a7ce27b9f\n\nChange-Id: Ifdaa72481889fe37e751e355b906e99eef2029c0\n"
    },
    {
      "commit": "c164b8ef131ab903208d9236b1f6a166f4a43668",
      "tree": "c4851ecbe95fc225e7bd5976a4c548007fa269a4",
      "parents": [
        "f1a8e74991801e14246f043468e54868d66c4763"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Wed Mar 06 17:46:05 2019 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Apr 12 20:01:43 2019 +0100"
      },
      "message": "Remove libicu*.so from /system\n\nBug: 120659668\nTest: CtsJniTestCases\nChange-Id: I1c2ab41aa0b19f71025e2dd09be9b9bd306e8616\n"
    },
    {
      "commit": "0d8e89b5f8b8df6a781e6060936ff9ee164999b0",
      "tree": "58d8cbed0057698ccfcd3954e120aa163c937473",
      "parents": [
        "cf9f9bedb8d31cc7be33a0352559e5ca0bbc4420"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Apr 09 17:03:57 2019 +0000"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Apr 11 10:12:27 2019 -0700"
      },
      "message": "Reland \"Only assert-max-image-size for static partitions.\"\n\nassert-max-image-size doesn\u0027t make sense for\ndynamic partitions, as build_image.py always find the\nright size for the output image. Hence:\n\n- build_image.py no longer need to write generated_*_info.txt\n  (which contains the size of the image).\n- assert-max-image-size on the static BOARD_*IMAGE_PARTITION_SIZE. If\n  a partition is dynamic, that variable isn\u0027t set, and\n  assert-max-image-size becomes a no-op. If the partition is static,\n  assert-max-image-size checks the static partition size as it used\n  to be.\n- Fix read-size-of-partitions to use the size of the partition by\n  reading the image directly (instead of using generated_*_info.txt).\n\nFor devices without AVB, with DAP enabled, and does not have\nRESERVED_SIZE for partitions, because of right sizing, the original\ncode always warns about approaching size limits. Since such checks\ndoesn\u0027t make sense for dynamic partitions, remove them.\n\nTest: builds on device with dynamic partitions\nTest: builds on cuttlefish with DAP enabled (without AVB), no\n      more size limit warnings:\nWARNING: out/target/product/vsoc_x86/vendor.img approaching size limit (X now; limit X)\n\nThis reverts commit 6e099095d13b02223d224d4ca7cf16b9ed10b83b.\n\nReason for revert: reland the CL\n\nBug: 122377935\nTest: build blueline_mainline\n\nChange-Id: Iee594b64e687decff186c0fa60f82b88608febe9\nMerged-In: Iee594b64e687decff186c0fa60f82b88608febe9\n"
    },
    {
      "commit": "f15b77cfe7f5f79321df62bc763ae712c87a7ca9",
      "tree": "08986c29e2e3b5452f2deaf95d9e89390f7d1bde",
      "parents": [
        "b801fa66ad086f91378a582e6445f51b30ba00dc",
        "d70f1c637ad9a14a74793b80e67009a96a60ad82"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Apr 10 13:48:34 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 10 13:48:34 2019 -0700"
      },
      "message": "Merge \"Reland \"Only assert-max-image-size for static partitions.\"\" am: d72873dc41\nam: d70f1c637a\n\nChange-Id: I204a6cdeee52ebd8643a223f8bb6f312037d159a\n"
    },
    {
      "commit": "8c3dce0c561adf3c76b551307bba256da7dc80e2",
      "tree": "325d44374aac6bcad28d66ad2f16b02466cd5f82",
      "parents": [
        "d7d6e9d6718257c3cfb2a7380021473ae9a5a868"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Apr 09 17:03:57 2019 +0000"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Apr 09 10:56:34 2019 -0700"
      },
      "message": "Reland \"Only assert-max-image-size for static partitions.\"\n\nThis reverts commit 6e099095d13b02223d224d4ca7cf16b9ed10b83b.\n\nReason for revert: reland the CL\n\nBug: 122377935\nTest: build blueline_mainline\n\nChange-Id: Iee594b64e687decff186c0fa60f82b88608febe9\n"
    },
    {
      "commit": "a1bfa46cfae5354b5468f6d5262793cab20b0b57",
      "tree": "25de6602c14392d13af9f4dfddc9a8ba5bb6b875",
      "parents": [
        "719fe7d565ee5b16593a9056ae43f14111e6420f",
        "3db0c17630c50753ca0e2464b7b546e52cd6d7d9"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Apr 09 07:20:48 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 09 07:20:48 2019 -0700"
      },
      "message": "Merge \"Revert \"Only assert-max-image-size for static partitions.\"\" am: 1d26ca95c3\nam: 3db0c17630\n\nChange-Id: I5fb9b3f57d7e86fc5644dd059986082ecb382612\n"
    },
    {
      "commit": "6e099095d13b02223d224d4ca7cf16b9ed10b83b",
      "tree": "f69307b03ab0994d0854e4b522fcb551df214fcf",
      "parents": [
        "67e4336912f145710819d413bf82823ca02c1ef8"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Apr 09 09:54:59 2019 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Apr 09 09:54:59 2019 +0000"
      },
      "message": "Revert \"Only assert-max-image-size for static partitions.\"\n\nThis reverts commit 67e4336912f145710819d413bf82823ca02c1ef8.\n\nReason for revert: Broke master\n\nChange-Id: I8a5054a42f145881437e2cb5b372f276bfdaa3d2\n"
    },
    {
      "commit": "201daffa9a65c140eec6cdccd9d4aa9d5a37d435",
      "tree": "80a21689c0f65328e72640b253e5351bc6865049",
      "parents": [
        "0256f3ff001b7525672d223aa0dcb5539c6260c1",
        "27128f4b104d074d161fa3906662daece169333a"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Apr 08 22:19:03 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 08 22:19:03 2019 -0700"
      },
      "message": "Merge changes from topic \"dap_size_check\" am: 3c4889fc79\nam: 27128f4b10\n\nChange-Id: I3bdebdef8a8bcef7c841967ff9562342ed33a60c\n"
    },
    {
      "commit": "67e4336912f145710819d413bf82823ca02c1ef8",
      "tree": "74d524fd8376f9c4d2691d258566e1f26eadd8b0",
      "parents": [
        "7ad83b634e8c70ed87b1c850683804a1128a4d6c"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Apr 03 17:18:08 2019 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Apr 04 15:09:51 2019 -0700"
      },
      "message": "Only assert-max-image-size for static partitions.\n\nassert-max-image-size doesn\u0027t make sense for\ndynamic partitions, as build_image.py always find the\nright size for the output image. Hence:\n\n- build_image.py no longer need to write generated_*_info.txt\n  (which contains the size of the image).\n- assert-max-image-size on the static BOARD_*IMAGE_PARTITION_SIZE. If\n  a partition is dynamic, that variable isn\u0027t set, and\n  assert-max-image-size becomes a no-op. If the partition is static,\n  assert-max-image-size checks the static partition size as it used\n  to be.\n- Fix read-size-of-partitions to use the size of the partition by\n  reading the image directly (instead of using generated_*_info.txt).\n\nFor devices without AVB, with DAP enabled, and does not have\nRESERVED_SIZE for partitions, because of right sizing, the original\ncode always warns about approaching size limits. Since such checks\ndoesn\u0027t make sense for dynamic partitions, remove them.\n\nTest: builds on device with dynamic partitions\nTest: builds on cuttlefish with DAP enabled (without AVB), no\n      more size limit warnings:\nWARNING: out/target/product/vsoc_x86/vendor.img approaching size limit (X now; limit X)\n\nFixes: 122377935\nChange-Id: I75e1b8322197cb18cf397d02aefd49d777bb6405\n"
    },
    {
      "commit": "7a8ffbeb9f1b78b59ce8ca674a74555c3d7e08d3",
      "tree": "86ecce168f8cd1ef809f5535f60dc13288433be2",
      "parents": [
        "8859e60fd7746c705b051eff2a12dda6963db8d0",
        "7bd8a3692fb07d524938641e5aa51f1751c19014"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Apr 01 09:53:23 2019 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Apr 01 09:53:23 2019 -0700"
      },
      "message": "resolve merge conflicts of 7bd8a3692fb07d524938641e5aa51f1751c19014 to master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: I16278376fb4a2b26f15b675016d00819ea99c296\n"
    },
    {
      "commit": "5478754cd67d6c0ec1190c4012b556fe9dba8af9",
      "tree": "0bf101fecebb5e0897d3290044b4239979ab7b54",
      "parents": [
        "3f6483cb0f63dd1fb59e18b4bfce987cac7bcbd2"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 29 14:44:06 2019 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 29 14:47:28 2019 -0700"
      },
      "message": "Move super.img to obj/PACKAGING\n\nTo avoid the confusion. super.img isn\u0027t intended to be flashed\nduring day-to-day development.\n\nTest: m superimage\nBug: 128891161\nChange-Id: I9d62e5929b415343b2d890ab21e6ae51175af2ae\n"
    },
    {
      "commit": "eee1046b5063980f6a69f331704ab9b7419e3797",
      "tree": "ff728d9fec14421ea2f0369bba311d379bc610c8",
      "parents": [
        "cf0b72a241932ec92068a77670bbc3a78c5c041c"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Mar 19 15:59:08 2019 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Mar 29 11:51:42 2019 -0700"
      },
      "message": "Remove android.frameworks.bufferhub@1.0-service\n\nDisable this for Q. We will add this back once Q branches.\n\nBug: 128320950\nBug: 123429755\nTest: Build system\nChange-Id: I1d360c7a8890148be6197092ba149203a72a019d\n"
    },
    {
      "commit": "e4544b1c0291ef86c3c88d2785634b0a320be809",
      "tree": "5d7a6c3aaea97a7c0661b5dcccae7570c567dc85",
      "parents": [
        "995c632cdc54dad065fe3f11696e690ccd2d5a58"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Feb 27 10:15:51 2019 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Mar 20 16:18:11 2019 +0800"
      },
      "message": "Moving system_other key into product.img\n\nCurrently system_other AVB public key is placed in system.img.\nHowever, this makes it\u0027s harder to have a *generic* system.img\nacross different product configs. Moving the key to /product\npartition to allow more product-specific AVB keys.\n\nDevice board config can add /product/etc/fstab.postinstall,\nto mount system_other with this key in /product. It can specify\ndifferent mount options, file systems, verity settings, etc., in\nthis product-specific fstab as well.\n\nBug: 123611926\nTest: `make productimage` checks the following is generated.\n      $OUT/product/etc/security/avb/system_other.avbpubkey\n      Also checks it\u0027s included in $OUT/installed-files-product.{json, txt}\n\nTest: run the following command and checks that\n      PRODUCT/etc/security/avb/system_other.avbpubkey is updated:\n      ./build/tools/releasetools/sign_target_files_apks \\\n        --avb_system_other_algorithm SHA256_RSA2048 \\\n        --avb_system_other_key external/avb/test/data/testkey_rsa2048.pem \\\n        out/dist/*-target_files-*.zip signed-target_files.zip\n\nChange-Id: I6804f29941bec54375d80bd68a5aedb5c23b842e\n"
    },
    {
      "commit": "1f8357fe7dbf598404f756cc136fbc893d231f63",
      "tree": "51508ec877e84d09a81988b6adff6778825c946f",
      "parents": [
        "6fe7f194b9ba0375aeee6f0d93f74f95a820084b"
      ],
      "author": {
        "name": "Nelson Li",
        "email": "nelsonli@google.com",
        "time": "Thu Mar 14 01:04:05 2019 +0000"
      },
      "committer": {
        "name": "Nelson Li",
        "email": "nelsonli@google.com",
        "time": "Thu Mar 14 01:05:36 2019 +0000"
      },
      "message": "Revert \"Revert \"Build System: Solve dependency problem for test\"\"\n\nThis reverts commit 6fe7f194b9ba0375aeee6f0d93f74f95a820084b.\n\nReason for revert: Fixed all build break.\n\nChange-Id: I0a4842df1225399752515a4cd7a7c14173a5bf7b\n"
    },
    {
      "commit": "6fe7f194b9ba0375aeee6f0d93f74f95a820084b",
      "tree": "5e22ff9373251bff4ad3d6d8bf26a19e9d5e124e",
      "parents": [
        "224e103308a80fa6440bddb3798ccafdffb14bd7"
      ],
      "author": {
        "name": "Nelson Li",
        "email": "nelsonli@google.com",
        "time": "Mon Mar 11 16:36:53 2019 +0000"
      },
      "committer": {
        "name": "Nelson Li",
        "email": "nelsonli@google.com",
        "time": "Mon Mar 11 16:48:29 2019 +0000"
      },
      "message": "Revert \"Build System: Solve dependency problem for test\"\n\nThis reverts commit 224e103308a80fa6440bddb3798ccafdffb14bd7.\n\nReason for revert: Build Breakage in git_pi-dev-plus-aosp/docs @5366136\nmake -j110 docs showcommands dist DIST_DIR\u003d/buildbot/dist_dirs/git_pi-dev-plus-aosp-linux-docs/5366136 checkbuild\nFAILED:\n Dependencies in out found with no rule to create them:\n out/target/product/generic/data/app/CtsVerifierTester/CtsVerifierTester.apk\n out/target/product/generic/data/app/TradeFedTestApp/TradeFedTestApp.apk\n out/target/product/generic/data/app/TradeFedUiTestApp/TradeFedUiTestApp.apk\n 15:53:46 stopping\nand\nmake -j50 showcommands dist TARGET_PRODUCT\u003dcf_x86_phone DIST_DIR\u003d/buildbot/dist_dirs/git_master-linux-ndk_translation_all/5366149 ndk_translation_all\nFAILED: ninja: \u0027out/target/product/vsoc_x86/data/nativetest/arm/arm_insn_tests_arm_static/arm_insn_tests_arm_static\u0027, needed by \u0027out/target/product/vsoc_x86/obj/PACKAGING/ndk_translation_tests_intermediates/arm_insn_tests_arm_static_result.xml\u0027, missing and no known rule to make it\n15:55:38 ninja failed with: exit status 1\nmake: *** [run_soong_ui] Error 1\nReturn Code: 2\n\nChange-Id: Idf95ef2e06526a0a31690420c923207db627605f\n"
    },
    {
      "commit": "224e103308a80fa6440bddb3798ccafdffb14bd7",
      "tree": "51508ec877e84d09a81988b6adff6778825c946f",
      "parents": [
        "e34ff5ca5d1d5d9f138b2a3e59962d2b65b97c09"
      ],
      "author": {
        "name": "nelsonli",
        "email": "nelsonli@google.com",
        "time": "Fri Dec 14 17:26:57 2018 +0800"
      },
      "committer": {
        "name": "nelsonli",
        "email": "nelsonli@google.com",
        "time": "Thu Mar 07 14:08:35 2019 +0800"
      },
      "message": "Build System: Solve dependency problem for test\n\n1. A test can add a runtime dependent test module by just setting\n   LOCAL_REQUIRED_MODULES or LOCAL_TARGET_REQUIRED_MODULES. Then the dependent test\n   module will be copied to testcase folder.\n2. Do not install to $(TARGET_OUT_DATA) for testcase\n\nBUG: 117224272\n\nTest: 1. (a) vi cts/tests/tests/text/Android.mk\n         (b) add LOCAL_REQUIRED_MODULES :\u003d CtsPrintTestCases\n         (c) m -j CtsTextTestCases\n         (d) Then, CtsPrintTestCases should also be built to testcase folder like below.\n             ./target/product/generic_arm64/testcases/CtsPrintTestCases\n\nChange-Id: I24ea3783486c54a05cfa9d3d0375b977afc230f8\n"
    },
    {
      "commit": "6fd16926b1529949974dab0408a97aadb90d823e",
      "tree": "6ee420a5630aad63eb24babc3e408c804c2ffbba",
      "parents": [
        "5a4696e460eca861731afddaa0c2c9fffd26e5bf"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Mar 01 20:41:52 2019 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Mar 01 20:41:52 2019 +0000"
      },
      "message": "Clean up libjdwp.so and possibly other dependencies that might have crept in\nbetween http://r.android.com/890494 and http://r.android.com/913898.\n\n(Repopulating libs from intermediates is quick, so not wasting effort trying\nto be precise.)\n\nTest: Don\u0027t have a suitably old build tree to test with.\nBug: 124498388\nChange-Id: Ice35606e4c301d5b01837963137421f9d23a9733\n"
    },
    {
      "commit": "616dc790439909412b0bf95629f4c2675cd96430",
      "tree": "fc29718dcd48ad53e09a23a04be4e1207fe55c07",
      "parents": [
        "a2f536f9fab8b3f8e2c293383c9eee134a49c504"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Feb 26 17:40:40 2019 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Feb 27 20:51:56 2019 +0000"
      },
      "message": "Remove libnpt from system again.\n\nhttp://r.android.com/914573 fixes libjdwp to look for it in the APEX.\n\nTest: Flash and boot\nTest: adb forward tcp:5555 jdwp:`adb shell pidof com.android.email` \u0026\u0026 jdb -attach localhost:5555\nTest: atest CtsJdwpTestCases\nBug: 124498388\nChange-Id: Idf380660a21c88969e42d6a03a6b50fd2baa4c17\n"
    },
    {
      "commit": "47e384c3d61ee2fb31ed5be6c0e6a045ba80b69c",
      "tree": "4b9866b15be1cf3697a782ed1b1b20b287b8e0a1",
      "parents": [
        "dba735e9a52411bc8b7cc5e54359a981b6ce016e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Feb 11 14:25:13 2019 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 15 13:00:14 2019 -0800"
      },
      "message": "Remove dexpreopting of boot jars from Make\n\nDexpreopting of boot jars is now implemented in\nbuild/soong/java/dexpreopt_bootjars.go.\n\nTest: m checkbuild\nChange-Id: I036510e7674b876976ce191c5b18bf0b7a15c6ee\n"
    },
    {
      "commit": "a568592f53ec8ec3569aad710f94a193a70d5f6f",
      "tree": "23e88eb5f87125ba9de6dc801279672c82b2e26b",
      "parents": [
        "b8ac90803c54f34c783ecc191210ac3118b44c08"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jan 22 01:52:17 2019 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Feb 13 22:28:09 2019 +0000"
      },
      "message": "Disable installation of ART modules in /system.\n\nRemove ART modules (`art-runtime`, `art-tools`) from `PRODUCT_PACKAGES`, as\nthey are provided by the Android Runtime APEX module\n(`com.android.runtime`).\n\nCopy of rpl\u0027s http://r.android.com/812674.\n\nTest: Flash and boot\nTest: atest CtsJniTestCases\nTest: atest CtsJdwpTestCases\nTest: m checkbuild dist\nBug: 113373927\nChange-Id: I3e0c130f1a9c596629ab243648f0251cf71c1499\n"
    },
    {
      "commit": "95958eefa98eb0cb1d7defb9bc9d1923611c79ba",
      "tree": "7f6d95163f39efca5f8d84411234841060b64bb9",
      "parents": [
        "375291fa261f1c35df6e5296093834642cce03cf"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 06 11:54:40 2019 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Feb 07 13:06:18 2019 +0000"
      },
      "message": "Change RRO default location to /product\n\nThis changes the default location of RRO packages that don\u0027t\nspecify where they should be installed to /product instead of\n/vendor.\n\nAlso change the auto-generated \"enforced RRO\" packages to install\non /product, and be explicit about that in the mk to make it\nindependent of the RRO default.\n\nThe reasoning for this change is that most overlays tend to be\nfor product level customizations, like themes and so on. RROs\nfor hardware related things can still be explicitly installed\non /vendor.\n\nBug: 123566903\nTest: preubmit\nTest: various internal tests\nChange-Id: Ie7d5f19dc7ab421a7bcf584153f991e18e961cda\n"
    },
    {
      "commit": "485c9cd400f9b4bdaef9c9b10add3dcc38e5ec60",
      "tree": "5a6e7fd6e8be4590795bf5a4433ff6e5021b9dce",
      "parents": [
        "9a3ef57d993fcc0278c948077925a7c3959284fa"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Feb 04 15:28:51 2019 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 05 21:38:55 2019 -0800"
      },
      "message": "Move hiddenapi singleton rules to Soong\n\nHiddenapi rules are now in build/soong/java/hiddenapi_singleton.go.\nThis effectively requires any module in PRODUCT_BOOT_JARS to be\ndefined in Soong.\n\nBug: 123645297\nTest: m checkbuild\nChange-Id: If72bd1c20b2014d0a3d400624d37fdb0a3052245\n"
    },
    {
      "commit": "80c80804f0e9ca5da775c986efef2d56fa4539f6",
      "tree": "a15a622f211ecba98b49735a849503628ec6f753",
      "parents": [
        "4bd3fe9565d23d079db46382ffbd0c4fcf8cc168"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 15:02:08 2019 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 15:04:44 2019 +0000"
      },
      "message": "Merge product_services into product by default\n\nNoone is intended to use product_services for now, so make\nproduct_services modules merge in product by default.\n\nBug: 113098451\nTest: boot blueline\nTest: boot walleye\nChange-Id: Id13487e40afe4ae581fac027c8c075798c26c7e8\n"
    },
    {
      "commit": "b8b08bdd02917e374b2cf95bcbbe1af50a3f0794",
      "tree": "87fa501122c0bd8c9c96b66d550ba74e0228421f",
      "parents": [
        "ba3e26d5da097fcec495200c96fade9ee1147ede"
      ],
      "author": {
        "name": "Pete Bentley",
        "email": "prb@google.com",
        "time": "Fri Jan 11 15:33:43 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 28 09:14:12 2019 +0000"
      },
      "message": "Move remaining libcore JNI libraries to APEX.\n\nTest: Flash and boot on Taimen\nTest: atest CtsLibcoreTestCases CtsJniTestCases\nBug: 119090773\nChange-Id: Ia9e7077327d2abc3f637c09acc5933b9c1682d5a\nExempt-From-Owner-Approval: Simple clean steps rule\n"
    },
    {
      "commit": "45539e3941a8500887697789ab01e198f20c6faa",
      "tree": "71faa4be334bcb2ecad9176b200f6b94cabe84e0",
      "parents": [
        "774c0f92bfb1a79b0abc5b60bc14cb5d1075f841"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Jan 11 19:40:01 2019 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Jan 11 19:51:06 2019 -0800"
      },
      "message": "Fix possible incremental build issue\n\nWe tried to start using toybox\u0027s sed, but it produced invalid results\nwith one of init\u0027s genrules. Clear out that generated code to fix future\nincremental builds, since we don\u0027t rebuild everything on a $PATH change.\n\nBug: 122744241\nTest: generate bad file, remove toybox sed, apply this change\nChange-Id: I197aa4b68b2fe309b3033e8736e1d80c8ded80ad\n"
    },
    {
      "commit": "6900aa21448012ea34914d4580c4fd4acce32504",
      "tree": "faadcb3fa5d61b5c6c556a47f73d0eb21e4ec1ad",
      "parents": [
        "eeeb9f96c8995c6c8213cb13a790296281291665"
      ],
      "author": {
        "name": "Justin Klaassen",
        "email": "justinklaassen@google.com",
        "time": "Wed Dec 12 09:23:09 2018 -0800"
      },
      "committer": {
        "name": "Justin Klaassen",
        "email": "justinklaassen@google.com",
        "time": "Thu Jan 10 14:30:55 2019 +0800"
      },
      "message": "Remove ExactCalculator module\n\nIndividual products can add their own calculator package if desired.\n\nBug: 120905067\nTest: lunch aosp_arm64 \u0026\u0026 make -j8\nMerged-In: I60490b6e2a42c4304768075e8fef9f07cb72d268\nChange-Id: I60490b6e2a42c4304768075e8fef9f07cb72d268\n"
    },
    {
      "commit": "ab847928157cddb7e469b15f5a8310f535173805",
      "tree": "3b173047276f96e654f29caae2f17a63562a7285",
      "parents": [
        "e07a32b1246c8da7db16e8cd75892ed481bc71af"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 15 19:11:33 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 15 19:13:29 2018 -0800"
      },
      "message": "Remove file named .d created in the source directory\n\nI59b20c931ee3e5a8d35eb30da4148691c5095502 accidentally wrote depsfiles\nto a file called .d in the top level of the source tree, remove them.\n\nBug: 119412419\nTest: m\nChange-Id: Iaf71a64a7ee4aa39084423dfd16aa934613ba158\n"
    },
    {
      "commit": "e07a32b1246c8da7db16e8cd75892ed481bc71af",
      "tree": "e7a5e8645ca8f7b52260ae84d7c6deead94f4000",
      "parents": [
        "7a005549ae07ec7206b2c78fdedf1c43eb89cdd0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 15 15:08:48 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 15 19:05:07 2018 -0800"
      },
      "message": "Restore reverted CleanSpec\n\nIca006a007d112c232311435aaac0c0e476232b67 added a clean step that was\nreverted in I0ce3ad70c73ff997aacaf411b0b5dc73760e7f91.  Reverting\na clean step could cause a future clean step to be skipped, because\nMake only tracks how many clean steps have been run out of each\nCleanSpec.mk file.  Add back the reverted clean step.\n\nBug: 119412419\nTest: none\nChange-Id: I11fe12d7c3526ccc21f468b350b4288cb55a9447\n"
    },
    {
      "commit": "10846f99fbaefca293f6f9c6aa8e043437169f7c",
      "tree": "f613f5f57567a7df86a8446f03622cc9cf7cb483",
      "parents": [
        "9c9ea97fa04083d87fd0ecc74112a1319f22471b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 14 11:45:47 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 14 11:49:55 2018 -0800"
      },
      "message": "Revert \"Correctly create directories before unzipping dexpreopt zip\"\n\nThis reverts commit 2bb1f518fdf8b1483ecb876e9acb9431f93eb8e6.\n\nTest: none\nBug: 119412419\n"
    },
    {
      "commit": "2bb1f518fdf8b1483ecb876e9acb9431f93eb8e6",
      "tree": "82ae4962603ad63231d249166448badce30fca44",
      "parents": [
        "9eaeb56c246ac8b0ba0c305ba2e88d98d09b9225"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 13 22:44:25 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 13 23:32:06 2018 -0800"
      },
      "message": "Correctly create directories before unzipping dexpreopt zip\n\nIe7daa94e107d53eff075ca58dbe721bd9d7fc8c2 attempted to pre-create\nthe directories that unzip would unzip into, but incorrectly\ncreated them in the top of the source tree instead of in\n$(PRODUCT_OUT).  Fix the directory location and add a cleanspec\nto clean up the incorrect directories in the source tree.\n\nBug: 119412419\nTest: m correctly cleans up incorrect directories in source tree\nTest: extract unzip command from out/verbose.log.gz and add bash -x\nChange-Id: Ica006a007d112c232311435aaac0c0e476232b67\n"
    },
    {
      "commit": "1bc5aff7939a66ab9e75e5c201bf70d9a2f8a111",
      "tree": "3793063016fb455affacf03daf72dd194fa16d92",
      "parents": [
        "ed167cf814b4548f08ddb7f4ded35f3176c1d0e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 07 17:06:42 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 11 23:00:57 2018 +0000"
      },
      "message": "Remove perfprofd from set of binaries installed on system.\n\nNeeded to get some space on marlin-eng :(\n\nAlso avoids static linking libart into perfprofd. Roland will follow-up by reverting the no-perfprofd changes.\n\nbug: 73175642\n\nTest: lunch marlin-eng \u0026\u0026 m -j32\nChange-Id: Ic1c79c6dd1052981801b92604f9891a8a63b4ea0\n"
    },
    {
      "commit": "345c9ae44fe94b80206011d55286a6ff62b79ecc",
      "tree": "4e5d9410bddb2d10ea3a1f99c449903ac3dddf3b",
      "parents": [
        "b906ebb313b9c36f8063df5b52609c19935d701e"
      ],
      "author": {
        "name": "patricktu",
        "email": "patricktu@google.com",
        "time": "Thu Nov 29 15:25:40 2018 +0800"
      },
      "committer": {
        "name": "patricktu",
        "email": "patricktu@google.com",
        "time": "Thu Nov 29 15:25:40 2018 +0800"
      },
      "message": "AIDEGen: Adopt prebuilt mechanism to bypass \u0027m aidegen\u0027.\n\nBug: 119642842\nTest: m clean;aidegen tradefed\nChange-Id: Ib25591de77762ffdcc72ea4a064a50cfb3e5015e\n"
    },
    {
      "commit": "adbafe0a7cb9eb2ae47f5aac62f74d64afe21583",
      "tree": "1df91e9deca5ad681557acc46650ea3e80782971",
      "parents": [
        "4c969fa22aac4102a2d75095027422ff88f6dc87"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Nov 16 16:06:33 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Nov 16 16:36:50 2018 +0000"
      },
      "message": "Add BOARD_USES_SYSTEM_OTHER_ODEX :\u003d true to mainline\n\nLikely not the final setting we\u0027ll settle with for this device,\nbut brings mainline_system builds closer to the device builds\nit\u0027s targeting.\n\nBug: 80410283\nTest: build mainline_arm64\nChange-Id: Ib672d1a060d0ad6a4e1faa210461bbbbaf6f2bc6\n"
    },
    {
      "commit": "3b4417a45e086eab649c76046283ae3f6980250a",
      "tree": "29ce3a26699056fe8d7d08e151a7a25e0750a60d",
      "parents": [
        "4c9399d9889ee07a933fe3053d34ee6420e45442"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Nov 05 15:11:46 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Nov 05 15:11:46 2018 -0800"
      },
      "message": "Remove old copies of host-libprotobuf-java-full.jar in test suites\n\nTest suite directories not covered by installclean have an old copy\nof host-libprotobuf-java-full in them that causes problems when\nlibprotobuf-java-full uses an updated ABI, remove them.\n\nBug: 119049592\nTest: manual\nChange-Id: Iedf0aaf2a1d1ca2c7332da3cc6d948946946eebe\n"
    },
    {
      "commit": "78c40be5606d13520af1e4b9c2f8dc78a6691511",
      "tree": "c02329d0cf7b4087d6ea138080dab1d7a74c44a4",
      "parents": [
        "7ddc50a066287b804a754951a597668d627478df"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Oct 17 16:50:49 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Oct 20 21:44:44 2018 +0000"
      },
      "message": "Create a new kati packaging step; move dist\n\nInstead of looking at `dist` and DIST_DIR directly in the Kati Build\nstep, always write out information about every call to dist, then create\nthe rules in another ckati run.\n\nSo instead of having:\n\n  dist:    \u003cgoal\u003e -\u003e \u003cdist\u003e -\u003e \u003coutput\u003e\n                \\______________↑\n\n  nodist:  \u003cgoal\u003e -----------\u003e \u003coutput\u003e\n\nAlways use another phony target in the Kati Build step:\n\n   \u003cgoal\u003e ---\u003e \u003coutput\u003e\n        \\----\u003e _dist_\u003cgoal\u003e\n\nThen in the packaging step (which is much faster), choose between dist\nand no dist:\n\n  dist:   _dist_\u003cgoal\u003e -\u003e \u003cdist\u003e -\u003e \u003coutput\u003e\n\n  nodist: _dist_\u003cgoal\u003e\n\nBug: 117463001\nTest: m dist\nChange-Id: Ic96bb6356740300dd3113f6ed699e6a619360c40\n"
    },
    {
      "commit": "3c6d5480c5b74e1ae26cdcf7bf4ce24c26f00385",
      "tree": "9adfc218ba85eb234a27ebfe66a60f60615cb1d8",
      "parents": [
        "4e90c3f9a5243160ee893f3b2aa211a5e995cef9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 18 11:35:10 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 18 14:19:56 2018 -0700"
      },
      "message": "Remove strip.sh intermediates to save space\n\nAdd a cleanspec to removed unused strip.sh intermediates.  Saved\n32GB on my AOSP checkout that had been used to build multiple\ndevices.\n\nTest: m nothing\nChange-Id: Ia319a2feacdd1a1ac8b88a6783766c370438ce12\n"
    },
    {
      "commit": "8cf6b65445d721fa5c8d99ea77d9023a0104f060",
      "tree": "b54c85fade3545ce8a3be1cb9716dce1e558f1de",
      "parents": [
        "d55eb7643d684e01f74e580df1fdf258b6f3fc60"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 05 11:01:12 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Sep 15 10:52:13 2018 -0700"
      },
      "message": "Remove *_OUT_INTERMEDIATE_LIBRARIES\n\nAlways use the exact libraries like Soong does instead.\n\nTest: m\nChange-Id: Ifd48020073dd045247f76f84627c497e94562286\n"
    },
    {
      "commit": "696bb33676f0cabcfa64ccec2536d1ff45e1d218",
      "tree": "832ea70a8832b53fd222172c64c5ceb7a0c5dc45",
      "parents": [
        "e56d112bd0afcd7b3371161accd02a3af7972521"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri Aug 17 16:27:01 2018 -0700"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Aug 21 10:30:49 2018 -0700"
      },
      "message": "Install recovery etc files to recovery/root/system/etc.\n\nThey used to be installed under recovery/root/etc. This CL moves the\nfiles to the new location and creates a symlink from /etc to /system/etc\n(done by the rule in system/core/rootdir). This gives similar layout\nbetween normal boot and recovery, and allows installing prebuilt_etc\nfiles with Soong (`recovery_available: true`).\n\nAs part of the change, we no longer need the whitelisting rule for\nmke2fs.conf.\n\nBug: 112780007\nTest: Build with other changes in the topic (aosp_taimen-userdebug).\n      Check the generated files under recovery (/etc being a symlink to\n      /system/etc).\nTest: Boot into recovery. Verify basic functionalities (`adb shell` and\n      `adb sideload`, factory reset).\nTest: `build/soong/build_test.bash --dist`\nChange-Id: Ibb6dea6f179a339f0c2d0fd8ba05ec0085b79a12\n"
    },
    {
      "commit": "d6b3a4cc79b803cbcebc6ca2165e32a44f2a6e0c",
      "tree": "513c9672db51cfe3eca845a579d7f809a06ae241",
      "parents": [
        "d35fdd8b3d7e6ea37d2a0df270d8af4d4d3e8388"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Aug 21 07:31:53 2018 -0700"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Aug 21 07:34:18 2018 -0700"
      },
      "message": "Add the Cleanspec rule for product-services symlink.\n\nBug: 112431447\nTest: `m dist` when there\u0027s a leftover symlink of \"/product-services\".\nChange-Id: I39bb79bd7790fe2243075768c6423b0fddc379f7\n"
    },
    {
      "commit": "924af7d4dd52c88b2b051a8e1ba1f1da0f200cf9",
      "tree": "c37ba245a385e1669b590e65a26dbb4d7243f4a0",
      "parents": [
        "35be6ca8f26122109ea979826d4eae96901e7c6a"
      ],
      "author": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Fri Aug 17 00:56:14 2018 +0100"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Aug 20 10:44:59 2018 -0700"
      },
      "message": "s/product-services/product_services/g\n\nAttempting to reduce the number of different spellings we have for\n\"product services\" partition in the codebase.\n\nBug: 112431447\nTest: m\nChange-Id: I6debd3f5f5abc4bd1e22f2ef11c5fe131915976c\nMerged-In: I6debd3f5f5abc4bd1e22f2ef11c5fe131915976c\n"
    },
    {
      "commit": "a566dce20b36942cc5143a12eaefe0aebaa274a0",
      "tree": "03452d3b7c87e248a3b9ab3e853d2d1464bf0204",
      "parents": [
        "68883e0717e6fe94cbfc60389a996d096169dea5"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Wed Aug 01 13:33:15 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Aug 20 10:44:50 2018 -0700"
      },
      "message": "Update CleanSpec to remove generated files from IVold.aidl.\n\nBug: 112058806\nTest: Device booted after flashing a build with this change.\nChange-Id: If0bda6869a7ed09b8c320b5c44c43f9d4cb4c3dd\nMerged-In: If0bda6869a7ed09b8c320b5c44c43f9d4cb4c3dd\n"
    },
    {
      "commit": "91c5154a420935e2f055feee247e1f20b1f27235",
      "tree": "ff3308848c0f43fd295110a457fc30335abeccfa",
      "parents": [
        "ea0366589ae69e5e9be07c644bd496237c79cb1c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jun 20 16:01:39 2018 -0700"
      },
      "committer": {
        "name": "Po-Chien Hsueh",
        "email": "pchsueh@google.com",
        "time": "Tue Jul 31 02:48:29 2018 +0000"
      },
      "message": "Remove vr_hwc from GSI image.\n\nNot all phones support the VR, so on phones\nthat don\u0027t, the inclusion of vr_hwc is causing\nVtsHalGraphicsComposerV2_1Target failures.\n\nBug: 109913118\nBug: 111963599\nTest: vr_hwc is not on aosp_arm64_ab\nChange-Id: I803b4dddc5a87e35875992ad9421c644698112f1\nMerged-In: I803b4dddc5a87e35875992ad9421c644698112f1\n(cherry picked from commit 52971ca09b8539dd03aeb6303053612d9a900bc6)\n"
    },
    {
      "commit": "c7dee5c9a108137329b549f10d5fe8d478a659d9",
      "tree": "f7075627907695b80bb0afb5abc1c0c4f1571ae4",
      "parents": [
        "830cb4e884093b31c8a32233a6e1ae1d2d4df1e1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 12 14:43:41 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 14 21:36:53 2018 +0000"
      },
      "message": "Move merged AndroidManifest.xml file to manifest subdirectory\n\nSome modules generate their own custom AndroidManifest.xml file\nto $(intermediates.COMMON)/AndroidManifest.xml file.  Move the\nbuild system\u0027s location to\n$(intermediates.COMMON)/manifest/AndroidManifest.xml.\n\nThis location will also be used later for finding manifest files\nfrom LOCAL_STATIC_ANDROID_LIBRARIES dependencies.\n\nBug: 78447299\nTest: m checkbuild\nChange-Id: I345f079bdd191451333b38d882418f2f7150b1e9\nMerged-In: I345f079bdd191451333b38d882418f2f7150b1e9\n(cherry picked from commit 0bcc120b548b61cbf746e1417bdfc9cdccd8c9ed)\n"
    },
    {
      "commit": "47acd31f571ae1eef530ad1b04894432ba7ca7d5",
      "tree": "6302f049d38cba8b96f5d189a41ea377e78a9b76",
      "parents": [
        "b2a5515585edfb0b0adbf60f99e06c0ad2dd1d75"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Tue May 29 16:04:11 2018 -0700"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Tue Jun 05 21:15:06 2018 +0000"
      },
      "message": "Changing the default launcher and recents implementation for system build\n\nBug: 77490347\nTest: Build and flashed system image\nChange-Id: I71dbd7eb731c70656bb816848027626b2c7430cc\n"
    },
    {
      "commit": "d73b94c097fdf4c6d7294ced374b8580ab819fe9",
      "tree": "107291fbee00daf30a1bafaed283c14428b98023",
      "parents": [
        "732ed64fbdba3f67facf6cab2a030d781f2f63b4"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri May 04 19:33:17 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu May 10 21:17:58 2018 +0800"
      },
      "message": "Build a single GSI for O-MR1-VENDOR and Master-VENDOR\n\nThe objective of this commit is to support these 3 combinations:\n\n1. Master-GSI + Master-VENDOR (w/ BOARD_VNDK_VERSION)\n2. Master-GSI + Master-VENDOR (w/o BOARD_VNDK_VERSION for upgrading devices)\n3. Master-GSI + O-MR1-VENDOR (w/ BOARD_VNDK_VERSION)\n\nThis commit defines a new property `ro.vndk.lite` to indicate the status\nof BOARD_VNDK_VERSION run-time enforcement.  Now, all devices should\nhave `ro.vndk.version` so that `libhidlbase.so`, `libRSCpuRef.so`, and\n`libnativeloader.so` can find the versioned VNDK directory.\n\nBug: 78605339\nTest: aosp_sailfish Master-SYSTEM + Master-VENDOR boots\nTest: aosp_sailfish Master-GSI    + Master-VENDOR boots\nTest: aosp_walleye  Master-SYSTEM + Master-VENDOR boots\nTest: aosp_walleye  Master-GSI    + Master-VENDOR boots\nTest: aosp_walleye  Master-GSI    + O-MR1-VENDOR boots\nChange-Id: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c\n"
    },
    {
      "commit": "50e8751056d974b053489c8d87c1519e293f3eb2",
      "tree": "f75ed1900248c66f82ab2237713014dc7d9627ed",
      "parents": [
        "ccf8992ac281ee1d58e117c46823b0ccef8583a3"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 20 13:36:40 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 20 15:48:03 2018 -0700"
      },
      "message": "Add asan-specific CleanSpec\n\nASAN builds run as two consecutive builds.  The cleanspec is applied by\nthe first one, which cleans the obj directory, and ignored by the\nsecond.  This can result in old entries in the obj_asan directory.\n\nBug: 73885582\nTest: obj_asan dirs are deleted\nChange-Id: I54b8ec9cff581fcd9ec2a843aa7126805340c387\nMerged-In: I54b8ec9cff581fcd9ec2a843aa7126805340c387\n(cherry picked from commit 4e2da3277a1297bd403b07abcf9a36275826424b)\n"
    },
    {
      "commit": "ccf8992ac281ee1d58e117c46823b0ccef8583a3",
      "tree": "64f3ca0d10d0243398390e61cf60ceb05268f845",
      "parents": [
        "b543a4f80c07c056325601d512f99ebdf6d89455"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 08 16:49:16 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 20 15:47:45 2018 -0700"
      },
      "message": "Use a srcjar for aapt and aapt2 output\n\nDumping files in the *_intermediates/src causes incremental build\nproblems, because we don\u0027t know when to delete them if they are\nno longer generated.  Switch to outputting a srcjar instead, and\npass it in to the turbine and javac compiles.\n\nBug: 73885582\nTest: m checkbuild\nChange-Id: Ibef28507522339d930c09426d0c98372eb864cb6\nMerged-In: Ibef28507522339d930c09426d0c98372eb864cb6\n(cherry picked from commit 2d1cddd5674d88c07350a52fa656cc441be04418)\n"
    },
    {
      "commit": "ec7be103d0068995d85fcd03fa6edec9d1b1ec97",
      "tree": "ca83b33a9fde30c1c6835e5e7e560bf1f5836eec",
      "parents": [
        "65c7cdf2a74fc425920ff2b6ad4512cd663053f9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Mar 12 23:39:27 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 20 15:47:45 2018 -0700"
      },
      "message": "Use srcjar and resource zip as output of renderscript rules\n\nReplace RenderScript.stamp with a srcjar, with a resource zip as\nan implicit output.  This makes the renderscript rules self contained,\nwhich will make it easier to move them before aapt.\n\nBug: 73885582\nTest: m checkbuild\nChange-Id: I12d33e52019aebac6ea33271939228e4690a4173\nMerged-In: I12d33e52019aebac6ea33271939228e4690a4173\n(cherry picked from commit e00e2fae52ea85c2e7f637d4760743363f9a0bcc)\n"
    },
    {
      "commit": "12f3d9e2be76a9a6e1bdae79f7907553ec4c8a3e",
      "tree": "0f1a6c5aec287d4cf1c1878d076024c0a4810d6d",
      "parents": [
        "d027dfa39f96fcd7e20966ca1d0db1819d7d37cb"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Mar 09 17:30:14 2018 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Mar 15 19:23:05 2018 +0000"
      },
      "message": "Multi cutout: replace narrow with corner overlay\n\nBug: 74982138\nTest: make droid\nChange-Id: Ia6b25a0cf3718d316f944b7abf44fe9711fa0cf5\n"
    },
    {
      "commit": "17444d16c2fbcd7e89f3a7a5a3cf1f634da37d67",
      "tree": "1204396c9edf4cc0da198255aca91c723c1a1b11",
      "parents": [
        "1a50e975aef4875a26db8037d9c13a0a2ee6a2c4"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Mar 09 17:30:14 2018 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Mar 13 13:45:23 2018 +0100"
      },
      "message": "Multi cutout: replace wide with double overlay\n\nBug: 74195186\nTest: make droid\nChange-Id: I4758ed081a0e306f87db21c9bc2c8160c455a0e6\n"
    },
    {
      "commit": "8f863693c9fe04501ff4c3549a79174e35834cf8",
      "tree": "9ba3311b7a85bb808457abc7d986720efce0000c",
      "parents": [
        "6704727b692a340f8d2abaacd2f73759decde979"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jan 18 17:51:15 2018 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Jan 19 10:52:27 2018 -0800"
      },
      "message": "move VINTF metadata to /etc/vintf/ .\n\nIn particular,\n/vendor/manifest.xml \u003d\u003e /vendor/etc/vintf/manifest.xml\n/system/manifest.xml \u003d\u003e /system/etc/vintf/manifest.xml\n/vendor/compatibility_matrix.xml \u003d\u003e\n    /vendor/etc/vintf/compatibility_matrix.xml\n\nTest: verify that fileis exist in destination\nTest: hwservicemanager can read these files\nBug: 36790901\nChange-Id: Ic361a48e170fb9a77faec76ad0e829625427820d\n"
    },
    {
      "commit": "a6e878219c8ae1853f3ae1e5e0740f230a68b7ec",
      "tree": "6db0a5de5e60e10954af02de1cfdb49c15a0f392",
      "parents": [
        "ff812829b6f23d3eefbe6d9c131a6479737171ec"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Dec 20 17:33:01 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Dec 20 17:33:01 2017 -0800"
      },
      "message": "Remove obsolete leaf names\n\nclasses-no-debug-var.jar is incorrect, jars in coverage builds\ndo have debug information.  Remove full_classes_compiled_jar_leaf\nand hardcode classes-full-debug.jar.\n\nAfter the previous patch, all dex files have debug information,\nso remove the no-local and with-local directories and replace\nthem with dex/.\n\nRemove the unnecessary jarjar_leaf.\n\nBug: 70886092\nTest: m checkbuild\nChange-Id: I63eace8f8cda5ad8bc0cbd11eefda73dd063ed76\n"
    },
    {
      "commit": "2a233b3b86e76c9bce28a322881c9f2d7fa48746",
      "tree": "5204ea1e648806bd9bd52a241980ed431b5c349a",
      "parents": [
        "c0eabe6d3451cb99090b23cf7c5671817744f9c3"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Thu Dec 07 17:08:19 2017 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Dec 13 10:48:34 2017 +0900"
      },
      "message": "Define PLATFORM_VNDK_VERSION\n\nPLATFORM_VNDK_VERSION means the VNDK version that current build\nprovides. This value will be set to PLATFORM_SDK_VERSION once the\nversion is release. Otherwise, it will be set to \"current\".\n\nBug: 69883025\nTest: device boot\nChange-Id: I3fde4943aa062d9d148a3d7fc2798948870a48c6\n"
    },
    {
      "commit": "d5cce4c3602524e10d3b0558b8f92c4096596344",
      "tree": "20ee7ca63ca3f87fd07310c70999d529e47279de",
      "parents": [
        "0bbd8d9e376ff84e417982796b756f032683d2bd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 27 16:10:18 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 27 16:25:55 2017 -0700"
      },
      "message": "Remove PRODUCT_AAPT2_CFLAGS and PRODUCT_AAPT_FLAGS\n\nPRODUCT_AAPT2_CFLAGS and PRODUCT_AAPT_FLAGS are only used to pass\n--pseudo-localize.  The flag doesn\u0027t need to be conditional on the\nproduct, because the pseudo locale will be stripped out later if it\nis not wanted.  Having it conditional on the product causes the\nAAPT2-compiled resources to vary between products, which causes\nunnecessary rebuilds when swithcing products.\n\nRemove the variables, always add --pseudo-localize, and move\nthe AAPT2 compiled output to the common intermediates.\n\nTest: m checkbuild\nChange-Id: Iacc914114616b5bd19d9a1011802f4f9bca9bc19\n"
    },
    {
      "commit": "4d99527dcd0dc1fa13f13127a77ae6116d1b97f3",
      "tree": "de132a9019819a6a807b24ecceb841de09300fe0",
      "parents": [
        "ba9b0fbc05917d8f35b4684c1e5940f0319270af"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 29 17:37:31 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 29 20:36:50 2017 -0700"
      },
      "message": "Move generated aidl/logtags java classes to a subfolder\n\nSo that they can\u0027t be generated into src/, which would be added to the\nsource list automatically.\n\nBug: 36698184\nTest: m telephony-common without this change, pass\nTest: m telephony-common without the cleanspec, fail with dup class\nTest: m telephony-common with the cleanspec, pass\nChange-Id: I7b2fc1847d52ff4a9ba8c69e76123fe152629ef8\n"
    },
    {
      "commit": "74616d78021450081c7542cb1e1f1db42fa57d6a",
      "tree": "0318ce59af74e0891599e15217cb4864b4af59d6",
      "parents": [
        "51187639405ab6e40e09293fedf7f0a56dc1a90a"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 15:08:27 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 15:08:27 2017 -0700"
      },
      "message": "Add CleanSpec.mk entries for linux -\u003e linux_glibc\n\nSoong renamed intermediate directories from linux_(common|x86|x86_64)...\nto linux_glibc_(common|x86|x86_64)..., so remove the old versions to\nsave space.\n\nTest: Check for old intermediates after applying and running cleanspec\nChange-Id: I73ff39014491826224535e1d45c2215669fd19a2\n"
    },
    {
      "commit": "9a05dca429f1007b31fdf6a5542c94ab07395d5c",
      "tree": "e782453653bf24f0ff9f4faa102eee3625ee9e9b",
      "parents": [
        "d6c7681d85c57a9ed06d1f062c9d0d49eb7d96b4"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri Jul 28 20:22:05 2017 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Aug 24 14:27:49 2017 +0800"
      },
      "message": "Copy adbd from system/bin to recovery/root/sbin\n\nThis change will be submitted with other changes moving adbd from\nroot/sbin to system/bin. We need to copy it specifically to recovery root.\nPreviously it was copied by rsync $(TARGET_ROOT_OUT) $(TARGET_RECOVERY_OUT).\n\nBug: 63910933\nTest: normal boot sailfish, checks adb works\nTest: recovery boot sailfish, checks adb works\nTest: normal boot bullhead, checks adb works\nTest: recovery boot bullhead, checks adb works\n\nChange-Id: Ib49605f97a190aec2648cb000d1159b6e15db673\nMerged-In: Ib49605f97a190aec2648cb000d1159b6e15db673\n(cherry picked from commit 3147e7cfab919c90d322d5cdcd6bd2730d104b38)\n"
    },
    {
      "commit": "bc291e63a00266732daead89828760bd573e7df2",
      "tree": "ffa14eb998eb0ef101794c91e998c9a8460d5c1f",
      "parents": [
        "6ce5a428ae928a8f908daef37697794fcd1ce26d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 01 13:12:40 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 01 13:12:40 2017 -0700"
      },
      "message": "Clean jack intermediates\n\nJack is no longer the default java compiler, clean the intermediates\nto save space.\n\nBug: 36902714\nTest: manual\nChange-Id: I368442c8ad71eb5839c52839f2aa6ca55cf20bdd\n"
    },
    {
      "commit": "8533fa1b9dbc3eecb240b4ce16f33efa9b4849a6",
      "tree": "e1667b95a4e80d008d45ebf333384f9bc294e55e",
      "parents": [
        "8eff2d7c8e20fb90ba470d8bde339c6d004e414b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jul 06 17:33:44 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jul 06 17:46:17 2017 -0700"
      },
      "message": "Fix install location for vendor tests\n\nBug: 63393698\nTest: m -j hidl_test_client; apply; m -j hidl_test_client\nChange-Id: Ia54a8d2aaedd63ce1d70944ee69fda3b9fe223a9\n"
    },
    {
      "commit": "3eb44160e0b90d974d1415829dae87726838e44e",
      "tree": "8a5e2e3f21673fc38742bc5d4bec356766624ad6",
      "parents": [
        "bd8ac3284d1b87805fc35c167e405c10652f66a3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri May 12 16:32:18 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon May 15 14:02:38 2017 -0700"
      },
      "message": "Move version checking to soong_ui\n\nThis removes versions_checked.mk that caused kati to regenerate the\nninja file 3 times for a clean out directory. Kati needs to regenerate\nevery time that we write a file that we also read. soong_ui doesn\u0027t have\nthis problem.\n\nBug: 35970961\nTest: m clean; m -j blueprint_tools; m -j blueprint_tools; m -j blueprint_tools\nTest: $OUT_DIR/versions_checked.mk no longer exists\nChange-Id: I14b67dc275ea3daa77a7315c2985dc73d77fd07c\n"
    },
    {
      "commit": "9d2b3280e8884c32c88b6e181ae55d64a10ce75e",
      "tree": "071bc53e4e3e2d246f05d6e56a524ec84cd9fcef",
      "parents": [
        "2d6e79d2688073619d74e69099a2ea8c4e0f350a"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 07 20:58:43 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Apr 10 15:54:50 2017 -0700"
      },
      "message": "Support split /system and /vendor modules from Soong\n\nSoong modules may be split into both /system and /vendor variants.\nEnsure that Make libraries link against the correct version based on\nwhether LOCAL_USE_VNDK is set.\n\nBug: 36426473\nBug: 36079834\nTest: build-aosp_arm64.ninja files are the same before/after\nTest: attempt building with BOARD_VNDK_VERSION:\u003dcurrent\nChange-Id: I229bc290373743406275f3ca16081eae04c27987\n"
    }
  ],
  "next": "b285c46bbd68d5399c0d369c5667dddef1636b7d"
}
