)]}'
{
  "log": [
    {
      "commit": "58a57667e4d84927f29efb9228e7844bac7937e9",
      "tree": "05ac601075122074ce1ac7d2d6de163d16c2bfd4",
      "parents": [
        "f278d267f5f29db63e5f488f32984fe73949d4b4"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Wed Mar 06 20:21:45 2019 +0000"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Wed Mar 06 20:21:45 2019 +0000"
      },
      "message": "Add Context.bindService with executor parameter\n\nAllow app to control the thread where ServiceConnection methods are\ncalled on.\n\nBug: 111434506\nTest: Used new bindContext method in chrome and checked callbacks\nare on the correct thread.\n\nChange-Id: I480e5bd6773a530fb9e8e73e3a2a2a88b76569ec\n"
    },
    {
      "commit": "eec4726e3cb9410faa8e94057d864920c0017f14",
      "tree": "19abe13a4fc43720b39d2076454971c2cb84ff40",
      "parents": [
        "83624df78e9854c65853a91721ba2bc71c74e713",
        "a8025a851d917bfed6f0ae6d4b174d53d9b53303"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 26 04:16:34 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 26 04:16:34 2019 -0800"
      },
      "message": "Merge \"Revert \"Revert \"Remove legacy-test and legacy-android-test targets\"\"\" am: e051b0c95e am: 643318f4d2\nam: a8025a851d\n\nChange-Id: Ibe9fce04c43c435764c313f64bf49e03fa826012\n"
    },
    {
      "commit": "79d7ba2773e5e6eed4c8176ebaf8c4199839b343",
      "tree": "ac433d419de1a062e38936ce5a30679e10b37c2b",
      "parents": [
        "7d7af10dc9057a49c617c7c97c174e8b4ec5008c"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Feb 25 19:18:37 2019 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Feb 25 19:20:10 2019 +0000"
      },
      "message": "Revert \"Revert \"Remove legacy-test and legacy-android-test targets\"\"\n\nFixes up the android.test.legacy target to stop using sources directly\nnow that the issue with android.test.runner-minus-junit not being able\nto be built against the SDK has been resolved.\n\nAlso, fixes a couple of comments.\n\nThis reverts commit 7d7af10dc9057a49c617c7c97c174e8b4ec5008c.\n\nReason for revert: When this was originally applied it broke the\npi-dev-plus-aosp branch as it contained references to these targets.\nThose references have now been removed.\n\nBug: 63127064\nChange-Id: I619e92faf4cc38f8fd4f053bde832e9a76a2a2bf\nTest: make checkbuild\n"
    },
    {
      "commit": "e00505b90a34ddecb6a89ccf108f73157da9735a",
      "tree": "5248dbaecb7da5e90adad46ec20e61aab816cc67",
      "parents": [
        "5641b63411eeca54697b32676090c329a8f20e8b",
        "95a9dc906f4dd66ebf7530a5597ed817e7ff0e13"
      ],
      "author": {
        "name": "Jakub Gielzak",
        "email": "jgielzak@google.com",
        "time": "Mon Feb 18 10:51:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 18 10:51:09 2019 -0800"
      },
      "message": "Merge \"Revert \"Remove legacy-test and legacy-android-test targets\"\" am: 049c1589ee am: 7f997d4cfc\nam: 95a9dc906f\n\nChange-Id: I1034050336bdf8be84e3b86ae346dc4bfe1737ef\n"
    },
    {
      "commit": "7d7af10dc9057a49c617c7c97c174e8b4ec5008c",
      "tree": "ae7066b1b8e2cbee81cc863f86600cf42e205433",
      "parents": [
        "3b0be60307cc6063795f8cd32356745ee371e757"
      ],
      "author": {
        "name": "Jakub Gielzak",
        "email": "jgielzak@google.com",
        "time": "Mon Feb 18 18:24:17 2019 +0000"
      },
      "committer": {
        "name": "Jakub Gielzak",
        "email": "jgielzak@google.com",
        "time": "Mon Feb 18 18:24:17 2019 +0000"
      },
      "message": "Revert \"Remove legacy-test and legacy-android-test targets\"\n\nThis reverts commit 3b0be60307cc6063795f8cd32356745ee371e757.\n\nReason for revert: Broken build\n\nChange-Id: I71270c7b47163ab7147029f2d3961d1848fdd9eb\n"
    },
    {
      "commit": "0cc3064adabf4cb78fce3bb37105e85a2267717b",
      "tree": "5f423f4733893cccbb1b53955ee51c07c51c72b2",
      "parents": [
        "45161105700e9ed371ce09e143498e300896c8fb",
        "9248379c9834e372d48317263e386e01b74267b8"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Feb 18 07:44:41 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 18 07:44:41 2019 -0800"
      },
      "message": "Merge \"Remove legacy-test and legacy-android-test targets\" am: 14daedf747 am: 4a83feb18a\nam: 9248379c98\n\nChange-Id: Ia409c6c4596269120386f8ae47d7f6379a1073bf\n"
    },
    {
      "commit": "3b0be60307cc6063795f8cd32356745ee371e757",
      "tree": "ac433d419de1a062e38936ce5a30679e10b37c2b",
      "parents": [
        "d989ed753d3a46c017f3729aa466939b2945ddcc"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Feb 14 12:52:50 2019 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Feb 15 10:08:35 2019 +0000"
      },
      "message": "Remove legacy-test and legacy-android-test targets\n\nFixes up the android.test.legacy target to stop using sources directly\nnow that the issue with android.test.runner-minus-junit not being able\nto be built against the SDK has been resolved.\n\nAlso, fixes a couple of comments.\n\nBug: 63127064\nTest: make checkbuild\nChange-Id: If38fa0d87b36343896e97efb2269ac070810db84\n"
    },
    {
      "commit": "0f167a214aca5fd02b42a8efaa7e14468598ae3e",
      "tree": "be4bb42eefcc541971b4999c6165325493ce93e2",
      "parents": [
        "9f6f2e7990dd14b89f03a4ce8dd8c648c9ff2855",
        "8d838a3cedbcb360ab3d6cdacaaecbd95dc2c404"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Mon Feb 11 18:05:30 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 11 18:05:30 2019 -0800"
      },
      "message": "Merge \"Convert Android.mk file to Android.bp\" am: 190ff7457c am: 4bb2c54698\nam: 8d838a3ced\n\nChange-Id: I2c2c5ccb7da321ee7896e01131f84090797eb6db\n"
    },
    {
      "commit": "31754eb5df1f5a98638ce5c93b90c0814bf43b35",
      "tree": "fcd66370633d5825517e64de2a6ae1d6df1c70bb",
      "parents": [
        "3b988d1782981ac2c0a491c022c00d90e1696622"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Mon Feb 11 14:41:25 2019 -0800"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Mon Feb 11 14:58:20 2019 -0800"
      },
      "message": "Convert Android.mk file to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122332340\nTest: treehugger\nChange-Id: I52416790e1e4493dd4fe57404095351b8d37ea22\n"
    },
    {
      "commit": "2ac4d5cc0354b6c7acf66734aba450a4ea805832",
      "tree": "8e1f6bee8c04310de6f797913aad8022195db833",
      "parents": [
        "683fe3ea0e7abdf7d66db875b8233f340de72254",
        "17abc1fd9601e23a29a332e2281f801f20aac2ee"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Feb 08 04:26:35 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 08 04:26:35 2019 -0800"
      },
      "message": "Merge \"Add TEST_MAPPING for api specifications\" am: 6bb71b0322 am: cd2586709b\nam: 17abc1fd96\n\nChange-Id: I76724e470d2de7b34900a5d21b6dd3b24ee6124d\n"
    },
    {
      "commit": "507cbc4e5836f583e78527d0f631fc58d8596ecd",
      "tree": "990105c1bd484ffe5e71ae4fd820744901ed1119",
      "parents": [
        "6606b7724700c8be28762a70376a39c854b73df1"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Feb 04 15:43:20 2019 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 06 13:57:42 2019 +0000"
      },
      "message": "Add TEST_MAPPING for api specifications\n\nChanges to the various api directories will run the\ntests which make use of the API specification in those directories.\n\nCould not include CtsSystemApiSignatureTestCases as it is broken on\ngit_master because of bug 116632058.\n\nBug: 123254057\nTest: atest\nChange-Id: I1fe4ca498cbd0393aba7cf4c1386a6325ace7937\n"
    },
    {
      "commit": "68ea0c3c1375c9a14a0851b90899f36b5d355403",
      "tree": "cdc2c9e5d6b93f789d2be836729def1e19dc20e8",
      "parents": [
        "401e3d4c842ce86569de4477138137dc07a6aa6f"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Wed Dec 26 19:55:07 2018 -0800"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Sat Jan 19 12:07:50 2019 -0800"
      },
      "message": "Update signature files to the new format\n\nThe new format is described in tools/metalava/FORMAT.md.\n\nFixes: 116589402 Switch signature files over to the v2 format\nFixes: 112626813 Drop \"synchronized\" modifier from the signature format\nFixes: 122358225 Omit overriding methods that only differ in final [...]\nFixes: 73088715 API Review: Need doclava to output nullability\nFixes: 79739773 API Review: Metalava enforcing constants are constant\nExempt-From-Owner-Approval: Large-scale tooling change\nTest: make sdk, make update-api, make checkapi\nChange-Id: Ia248aece5250e84e47c815c601133b698bf644c2\n"
    },
    {
      "commit": "8752dedb760cd270e2ecc8f9cd3bb4f00f55e23f",
      "tree": "76efbd9785ea1853a9b288b5738a988d0da7935f",
      "parents": [
        "bc6e433ae488b4ad807c1503a53155a3259fd0b8"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Wed Dec 26 19:55:07 2018 -0800"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Sat Jan 19 07:22:55 2019 -0800"
      },
      "message": "Update signature files to the new format\n\nThe new format is described in tools/metalava/FORMAT.md.\n\nFixes: 116589402 Switch signature files over to the v2 format\nFixes: 112626813 Drop \"synchronized\" modifier from the signature format\nFixes: 122358225 Omit overriding methods that only differ in final [...]\nFixes: 73088715 API Review: Need doclava to output nullability\nFixes: 79739773 API Review: Metalava enforcing constants are constant\nExempt-From-Owner-Approval: Large-scale tooling change\nTest: make sdk, make update-api, make checkapi\nChange-Id: I8314f4e7099fa92e4f8ed7d283ccf836cc9a84a0\nMerged-In: Ia248aece5250e84e47c815c601133b698bf644c2\n"
    },
    {
      "commit": "485577cb78cac4a610047bf62e5524636cb16601",
      "tree": "452db5dd9e4cb699b767e9dcee041ef842658b2c",
      "parents": [
        "f30016dd8b3bf0eacf511ad51e34ec0ef9aa4f69",
        "78a6782dbb51c720af92ee6ca609a30d6fc5431c"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Dec 12 21:28:08 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 12 21:28:08 2018 -0800"
      },
      "message": "Merge \"Switch to metalava\" am: f53c398133 am: d1eae3244e\nam: 78a6782dbb\n\nChange-Id: If6bd8a784514916f4fd47c186c0b9bbf04329be6\n"
    },
    {
      "commit": "26420f6345dbd9d5d013fc8fc9bea7d98c026811",
      "tree": "d77efb36f4b0e29ff69b811f7cab6e326a833f04",
      "parents": [
        "4e780bd992e641c719edfcc99f45948ef6d9b71a"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Nov 20 17:47:23 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Dec 12 18:38:46 2018 +0900"
      },
      "message": "Switch to metalava\n\nandroid.test.base and android.test.runner libraries are changed to using\nmetalava instead of docalava\n\nBug: 119625999\nTest: m -j\nChange-Id: I589ea59240f8b5d442931a1f1b614221d9eaf221\n"
    },
    {
      "commit": "27b4d94a07ac00367ad12b667c983a89153537d8",
      "tree": "6e7786697585c7cbefe705c79ddc83f7eeb85109",
      "parents": [
        "59805434784886d79c6bdb8253b0aae5351be8d3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 12 15:01:40 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 13 16:03:02 2018 -0800"
      },
      "message": "Implement naming of isolated service bindings.\n\nThis allows clients to run multiple instances of the same\nmanifest service declaration.  It only works for isolated\nservices, to avoid too much abuse temptation.  This is part\nof the \"Chrome site isolation\" work, to allow chrome to have\nmany more render processes running and help it manage them.\n\nBug: 111434506\nTest: atest CtsAppTestCases:ServiceTest\nChange-Id: I22e65758678a07075ed32ed6463082ddf846d3a4\n"
    },
    {
      "commit": "ccf9672f6493add8274e800e814c0f85c9c04d3b",
      "tree": "df908d424f9b644f935c84161b1c54da8d66c81d",
      "parents": [
        "7b532b7370d2f19a08fc373ba0e95663d96cbfd6"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Sep 17 15:23:14 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Thu Oct 04 14:27:37 2018 +0900"
      },
      "message": "Add the metalava_enabled property\n\nThe new property is added for supporting metalava. But some sdk library\ncannot use metalava. So \"metalava_enabled: false\" is added to these\nmodules.\n\nTest: make -j\nTest: checkapi\nBug: 117127012\nMerged-In: Ib65f3cd73dac0ac6ed64afeca6546d99739e4424\nChange-Id: Ib65f3cd73dac0ac6ed64afeca6546d99739e4424\n(cherry picked from commit 558e702be0eb2de76bb45303c99322561d73216c)\n"
    },
    {
      "commit": "558e702be0eb2de76bb45303c99322561d73216c",
      "tree": "c1cf53825977e2c350c63d324247f9985a92d7fc",
      "parents": [
        "2623812b096c5aa6b9e1ef7e3d82b85b791b3b05"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Sep 17 15:23:14 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Oct 02 01:50:09 2018 +0000"
      },
      "message": "Add the metalava_enabled property\n\nThe new property is added for supporting metalava. But some sdk library\ncannot use metalava. So \"metalava_enabled: false\" is added to these\nmodules.\n\nTest: make -j\nTest: checkapi\nBug: 117127012\nChange-Id: Ib65f3cd73dac0ac6ed64afeca6546d99739e4424\n"
    },
    {
      "commit": "e933cedf837d39a713ef44cadfb07f2c1d863652",
      "tree": "9b32fba18cacc61fb6d7b6145a73183a9e50f2ba",
      "parents": [
        "c96760f4f30279bdddcbdc83398bc069740970f1"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Jul 31 16:54:41 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Aug 29 12:22:59 2018 +0900"
      },
      "message": "Build android.test.* with java_sdk_library\n\nandroid.test.* are built with java_sdk_library and api files are added\nby running \"make update-api\".\n\nandroid.test.base_static is created for allowing to use\nandroid.test.base as a static library.\n\nBug:77577799\nTest: make -j\nTest: make checkapi\nTest: make checkapi fails with a random change in the txt file\nTest: adb shell cmd package list libraries |\\\n      grep android.test.*\n      And check the android.test.* libraries\n\nMerged-In: Ia27612657532e50b077a9c55dbef59ee3ec04b8a\nChange-Id: Ia27612657532e50b077a9c55dbef59ee3ec04b8a\n"
    },
    {
      "commit": "f24779c8c7a3f647f65944e02425b751e580b393",
      "tree": "b7918d6a1a8466b841d915a0628b2e64bc36797f",
      "parents": [
        "c58fdf35e71e31f8e3ad9d472a9aead8002d2f24"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Jul 31 16:54:41 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Aug 16 12:16:28 2018 +0900"
      },
      "message": "Build android.test.* with java_sdk_library\n\nandroid.test.* are built with java_sdk_library and api files are added\nby running \"make update-api\".\n\nandroid.test.base_static is created for allowing to use\nandroid.test.base as a static library.\n\nBug:77577799\nTest: make -j\nTest: make checkapi\nTest: make checkapi fails with a random change in the txt file\nTest: adb shell cmd package list libraries |\\\n      grep android.test.*\n      And check the android.test.* libraries\n\nChange-Id: Ia27612657532e50b077a9c55dbef59ee3ec04b8a\n"
    },
    {
      "commit": "f8d22dec8788d18c5b37adf3b4710691d5d347ed",
      "tree": "4c4134a5698ec16786423ad7430dec38ae36b1b0",
      "parents": [
        "d7647c1b6685dbf03ff096fd73424163f2468e4e",
        "6e3c86c8ed7a1bcfcbc63bbded0043d4b4efbe10"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jul 11 11:56:34 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jul 11 11:56:34 2018 +0100"
      },
      "message": "resolve merge conflicts of 6e3c86c8ed7a1bcfcbc63bbded0043d4b4efbe10 to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ide3c4e229b47e4242cacafc04b70d8b392712cc8\n"
    },
    {
      "commit": "6e3c86c8ed7a1bcfcbc63bbded0043d4b4efbe10",
      "tree": "f30e99989abc761bb86b5256519d649aef86c5d6",
      "parents": [
        "b4919259ab3a5caf367ca05798618c6785606182",
        "89c6432dbf33f7d1d1ce537d2a4e64406f0030fb"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jul 11 09:18:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 11 09:18:15 2018 +0000"
      },
      "message": "Merge \"Compile android.test.*.stubs into dex\""
    },
    {
      "commit": "a977a37c85c4ea5fb785310e0ae78d4d0aa58528",
      "tree": "6515bcca981019ce80f6f14d662bd6ffdfd46408",
      "parents": [
        "0ae3baae77a2d690edc43afd9d24bd73ed2e8bfa",
        "c7f9e053eca9a0c2053ea98442a59a1010afa363"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 10 09:45:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 10 09:45:03 2018 -0700"
      },
      "message": "Merge \"Mark installable jars with installable: true\" am: 1035f48f61 am: 19609a7993\nam: c7f9e053ec\n\nChange-Id: I5934f14ced4a89fa234d75fde733aae1f102cc7a\n"
    },
    {
      "commit": "19609a7993f30794e79f0f828b06c3ff96fdd20f",
      "tree": "051454c4aca935162bede26e26cb7da6433982ee",
      "parents": [
        "06aa142232b118f4e5c4d7b0889c000164bcb4ea",
        "1035f48f612f259cfa4b6433a5d62cda7355f4ff"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 10 09:12:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 10 09:12:46 2018 -0700"
      },
      "message": "Merge \"Mark installable jars with installable: true\"\nam: 1035f48f61\n\nChange-Id: Ia3176e68ddd7cfdb8351b2a0ea95efc9dd94d922\n"
    },
    {
      "commit": "89c6432dbf33f7d1d1ce537d2a4e64406f0030fb",
      "tree": "a15ae6ccd1a760cb64a65b0c8d55074148601d59",
      "parents": [
        "ef941e192a16d57cf58dc42f4befb50d87f62042"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 28 10:23:50 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jul 10 13:37:05 2018 +0000"
      },
      "message": "Compile android.test.*.stubs into dex\n\nAdjust the build rules of android.test.*.stubs packages to also\nproduce a jar with dex files. This will be used by the `hiddenapi`\ntool to categorize the boot class path equivalents as public API.\n\nBug: 79409988\nTest: m android.test.base.stubs ; check javalib.jar contains dex\nMerged-In: I1d0850b18044c559ea4b9893d929dc45884b32c3\nChange-Id: Ief28cd5e6d0cdd58f22fab751e0173ccf8c69a0c\n"
    },
    {
      "commit": "a2c457fd2a7a805c4150b495965b8ee019f0ee43",
      "tree": "9e0d097d1e22811bb968fd5cc48710c18cb8e288",
      "parents": [
        "e7325a018922402599c5594ce9518f63c46e710e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 28 10:23:50 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jul 10 14:34:52 2018 +0100"
      },
      "message": "Compile android.test.*.stubs into dex\n\nAdjust the build rules of android.test.*.stubs packages to also\nproduce a jar with dex files. This will be used by the `hiddenapi`\ntool to categorize the boot class path equivalents as public API.\n\nBug: 79409988\nTest: m android.test.base.stubs ; check javalib.jar contains dex\nChange-Id: I1d0850b18044c559ea4b9893d929dc45884b32c3\n"
    },
    {
      "commit": "a12c0f506cf509e1220f0095010350181c31c367",
      "tree": "7598f2489c53f952940acf254840648450a4b6f2",
      "parents": [
        "f40f05229c81971720ae16d20a2e629f142f39a7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 27 11:00:11 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 27 11:49:44 2018 -0700"
      },
      "message": "Mark installable jars with installable: true\n\nMost jars don\u0027t need to be installed on the device.  Instead of\nusing java_library and java_library_static to distinguish between\nthem make java_library and java_library_static identical and use\ninstallable: true to identify the few jars that need to be dexed\nand installed on the device.\n\nBug: 110885583\nTest: m checkbuild\nChange-Id: I579da7c1a712ec4fb49e288e7f3ab369cb75baf4\n"
    },
    {
      "commit": "3561420fe609f0366da7d82d6c260d03710172c5",
      "tree": "b26cca777572a304146431386d8c63e51451a95f",
      "parents": [
        "3b413dbd11a3de62d19e31409a02d44ec1b4adf4",
        "c8a02597214d2ba78e168d8831b2d4c1ef7056f0"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Mon May 07 18:25:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 07 18:25:56 2018 -0700"
      },
      "message": "Merge \"Convert android.test.runner.stubs to Soong\" am: 6fa8d06c78\nam: c8a0259721\n\nChange-Id: I5c30b9805219d516df9a438b87e28dc775d74557\n"
    },
    {
      "commit": "4a139d040621a3b7565b7b540a936339f1e989d9",
      "tree": "6a18ab267e7070df365ff3ebb53b2b14cced2ec0",
      "parents": [
        "ecb0302ae9d0391f24f42de2cd95d75a64cefe18"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Thu Apr 26 14:55:41 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Thu Apr 26 14:55:41 2018 -0700"
      },
      "message": "Convert android.test.runner.stubs to Soong\n\nTest: m clean \u0026\u0026 m check-android-test-runner-api, and check jar file\ncontent.\nBug: b/70351683\n\nChange-Id: I6ab6bded4bb2432212fcb4f676b27624fe17a397\n"
    },
    {
      "commit": "3fb224521ade14584c0d44ccaa4b9e9053fae7cb",
      "tree": "d5aab0f7bd594ff2734bd0d39529b4fa1c69233a",
      "parents": [
        "420ab92b0bc79b7f603e04308e1a2abcf348860d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 13 16:06:03 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Apr 13 11:21:54 2018 +0900"
      },
      "message": "Make android.test.mock.stubs in Android.bp\n\nStubs libraries android.test.mock.stubs and\nandroid.test.mock.stubs-system are now built in Android.bp.\n(Note that API check and update are still done in Android.mk)\n\nAs a good side effect, this allows android.test.runner[-minus-junit]\nlibraries (that are defined in Android.bp) to be built with the\nandroid.test.mock.stubs instead of the runtime library\nandroid.test.mock. This in turn allows us to prevent java:sdk -\u003e\njava:platform dependency also in Soong, because the runner libraries\nwere the only violators.\n\nBug: 73829976\nTest: m -j android.test.mock.stubs android.test.mock.stubs-system\nTest: m -j checkapi\nTest: m -j update-api\nMerged-In: I830a8eb13aa43b9aa4c8394f3c2fd91ee18b1f85\nChange-Id: I830a8eb13aa43b9aa4c8394f3c2fd91ee18b1f85\n(cherry picked from commit e649b8066c3385ba0b667a79d378402b15ef3127)\n"
    },
    {
      "commit": "6964add112adadfac4c59dddce1b21beeb570cfe",
      "tree": "f3639e891f96aa2e79caf851687e71fee77c621c",
      "parents": [
        "293eb1206981518eeaeced321708ede1ccf2cec9"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 13 16:06:03 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Mar 30 14:57:11 2018 +0900"
      },
      "message": "Make android.test.mock.stubs in Android.bp\n\nStubs libraries android.test.mock.stubs and\nandroid.test.mock.stubs-system are now built in Android.bp.\n(Note that API check and update are still done in Android.mk)\n\nAs a good side effect, this allows android.test.runner[-minus-junit]\nlibraries (that are defined in Android.bp) to be built with the\nandroid.test.mock.stubs instead of the runtime library\nandroid.test.mock. This in turn allows us to prevent java:sdk -\u003e\njava:platform dependency also in Soong, because the runner libraries\nwere the only violators.\n\nBug: 73829976\nTest: m -j android.test.mock.stubs android.test.mock.stubs-system\nTest: m -j checkapi\nTest: m -j update-api\nMerged-In: I830a8eb13aa43b9aa4c8394f3c2fd91ee18b1f85\nChange-Id: I830a8eb13aa43b9aa4c8394f3c2fd91ee18b1f85\n(cherry picked from commit e649b8066c3385ba0b667a79d378402b15ef3127)\n"
    },
    {
      "commit": "a3e79fbb8cdc9ef78e519f2d89e2f70e41864a1d",
      "tree": "e2bac4b9794e76f3923b096f5efb99d631a19c6a",
      "parents": [
        "e8b557bc08facb3d60b605f3e8cb26b31baaa28b"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 17:15:21 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nChange-Id: Ibcffec873a693d1c792ca210fb597d2bf37e9068\nMerged-In: I4233b9091d9066c4fa69f3d24aaf367ea500f760\n"
    },
    {
      "commit": "3ee84990de1b176fa3ceab6218d2b7f31e1ed44b",
      "tree": "2deffa2b9fd7c04efe1e6792b1037aec3fdf6b77",
      "parents": [
        "5ef42473526b480c8295389288fa90873a18bff1",
        "ab6ec61251786bf6b4d0407db3bc28aeefcb55db"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 17:09:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 17:09:04 2018 +0000"
      },
      "message": "Merge \"frameworks/base: Set LOCAL_SDK_VERSION where possible.\""
    },
    {
      "commit": "ab6ec61251786bf6b4d0407db3bc28aeefcb55db",
      "tree": "fbdb5c5bd38879440eac702018dd53c0ed639541",
      "parents": [
        "58c83fa7c8609059f3d66a5860abb302284c2981"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 15:13:23 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nChange-Id: I4233b9091d9066c4fa69f3d24aaf367ea500f760\n"
    },
    {
      "commit": "bedfae98011075935cd3e49b8ff8f241b2f3ba81",
      "tree": "d0fbe476e9e413916c41fe2ca924c90d76f3f7d9",
      "parents": [
        "2b6ba64cc5f7d63fa4a451d418f83ee43762cb3d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Feb 22 12:16:31 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Feb 26 11:57:26 2018 +0000"
      },
      "message": "Remove repackaged.android.test.mock\n\nThe repackaged.android.test.mock uses internal APIs so cannot be built\nagainst the SDK which means that anything that depends on it cannot\nguarantee to run if those internal APIs change.\n\nThat library was built because the classes in\nrepackaged.android.test.runner depend on them. However, the\nrepackaged.android.test.runner library is only used by the\ncts-api-signature-test target and it does not use any android.test.mock\nclasses directly, or indirectly. Therefore, this simply excludes any\nclasses from repackaged.android.test.runner that depend on\nandroid.test.mock classes so that repackaged.android.test.mock can be\nremoved altogether.\n\nBug: 69899800\nBug: 30188076\nTest: make checkbuild\nChange-Id: If4528e6a4ec2b08faffd6d413672c5004d85e0a9\n"
    },
    {
      "commit": "919ff2268b22e9fde5cbb08404d3a567dde86890",
      "tree": "a6bcaff6dea245ff138a402c0c9fcd78c2ff18a0",
      "parents": [
        "9a50d7579516ee3b877aab84f412bdd2d0fe03b4",
        "4cdec67417f977427422b13e8218246a507cb2fc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 22 13:39:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 22 13:39:10 2018 +0000"
      },
      "message": "Merge changes I8e432950,Id325b8cf\n\n* changes:\n  Build android.test.base/legacy against SDK\n  Fix visibility issues with android.test.mock.stubs\n"
    },
    {
      "commit": "029925aa04c6c76ea8588ec2386a9516c5e5ea4b",
      "tree": "2bb8d8a1703f835f0f368b119e1ac5284ac6ccde",
      "parents": [
        "2eea7afe677603a7d668c103486df188299872b8"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Feb 22 14:16:35 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Feb 22 14:16:35 2018 +0900"
      },
      "message": "Build android.test.runner and its variants with SDK\n\nThey are not using any private APIs, thus eligible to be built with SDK.\n\nTest: m -j\nChange-Id: I82c7e2a739a40d6d2f1488164b25503a8a454b0d\n"
    },
    {
      "commit": "4cdec67417f977427422b13e8218246a507cb2fc",
      "tree": "b5809738a6495155bcc007c6fe71d784851870a3",
      "parents": [
        "d89c7790e1664c42d5986d4954a113d3fd1b675e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 14 10:36:16 2018 +0000"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Feb 21 15:59:56 2018 +0000"
      },
      "message": "Build android.test.base/legacy against SDK\n\nandroid.test.legacy is now build against SDK, thus available to apps\nbuild with SDK.\n\nIn doing so, android.test.mock.stubs had to be built with SDK (because\nit is used by android.test.legacy). However, this wasn\u0027t trivial.\n\nThe problem was that some classes in test-mock implemented abstract\nmethods of platform classes. Even though they are marked as @hide,\ndoclava automatically emit them to the stub file because otherwise the\nclass in the stub file does not implement some abstract methods from its\nparent class, which in turn makes the stub file non-compilable.\n\nThis CL solves the problem by introducing an adapter class in between\nthe class in test-mock and the class in the framework. The adapter class\nimplements abstract methods which are @hide and having reference to\ntypes that aren\u0027t available to SDK. The abstract methods are removed\nfrom the original class. Then doclava does not emit the abstract\nmethods.\n\nAlso by @hide\u0027ing the adapter classes, they are not compiled when\nbuilding the stub library.\n\nBug: 30188076\nBug: 73339598\nTest: m -j android.test.base\nTest: m -j android.test.legacy\nTest: m -j android.test.mock.stubs\nare successful and do not show link-check warning\nMerged-In: I8e432950e693ee3c6f0240852e62da6133d31571\nChange-Id: I8e432950e693ee3c6f0240852e62da6133d31571\n"
    },
    {
      "commit": "db69b25f44c6eaedd9ee92db7dfd8b86e8bea656",
      "tree": "cdc80e1451e1772eaaa063f611a725d44fa58277",
      "parents": [
        "afda9e4dac46f815e8f252f3fb94144415f597c8",
        "001d87c81f2f2dba7b0440f50d2a1368d95de5d7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 21 15:56:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 15:56:08 2018 +0000"
      },
      "message": "Merge \"Build android.test.base/legacy against SDK\""
    },
    {
      "commit": "7fbf7dba6f1db5bac5d22f2b3f54ae66ac53081b",
      "tree": "c0003548191dc01e78e9fa669553ecec8482afb0",
      "parents": [
        "422ec51d136658aee90c27aa82d4a8401b7452e1",
        "01bdda9de8faece630f4c870453f52614e44c58d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Feb 19 16:45:03 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 19 16:45:03 2018 +0000"
      },
      "message": "Merge \"Turn on DepAnn for test-base and test-runner\" am: 8dbbc3543e am: 38a916fb74\nam: 01bdda9de8\n\nChange-Id: I6805f692437719838bef7a4b7e51b3130d6f384e\n"
    },
    {
      "commit": "001d87c81f2f2dba7b0440f50d2a1368d95de5d7",
      "tree": "05aad1ab2876ead89366d25a868b7599899bf200",
      "parents": [
        "c3e4916301b421700ca80a338c6086c5cb33a844"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 14 10:36:16 2018 +0000"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sun Feb 18 21:47:42 2018 +0900"
      },
      "message": "Build android.test.base/legacy against SDK\n\nandroid.test.legacy is now build against SDK, thus available to apps\nbuild with SDK.\n\nIn doing so, android.test.mock.stubs had to be built with SDK (because\nit is used by android.test.legacy). However, this wasn\u0027t trivial.\n\nThe problem was that some classes in test-mock implemented abstract\nmethods of platform classes. Even though they are marked as @hide,\ndoclava automatically emit them to the stub file because otherwise the\nclass in the stub file does not implement some abstract methods from its\nparent class, which in turn makes the stub file non-compilable.\n\nThis CL solves the problem by introducing an adapter class in between\nthe class in test-mock and the class in the framework. The adapter class\nimplements abstract methods which are @hide and having reference to\ntypes that aren\u0027t available to SDK. The abstract methods are removed\nfrom the original class. Then doclava does not emit the abstract\nmethods.\n\nAlso by @hide\u0027ing the adapter classes, they are not compiled when\nbuilding the stub library.\n\nBug: 30188076\nBug: 73339598\nTest: m -j android.test.base\nTest: m -j android.test.legacy\nTest: m -j android.test.mock.stubs\nare successful and do not show link-check warning\nChange-Id: I8e432950e693ee3c6f0240852e62da6133d31571\n"
    },
    {
      "commit": "2d86c7a4c77f9764d9d1f90e0c911acfcb0d6a23",
      "tree": "afe716f2dbc32efbc9193130f0211cdb0f0cc829",
      "parents": [
        "46656fa28ec257c8ffcfe4964da3d8047cff49d4"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Feb 16 13:11:05 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Feb 16 15:40:24 2018 +0000"
      },
      "message": "Turn on DepAnn for test-base and test-runner\n\nBug: 30188076\nTest: m -j20 RUN_ERROR_PRONE\u003dtrue android.test.base android.test.runner\nChange-Id: I735e3fbfcc710f1dc1b96e04f91b9feda8727b6c\n"
    },
    {
      "commit": "12afc7fd7e0a36500c63665021413c944e466234",
      "tree": "58d86459865d46a585c1706b19e8c817186d955b",
      "parents": [
        "8153b12c6a1d300c8c8e231e50754e6b70ef8c49",
        "be3a10993f6753957c166c7e017455f465deb1f7"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Feb 07 03:34:16 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 07 03:34:16 2018 +0000"
      },
      "message": "Merge \"Pin jarjar targets to java_version 1.8.\" am: 2bbf12aa78 am: 3f48e86917\nam: be3a10993f\n\nChange-Id: Ib098b09674edb62f5a27be70f4c3be911a7e0cf6\n"
    },
    {
      "commit": "2bbf12aa78e3583bfcbe7f468a18d0da3bce24ab",
      "tree": "3fed7a21256c5c9617df3a0846e052df8b539717",
      "parents": [
        "1168c31c4a554d37e405c2f940707de0f91eab57",
        "d65595a94e2e5a5dc19540fcb1ba4ff45a7d2b67"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Feb 07 00:16:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 00:16:04 2018 +0000"
      },
      "message": "Merge \"Pin jarjar targets to java_version 1.8.\""
    },
    {
      "commit": "c1de91c1095317b8273f4635ac95221ad671969d",
      "tree": "a23efa5a753b992bc169040baef3903da8bd6576",
      "parents": [
        "e31bb77f3d7f1b688241227ef1de82361329e7fb",
        "0c0d7091e61ff4a11f6dc977c3fcd5a5e09913b8"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 06 15:48:24 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 06 15:48:24 2018 +0000"
      },
      "message": "Merge \"Correct inaccurate comments in build files\" am: f55f221805 am: 654f09c3dd\nam: 0c0d7091e6\n\nChange-Id: I3c126807e8dc354e603baa439e05ac1e5a9c8676\n"
    },
    {
      "commit": "4ea70a23ea0a5df44028e5dabdf2a2a8fc5adc2a",
      "tree": "2387bf951b9585f77980cdf360d262217c1697db",
      "parents": [
        "0aa3b20a66197da5c6843afc1f9de0a1691ca5cc"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 05 13:52:17 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 06 13:38:44 2018 +0000"
      },
      "message": "Modify android.test.runner to use new mock APIs\n\nPrevious change added some new public APIs to allow the\nandroid.test.runner classes to be built against the public API stubs\nrather than the internal classes. This change updates the\nandroid.test.runner classes to use that new API.\n\nThis in turn is preparation for building an android.test.legacy library\nthat can be safely statically included in APKs.\n\nBug: 30188076\nTest: make checkbuild\n\n(cherry picked from commit 20af1df63f77f6b3ab12fd6221f581fe84182091)\n\nMerged-In: I302626abb7e048ef0c3169e9a5209b85f2f87d34\nChange-Id: Ie05a17598fcabc1189cacc912c01a25782ebd29c\n"
    },
    {
      "commit": "f24612b176d9272d50376138b337de16b45004c9",
      "tree": "2478afb81c9d410cee82b66c0fca1f4bb8fcb899",
      "parents": [
        "c86b195cd5bdec16ad51aa7f1adc56c1ec4bf564"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jan 31 13:30:22 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Feb 06 13:38:44 2018 +0000"
      },
      "message": "Correct inaccurate comments in build files\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I3881e66a949bfc5fbc34db0a104ef7a6995abe35\n"
    },
    {
      "commit": "d65595a94e2e5a5dc19540fcb1ba4ff45a7d2b67",
      "tree": "38f1ec811333b95b1feb53260816eede5b680c2e",
      "parents": [
        "771e229a23fa4edb2e5ec2c3f76271d0804f2f4b"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Feb 05 15:49:52 2018 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Feb 05 21:14:24 2018 +0000"
      },
      "message": "Pin jarjar targets to java_version 1.8.\n\nThis CL pins the following make targets to java_version 1.8,\nwhich is currently the default:\n  framework-protos\n  repackaged.android.test.base\n  repackaged.android.test.mock\n  repackaged.android.test.runner\n\nFor consistency, their dependencies,\n  android.test.base\n  android.test.mock\n  android.test.runner\nwhich contain .java source files, are also pinned to 1.8.\n\nThis is so that the two steps:\n a) update jarjar to support v53 class files\n b) support -target 1.9 in the rest of the toolchain\ncan be completed in any order, in future CLs. Before this CL,\nthey would have needed to be completed in order a), b).\n\nBug: 72703434\nTest: EXPERIMENTAL_USE_OPENJDK9\u003dtrue USE_R8\u003dtrue make checkbuild docs\n      (in a client where CL http://r.android.com/596874 was reverted)\n\nChange-Id: If78067294ae7ab78997aa109b0e08be427bdf0b8\n"
    },
    {
      "commit": "3212bdbb3e57022fcc25dd4373e833f613f4d455",
      "tree": "05e46ea5c50f87e2278dbd9c9fd18bc64038612c",
      "parents": [
        "7c691c606c0e68eea5ddea4a910232df68501332"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 30 13:01:30 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jan 31 11:21:22 2018 +0000"
      },
      "message": "Create test-legacy/ for android.test.legacy target\n\nThe android.test.legacy (and legacy-android-test) target depends on\ncode from both test-base/ and test-runner/ and do not really belong\nin either folder.\n\nHaving a separate folder will also provide a convenient place for\nthe artifacts needed to publish android.test.legacy to\nmaven.google.com.\n\nBug: 30188076\nTest: make checkbuild\n\n(cherry picked from commit 898e7de6c71e00e11f299b67bd62d4af5fd12ca2)\n\nChange-Id: I0538281980a55178dd72e5fae16d817cd31aa104\n"
    },
    {
      "commit": "cc600d6d47572a338ec9836b9e8232172f065ae1",
      "tree": "244695b8f2a0817f8d03f1fa78d958a22f9fe1eb",
      "parents": [
        "d00221cfc681539bc0b0d5a1876bf58069e458f4"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 15:13:08 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 30 12:39:09 2018 +0000"
      },
      "message": "Build test-runner/tests\n\nPrevious change e254526f0fe5d22681555bd4a00b7ee96fee1dc1 inadvertently\nremoved the line to include the tests/Android.mk file.\n\n(cherry picked from commit 006b7a2b760b89211b9530804118a8333cee314b)\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I59bd6ec5d317eb6306642974902e4c061e594aa8\nMerged-In: Ia0ba14a70d2232d464420265a7a5f9c4dde3661b\n"
    },
    {
      "commit": "d00221cfc681539bc0b0d5a1876bf58069e458f4",
      "tree": "55cef2959bfbfae0644747b719cd64db4a709f57",
      "parents": [
        "6b8b7e04efce0943c4d7d72f1bf91b28aaa3c903"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 07 07:33:11 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 30 12:39:09 2018 +0000"
      },
      "message": "Use prebuilt android.test. stubs jars for app builds\n\n(cherry picked from commit e144602d9c94d46b2da11d70f526d747b5e05750)\n\nBug: 30188076\nTest: tapas Launcher3\nChange-Id: I48864d48098cfa02e15a6eaf8e4d6b53afc5b56c\nMerged-In: If632c39c9d98d89d597d410ebc7973903c9fa91e\n"
    },
    {
      "commit": "6b8b7e04efce0943c4d7d72f1bf91b28aaa3c903",
      "tree": "0deab15c8289c0ae90906b1b9a02b2a7e3c2ec05",
      "parents": [
        "09336b56187ca494c6215f3f12b7991119e44d73"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jun 30 16:02:09 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 30 12:39:09 2018 +0000"
      },
      "message": "Build stubs against SDK and clear local variables\n\nThe stubs need to be built against the current SDK where possible and\nnot the internal modules.\n\n(cherry picked from commit d41d847c83c598082a6572f38d0d40f5dee427ef)\n\nBug: 30188076\nTest: delete stub files and remake targets\nChange-Id: I9b46a4e2be341fed7e5b33bbf1a80d88c5486ae6\nMerged-In: Id724c16e56d1e8fe7f61cfafe7f11ea27e01e659\n"
    },
    {
      "commit": "af06ed42b5316a12b0c37d4296cc86cb112d0021",
      "tree": "f93931dd4ee496493f87045f74cc0d2c7454209e",
      "parents": [
        "4ce53a04d3992281a230ac8fc61eb802bc32c5b2"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 26 15:10:36 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 26 15:10:36 2018 +0000"
      },
      "message": "Add android.test.legacy.jar to SDK build\n\nThis is needed in order to create a prebuilts version of this JAR that\ncan be used for unbundled builds.\n\nBug: 30188076\nTest: wait for pi-release build and check\nChange-Id: Ia7ae0db4ae20e9e70c1430f50f4574d1a777564d\n"
    },
    {
      "commit": "924431ff1a77016e496207fc4f23a8cf40db5beb",
      "tree": "fee278f16351127abe88dda8c1cdb1a9ba62df1c",
      "parents": [
        "0158d976c8abc5f5ff5cf4d84afda637e2d878d6",
        "2b3bf45c73f7986f00492eee3848b66b14b99282"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 16 11:52:20 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 16 11:52:20 2018 +0000"
      },
      "message": "Merge \"Replace legacy-test with android.test.base in bp files\" am: 2285630e4b am: caacf3e7c4\nam: 2b3bf45c73\n\nChange-Id: I0c4b7705176b0ae7eb4b06bf5a138757d6b16e9c\n"
    },
    {
      "commit": "b36eb542a9157c488bcc7dc7eb5a65b7b7288155",
      "tree": "251a3793d3b05859b8298b08f43135ed3592cd50",
      "parents": [
        "9cb0b520114c1a166f4972b53cb2bfac7d1a1b78"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 15 15:47:47 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 15 15:47:47 2018 +0000"
      },
      "message": "Replace legacy-test with android.test.base in bp files\n\nThe legacy-test target is deprecated and will be replaced by\nandroid.test.base. This replaces a few usages of the legacy-test target\nin Android.bp files with android.test.base.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I3575f638114fe2a3b703e67837496346bde24472\n"
    },
    {
      "commit": "f64a24307fbf5268a701b887a5dfb890b91f5cad",
      "tree": "51369a254a3467366e558ed1061bc59159efc73a",
      "parents": [
        "e7403b47c35d081d567672d3c94dce5c1d3aca4e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 15 15:15:15 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 15 15:15:15 2018 +0000"
      },
      "message": "Switch legacy-test to android.test.base to match AOSP\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I359b8840304656e9c9c08b1e7367a6b088202064\n"
    },
    {
      "commit": "4d5420f06613901aafb2cc35f317fecda43a1964",
      "tree": "2e9ca396f33b4bff268eaf3994214ab0e79f54ff",
      "parents": [
        "82548f4bc32cab54fd8f3959c245659b8e04cae2",
        "8e632576edd5c8121ee60af4de62eacc41d92968"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Sat Jan 13 21:36:33 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 13 21:36:33 2018 +0000"
      },
      "message": "Merge \"Remove junit classes from legacy-android-test\" am: 4418418adb am: d724c112f3\nam: 8e632576ed\n\nChange-Id: I5b8f7a0c93e90741f0eba1d0761d2c26e8b24513\n"
    },
    {
      "commit": "a88eb29f9e0bd363fb3f1e02f379a54324a3e5ec",
      "tree": "e2a0a2a13fd60ead3bea8becacaea94eeba4b050",
      "parents": [
        "22bd015cbacfd67b0901733740a01ac4674d8f92"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 12 16:08:35 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Sat Jan 13 09:37:37 2018 +0000"
      },
      "message": "Remove junit classes from legacy-android-test\n\nA mistake during the conversion of the legacy-android-test target from\nAndroid.mk to Android.bp caused some junit classes to be accidentally\nincluded in the legacy-android-test target. That caused some warnings\nabout duplicate classes to be output during the build.\n\nThe junit classes are being included as part of the static library\nandroid.test.runner. This fixes that by adding a new\nandroid.test.runner-minus-junit which excludes the junit classes\nand then using that instead.\n\nTest: make checkbuild\nChange-Id: Icd00b38c64d3416a55c1055f9716ddb78ec278f8\n"
    },
    {
      "commit": "e95a895ef416822bbdefa2302ba6ba362a352f9f",
      "tree": "4de7a567af628408e42388c7b41921e72af8cc1d",
      "parents": [
        "21418277009ee848e095b35903d7fde213d3d5fe"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:53:09 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 12 16:31:08 2018 +0000"
      },
      "message": "Added new android.test.base targets\n\nRenames ...-legacy-test-... targets related to stubs generation to\n...-android-test-base-....\n\n(cherry picked from commit 5c99382a1995723637814221cd5432c458c622ad)\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I40b39c5250b7d990a903052c0b1ebd694242b5b3\nMerged-Id: I54204733612d6d3f14dd8023973e993a5ddab51d\n"
    },
    {
      "commit": "21418277009ee848e095b35903d7fde213d3d5fe",
      "tree": "d9ec3bcd5ffcaa23e26fd177669e249d837999d1",
      "parents": [
        "f0561142f3b7ddd85947d7ee268d5b98a39489b9"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:47:05 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 12 15:52:39 2018 +0000"
      },
      "message": "Move legacy-test to test-base\n\nMake it consistent with the test-mock and test-runner directories.\nAlso renames the files in api/ subdirectory.\n\n(cherry picked from commit f779efd62cd579f67bd3b387d59fda11ee0cbe90)\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ied3621e6201d8717223fe1ccd4ea77d458126b25\nMerged-In: If4f99a65fcca416ede5b3e63481398f0b451bcb7\n"
    },
    {
      "commit": "a70f66cb5e40105d4b0ec535f011eea83a38c86a",
      "tree": "197a525946d470dc89ab91a96402cd5f16cd03c5",
      "parents": [
        "20af1df63f77f6b3ab12fd6221f581fe84182091"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 05 15:11:18 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 09 14:38:43 2018 +0000"
      },
      "message": "Add android.test.legacy target\n\nAdds a library that builds against the public API and so can be safely\nstatically included into applications to avoid them having to depend\non the android.test.base and android.test.runner runtime libraries.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Iae7e3c64392e11035322092ed8e194740ba2d321\n"
    },
    {
      "commit": "20af1df63f77f6b3ab12fd6221f581fe84182091",
      "tree": "fc4e8c026bcb326b9d696b9d381b5aca55fded7c",
      "parents": [
        "772b6923206a34e97c45bc48e7ad4bebfd3eae29"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 05 13:52:17 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 09 14:38:43 2018 +0000"
      },
      "message": "Modify android.test.runner to use new mock APIs\n\nPrevious change added some new public APIs to allow the\nandroid.test.runner classes to be built against the public API stubs\nrather than the internal classes. This change updates the\nandroid.test.runner classes to use that new API.\n\nThis in turn is preparation for building an android.test.legacy library\nthat can be safely statically included in APKs.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I302626abb7e048ef0c3169e9a5209b85f2f87d34\n"
    },
    {
      "commit": "fc7ba9e61f0991c74a161502da4432da45ce384e",
      "tree": "3752cad98fb5958c90e3a330aa802226a37161b0",
      "parents": [
        "c16130898432e5622e60fd7aeb05a9b7db8f9550"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 07 13:11:06 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 12 23:24:40 2017 +0000"
      },
      "message": "Convert legacy-test, test-runner, and test-mock to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: I110f752d2fa94c44581f20d4f308d9d429da0517\nMerged-In: I110f752d2fa94c44581f20d4f308d9d429da0517\n(cherry-picked from commit 2b7d71c7f8028741c2200bfeba8913b7f4f55cde)\n"
    },
    {
      "commit": "69516f4df7129b39dfa05654b9e5163442438c72",
      "tree": "3e21c3ef15385e32487c3750cdc43af95c2b21f6",
      "parents": [
        "eb652a47a180092b397ec40c718dfc13935f7fb6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 15 11:39:14 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 12 23:23:31 2017 +0000"
      },
      "message": "Separate android.test.mock from test-runner source\n\nExtracts the source for the android.test.mock library from the\nframeworks/base/test-runner directory into its own\nframeworks/base/test-mock directory. They are already treated separately\nat runtime and compile time so this just makes the separation complete.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\nMerged-In: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\n(cherry picked from commit e254526f0fe5d22681555bd4a00b7ee96fee1dc1)\n"
    },
    {
      "commit": "1abbb6a6fd44dc42f2955b9191aa32fc31858580",
      "tree": "c171d7fcc6eed200d7971413b2dffdc91438eeb1",
      "parents": [
        "006b7a2b760b89211b9530804118a8333cee314b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 15:50:05 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 21:39:31 2017 +0000"
      },
      "message": "Stop statically including legacy-android-test\n\nStatically including legacy-android-test leads to duplicate classes\nwhich causes build time problems (with Proguard) and runtime problems on\nolder SDK versions. This change:\n* Stops statically including legacy-android-test.\n* Adds compile time dependencies on andoid.test.base, android.test.mock\n  and android.test.runner where necessary.\n* Adds \u003cuses-library android:name\u003d\"android.test.runner\"/\u003e to any\n  affected package to ensure that the classes that were included by\n  legacy-android-test are still available at runtime. That also adds a\n  dependency on android.test.base and android.test.mock.\n\nThe following change descriptions were generated automatically and so\nmay be a little repetitive. They are provided to give the reviewer\nenough information to check the comments match what has actually been\nchanged and check the reasoning behind the changes.\n\n* test-runner/tests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because FrameworkTestRunnerTests\u0027s source\n    depends on their classes and because of these changes they are no\n    longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    FrameworkTestRunnerTests results in duplicate classes which leads\n    to build time and compile time issues.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I52a91fe4f6016de8edf4753fbd2bc4d2e4c9f317\n"
    },
    {
      "commit": "006b7a2b760b89211b9530804118a8333cee314b",
      "tree": "b2580cf79de575f66ad5235d1ee75180157cb69a",
      "parents": [
        "0b62766d27da6867cc6d00347cd81427a6ec9e86"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 15:13:08 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 21:39:23 2017 +0000"
      },
      "message": "Build test-runner/tests\n\nPrevious change e254526f0fe5d22681555bd4a00b7ee96fee1dc1 inadvertently\nremoved the line to include the tests/Android.mk file.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia0ba14a70d2232d464420265a7a5f9c4dde3661b\n"
    },
    {
      "commit": "2b7d71c7f8028741c2200bfeba8913b7f4f55cde",
      "tree": "43f9394367779b2f9cd32dcb5f8da61c8f619f7d",
      "parents": [
        "c22e7735c31b711f8bf598c07fc872baba9af0dd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 07 13:11:06 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 08 21:01:53 2017 +0000"
      },
      "message": "Convert legacy-test, test-runner, and test-mock to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: I110f752d2fa94c44581f20d4f308d9d429da0517\n"
    },
    {
      "commit": "2337aec921d051da0d6b506e5fbb564ea2e49911",
      "tree": "45312f63da4f26b64dc1e432fa31d74f6745c93e",
      "parents": [
        "bc4f48b21d4f78a81a78a120a59e523369e41e7b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:12:23 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 07 00:22:25 2017 -0700"
      },
      "message": "Deeper sanity checking of emitted types.\n\nWhen emitting a method or field, verify that we\u0027re able to reference\nall mentioned types.  This ensures that we don\u0027t accidentally\nreference undefined classes/interfaces.\n\nTest: manual inspection of API files\nBug: 69791141\nChange-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\nMerged-In: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\n"
    },
    {
      "commit": "bc4f48b21d4f78a81a78a120a59e523369e41e7b",
      "tree": "2a4d62b613e1c08543eb31aa422c5871045da2f5",
      "parents": [
        "983df8cc6cd450c6e30881aa6a1b429ebe09d383"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:02:11 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:56:12 2017 -0700"
      },
      "message": "Emit all APIs using Predicates.\n\nGenerate APIs using updated doclava.\n\nTest: manual inspection of API text files\nBug: 69505783\nChange-Id: I2efd22998a64ebb57588b073c4a591242f4aef91\nMerged-In: I2efd22998a64ebb57588b073c4a591242f4aef91\n"
    },
    {
      "commit": "5c99382a1995723637814221cd5432c458c622ad",
      "tree": "150cf4f91801e1798fc6e97936fd8f22d9923e22",
      "parents": [
        "178dfc661de3c0c19502a615c44f9695204c552f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:53:09 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 28 15:42:05 2017 +0000"
      },
      "message": "Added new android.test.base targets\n\nRenames ...-legacy-test-... targets related to stubs generation to\n...-android-test-base-....\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I54204733612d6d3f14dd8023973e993a5ddab51d\n"
    },
    {
      "commit": "f779efd62cd579f67bd3b387d59fda11ee0cbe90",
      "tree": "056bc7384db35e1c12ddffc3381ebc332d60947d",
      "parents": [
        "10d0658bf020197c16264a1da4637e0d20ee6445"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:47:05 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 28 12:03:53 2017 +0000"
      },
      "message": "Move legacy-test to test-base\n\nMake it consistent with the test-mock and test-runner directories.\nAlso renames the files in api/ subdirectory.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: If4f99a65fcca416ede5b3e63481398f0b451bcb7\n"
    },
    {
      "commit": "c204c223a77237e13d084d58590acb16b025c676",
      "tree": "5c9a11890a222d60deabfccef5292c3a63d9f11f",
      "parents": [
        "71b4882da60867e948bbaaf86c03066bc07ccc85"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 27 15:02:10 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 27 17:07:40 2017 -0700"
      },
      "message": "Deeper sanity checking of emitted types.\n\nWhen emitting a method or field, verify that we\u0027re able to reference\nall mentioned types.  This ensures that we don\u0027t accidentally\nreference undefined classes/interfaces.\n\nTest: manual inspection of API files\nBug: 69791141\nChange-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\n"
    },
    {
      "commit": "e254526f0fe5d22681555bd4a00b7ee96fee1dc1",
      "tree": "c8e450764c8d6704bdac446117634951822f7675",
      "parents": [
        "42753a512e2719ca078851a62760a19890641e6f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 15 11:39:14 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 13:15:29 2017 +0000"
      },
      "message": "Separate android.test.mock from test-runner source\n\nExtracts the source for the android.test.mock library from the\nframeworks/base/test-runner directory into its own\nframeworks/base/test-mock directory. They are already treated separately\nat runtime and compile time so this just makes the separation complete.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\n"
    },
    {
      "commit": "e144602d9c94d46b2da11d70f526d747b5e05750",
      "tree": "ba7ec4869caf2e9be38d40eae6641c34008f17fc",
      "parents": [
        "c09be98f2f8c3b12c5e01e2a480ca6c4d32287f3"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 07 07:33:11 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 07 08:22:11 2017 +0000"
      },
      "message": "Use prebuilt android.test. stubs jars for app builds\n\nBug: 30188076\nTest: tapas Launcher3\nChange-Id: If632c39c9d98d89d597d410ebc7973903c9fa91e\n"
    },
    {
      "commit": "d41d847c83c598082a6572f38d0d40f5dee427ef",
      "tree": "45ffb59d37962023aa83656383c95e342014544a",
      "parents": [
        "584886319aca5f6a183ea368e2888418b35a6660"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jun 30 16:02:09 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Oct 24 13:04:27 2017 +0100"
      },
      "message": "Build stubs against SDK and clear local variables\n\nThe stubs need to be built against the current SDK where possible and\nnot the internal modules.\n\nBug: 30188076\nTest: delete stub files and remake targets\nChange-Id: Id724c16e56d1e8fe7f61cfafe7f11ea27e01e659\n"
    },
    {
      "commit": "b882daa10537958c352ced5eba15c25e47fde6a4",
      "tree": "ad64cddd710ae75ba6895425a096a2284f32c640",
      "parents": [
        "93dac12f10c562dbda2483f1ac50a21b28f6e44c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 05 22:59:27 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 06 15:29:12 2017 +0000"
      },
      "message": "Fix intermittent build failures with droiddoc generated sources\n\nJack builds fail very rarely with missing droiddoc generated\nsource files.  This happens because jack builds have an extra\nrule that does a quick check of the sources and touches a\njack.check.timestamp file.  The manual dependencies for the\ngenerated sources didn\u0027t cover this case.  If the sources are\npartially generated when the jack.check.timestamp rule runs,\nthe rule can see partial sources and fail.  The same problem\nmight also happen for javac builds after\nhttps://android-review.googlesource.com/c/platform/build/+/404743\nseparated the source list generation rule out of the\n$(full_classes_jar) rule.\n\nUse LOCAL_ADDITIONAL_DEPENDENCIES instead, which covers these\ncases and will be updated to cover future changes.\n\nBug: 65255877\nTest: m -j ANDROID_COMPILE_WITH_JACK\u003dtrue out/target/common/obj/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/jack.check.timestamp\n      make sure sources are generated\n\nChange-Id: I4466b3128eb0bba6447c24abf921a6655a3d451f\nMerged-In: I4466b3128eb0bba6447c24abf921a6655a3d451f\n(cherry picked from commit 85ab406eb2abd2e98fa9a67384223592692c08a9)\n"
    },
    {
      "commit": "85ab406eb2abd2e98fa9a67384223592692c08a9",
      "tree": "7cb36dfbab9070851ab0c4037e9f9ab4ee5adbfd",
      "parents": [
        "3d6e6a63e9ab8b11a56bf103e112713599534d06"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 05 22:59:27 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 05 23:17:35 2017 -0700"
      },
      "message": "Fix intermittent build failures with droiddoc generated sources\n\nJack builds fail very rarely with missing droiddoc generated\nsource files.  This happens because jack builds have an extra\nrule that does a quick check of the sources and touches a\njack.check.timestamp file.  The manual dependencies for the\ngenerated sources didn\u0027t cover this case.  If the sources are\npartially generated when the jack.check.timestamp rule runs,\nthe rule can see partial sources and fail.  The same problem\nmight also happen for javac builds after\nhttps://android-review.googlesource.com/c/platform/build/+/404743\nseparated the source list generation rule out of the\n$(full_classes_jar) rule.\n\nUse LOCAL_ADDITIONAL_DEPENDENCIES instead, which covers these\ncases and will be updated to cover future changes.\n\nBug: 65255877\nTest: m -j ANDROID_COMPILE_WITH_JACK\u003dtrue out/target/common/obj/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/jack.check.timestamp\n      make sure sources are generated\n\nChange-Id: I4466b3128eb0bba6447c24abf921a6655a3d451f\n"
    },
    {
      "commit": "ef86310c44dea7c3994fd91a93dba82720e9cad8",
      "tree": "32282a2fcd667573a139c2243995373b3b109cf4",
      "parents": [
        "003bd7e3ec71284b46a706c2ac9e298b3ffea732"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Aug 11 10:42:14 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Aug 11 10:42:14 2017 -0700"
      },
      "message": "@hide new API\n\nChange-Id: Ic9cf7ecd80dd99eb8bcfc9810f4a9fddfe8f8fe4\nFixes: 64568898\nTest: None. No code change.\n"
    },
    {
      "commit": "9da8b8a7fc8c68c17e1bf8cce24e2f73abe5138e",
      "tree": "f58e436de30b56b87e5e3f5a378b35c16ec7dfbf",
      "parents": [
        "340e7d257362fddb0fad0450b88556745381ce4b"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Jul 25 15:38:39 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jul 31 11:29:37 2017 -0700"
      },
      "message": "Add new API to retrieve app names in a batch\n\nChange-Id: I57e5c132bc58a32d70007a7a105775b526ff7bb9\nFixes: 62805090\nTest: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_null\nTest: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_empty\nTest: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_valid\n"
    },
    {
      "commit": "855d702cb78f81abbf2a541f01afeacf280d5621",
      "tree": "0091fe94a6818ae7dffd4d6d01921cd5a651a4bf",
      "parents": [
        "07001e8313f56174734e216360ead3c7dce8d982"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jul 10 15:16:07 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jul 17 15:25:04 2017 +0100"
      },
      "message": "Separate android.test.mock classes from android.test.runner\n\nThe android.test.runner library contained classes in the\nandroid.test.mock. Those classes have been extracted into a separate\nandroid.test.mock library but are still part of the android.test.runner\nlibrary. This change removes them from the android.test.runner library.\n\nThe PackageParser change ensures that applications which specify\n\u003cuses-library android:name\u003d\"android.test.runner\"/\u003e still see the same\nset of classes at runtime as they did before this change.\n\nThe logic for updating the Package to maintain backwards compatibility\nwas extracted into its own class for a number of reasons:\n* PackageParser is already huge.\n* It is easier to test in separate class.\n* It reduces potential for conflicts.\n\nBug: 30188076\nTest: cts/tests/signature/runSignatureTests.sh CtsAndroidTestRunnerCurrentApiSignatureTestCases\nChange-Id: I19042b3f9ffff8bf0f8437db7bb8341c703e4244\n\nRemove android.test.mock classes from android.test.runner\n\nBug: 30188076\nTest: cts/tests/signature/runSignatureTests.sh CtsAndroidTestRunnerCurrentApiSignatureTestCases\nChange-Id: I8ddbdb0bda7bef8858202bc085881af14d7f0c92\n"
    },
    {
      "commit": "8eaf94be5252779f89ebb6226cfbcfa5683244a1",
      "tree": "f710b0bfedd712345153b41c24cb5d1922b271b7",
      "parents": [
        "3594b9f4fda1e83c48aba8ace4c688d5c0ea21c6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jul 05 09:51:25 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jul 05 10:09:52 2017 +0100"
      },
      "message": "Add repackaged legacy-test and android.test.runner\n\nThe CtsSignatureTestCases test verifies that the API described in the\napi/current.txt file is actually available at runtime. The test class,\nSignatureTest, requires junit and android.test classes, some from\nlegacy-test, some from android.test.runner which makes it impossible\n(without classpath scanning) for it to verify that those classes are\naccessible at runtime when they should be and inaccessible when they\nshould not be which is needed for the work to remove JUnit from the\nAndroid API.\n\nThis change uses jarjar to repackage the junit and android.test classes\ninto repackaged.junit and repackaged.android.test packages in the\nrepackaged-legacy-test and repackaged.android.test.runner modules\nrespectively. A follow on change will switch SignatureTest over to\nusing the repackaged classes thus allowing it to work even when junit\nand android.test classes are not visible.\n\nTested by making the modules and manually verifying that they contain\nthe classes in the repackaged package.\n\nBug: 35192974\nBug: 30188076\nTest: see above\nChange-Id: If0355a0d50b7540f416d464fdf7ffae0e4766b1c\n"
    },
    {
      "commit": "09c29c1324b96e5404400947da7eeb9f0976353a",
      "tree": "f7a0f65ed1d5106f324b9168a7a70b0e10dfddef",
      "parents": [
        "28e703a05aecaedd167f9cdb6acbb1d7e78957c6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 29 10:26:30 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 29 10:32:44 2017 +0100"
      },
      "message": "Update android.test.runner API\n\nBug 62675475 changed DocLava to add some missing methods to the API\ndefinition file. This updates the API definition for the\nandroid.test.runner API.\n\nThe reason this was not found when it was uploaded is because there is a\ndiscrepancy between the checkapi target and the update-api. The checkapi\ntarget will not detect that the update-api needs to make changes. This\nissue has been reported.\n\nBug: 30188076\nTest: make update-api \u0026\u0026 make checkapi\nChange-Id: I598774d3239d58eb5c58ff78e24e8ca84078e64a\n"
    },
    {
      "commit": "bacad4088dafc37553f8ceb0a1b11711b18c6733",
      "tree": "06032c14bd9dfb89f50b00ea45cec7f8f62ae46b",
      "parents": [
        "e70848b8a915d2c1042932f246d790f508e98f74"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 28 11:57:59 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 28 12:55:31 2017 +0100"
      },
      "message": "Stubs/api check for legacy-test and android.test.runner\n\nAdds stub generation for legacy-test classes and android.test.runner\nclasses. Changes name of android.test.mock.sdk to\nandroid.test.mock.stubs for consistency and clarity, adds new\ntemporary android.test.mock.sdk target to prevent build breakage.\n\nAdds api check and update targets for legacy.test.stubs,\nandroid.test.runner.stubs and android.test.mock.stubs to prevent\naccidental changes to the API.\n\nBug: 30188076\nTest: make checkapi and make update-api\nChange-Id: I40cc7b967f1ab1c7e148407d6965526550ee2f9b\n"
    },
    {
      "commit": "2d6ef698950e81567eb340d91e07b2befdf9d19a",
      "tree": "93449db8ad7a627ef96dc121e4421c8e938b9626",
      "parents": [
        "7b02a2f41a613d8f49ea1a2fdbce4e73c167dfa4",
        "06620ee22dca4af6646a2d0f6f25b2ecd755d9fd"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 27 11:09:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 27 11:09:09 2017 +0000"
      },
      "message": "Merge \"Clean up ClassPathPackageInfoSource\" am: 8c7026c5a3 am: 1c6a5ad92e am: 88d54c3080\nam: 06620ee22d\n\nChange-Id: I1a4de01fe23a03b42c052f23733d95e07135ab73\n"
    },
    {
      "commit": "06620ee22dca4af6646a2d0f6f25b2ecd755d9fd",
      "tree": "18a7a55085471337bf06265b98ef7942d395b2f4",
      "parents": [
        "0ee8c0357ac26b3dc96a797cfccb1431db16da6d",
        "88d54c30800377021c58af3a1f2605e871442812"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 27 11:03:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 27 11:03:11 2017 +0000"
      },
      "message": "Merge \"Clean up ClassPathPackageInfoSource\" am: 8c7026c5a3 am: 1c6a5ad92e\nam: 88d54c3080\n\nChange-Id: I3716fc728a6789a33851f4f0ad30a3ad9f421a17\n"
    },
    {
      "commit": "1c6a5ad92e84780be005877493fd5a281517194e",
      "tree": "12f5b16d9039d1b3ef8d301013e983bc65214f0b",
      "parents": [
        "516bd5f8622c24d774b72ed3825cdc860cd045d2",
        "8c7026c5a32684976ffb745daf7ec5bab729f274"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 27 10:52:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 27 10:52:39 2017 +0000"
      },
      "message": "Merge \"Clean up ClassPathPackageInfoSource\"\nam: 8c7026c5a3\n\nChange-Id: I503ae16c4d47ce3cecb79987da919c7f579347da\n"
    },
    {
      "commit": "aaaba76810c0b5b61c609a929536b64ac7e368fc",
      "tree": "9dabcf4edf22526ff3a057fcd5a0bb2d0be0ae53",
      "parents": [
        "3c5ab7d3243e646137d9e60c2a54ffc907a85a27"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 16:18:07 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 17:00:21 2017 +0100"
      },
      "message": "Clean up ClassPathPackageInfoSource\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nPackageInfoSources only provided a static field and accessor method so\nthey were moved into ClassPathPackageInfoSource and PackageInfoSources\nwas removed.\n\nClassPathPackageInfo was only used in ClassPathPackageInfoSource and in\nTestGrouping. In the latter it was simply used as an intermediate value\nbetween ClassPathPackageInfoSource.getPackage(String packageName) and\nClassPathPackageInfo.getTopLevelClassesRecursive(String packageName).\nMoving that method into ClassPathPackageInfoSource allowed the\nClassPathPackageInfo to become an inner class of\nClassPathPackageInfoSource. As it is an inner class it no longer needed\nan explicit reference to the containing ClassPathPackageInfoSource.\n\nBug: 30188076\nTest: make checkbuild and ran FrameworkTestRunnerTests\nChange-Id: Idb0b6a585030805b9cff8562abb93b7e5920c53a\n"
    },
    {
      "commit": "9dbcd9306167af7d834522667796c06f4145a70d",
      "tree": "fb4b3104fa737ac68f81d0c1e6c65bdac0e88385",
      "parents": [
        "7d70f99ac1de27df2f2ed2d290959c9e40343840",
        "8d33b10edbc032db98a97eb9d4f5349afdab0709"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:57:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 14:57:34 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\" am: 3c5ab7d324 am: 930ab689f0 am: 143f5d652c\nam: 8d33b10edb\n\nChange-Id: I372ea1e9456a303903bb57929129cc3f922cb8d9\n"
    },
    {
      "commit": "8d33b10edbc032db98a97eb9d4f5349afdab0709",
      "tree": "4d8f688326ec1b660dce01e95f01b03a93ba3b1a",
      "parents": [
        "4f9d89a380879a8d14d72e9c14eb2cce95ca01dd",
        "143f5d652ce31ff1ba7d42c45e8010de2dfc5c73"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:50:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 14:50:38 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\" am: 3c5ab7d324 am: 930ab689f0\nam: 143f5d652c\n\nChange-Id: I1b2212164ab566f3619cdbe307ff9ee600242424\n"
    },
    {
      "commit": "143f5d652ce31ff1ba7d42c45e8010de2dfc5c73",
      "tree": "2bb43ff6448ffd46abe05b34695db4d80909d1f7",
      "parents": [
        "50826c5f2efd8e301a17db2164709c12e6ff0d06",
        "930ab689f031118fc2aeec241ff76e769c1d9955"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:43:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 14:43:13 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\" am: 3c5ab7d324\nam: 930ab689f0\n\nChange-Id: I0d61b4e26c9551d177b5bb7bbdaab25885976c0d\n"
    },
    {
      "commit": "3c5ab7d3243e646137d9e60c2a54ffc907a85a27",
      "tree": "388daaef474e61398bf0c01145c807b8fae62140",
      "parents": [
        "98f2decdadaebe5160ce2661c1c1f4208b9cdd59",
        "e24e60ecacd956375a5cabdf9e67fefe7acabce0"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:24:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 26 14:24:31 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\""
    },
    {
      "commit": "210a7331aa75923b3b8f79e5b2b9226059bc86cd",
      "tree": "70d0912c222a2ade826f044986823438e23b95dd",
      "parents": [
        "d709a3a3a3db30dbfcb87019dd6c945c048b99b5",
        "4f9d89a380879a8d14d72e9c14eb2cce95ca01dd"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 13:29:23 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 13:29:23 2017 +0000"
      },
      "message": "Merge \"Clean up Predicate related code in android.test\" into oc-dev-plus-aosp am: 50826c5f2e\nam: 4f9d89a380\n\nChange-Id: I24b978bb63875ed7e1af7041f8ecbbfc482e0614\n"
    },
    {
      "commit": "4f9d89a380879a8d14d72e9c14eb2cce95ca01dd",
      "tree": "20bdde0f9bb1bd7cdef268f32198540eb9cb98c1",
      "parents": [
        "99979253ddb67d257bef29e06b047a877f9f5412",
        "50826c5f2efd8e301a17db2164709c12e6ff0d06"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 13:21:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 13:21:28 2017 +0000"
      },
      "message": "Merge \"Clean up Predicate related code in android.test\" into oc-dev-plus-aosp\nam: 50826c5f2e\n\nChange-Id: Ica9b9b478b670ec5467732a09cf123dd63780c97\n"
    },
    {
      "commit": "50826c5f2efd8e301a17db2164709c12e6ff0d06",
      "tree": "d9c473bfd9195b66684505627adcffb24cd7d48a",
      "parents": [
        "834cf8d664d4955696555b7bc47dbe8d58d8164d",
        "fedb4b745693afba9627f8971346d5151101fb88"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 13:15:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 26 13:15:09 2017 +0000"
      },
      "message": "Merge \"Clean up Predicate related code in android.test\" into oc-dev-plus-aosp"
    },
    {
      "commit": "99c879f1d39fce2682950b0d0bbcb29ecad66731",
      "tree": "0c1654fcf62ecae9cae634828656d195272f9447",
      "parents": [
        "da1495346ecdde2e4984bc9ff8570c1c360dbcfd",
        "88f06cba46b17f2782f838548ff9305795fd5b87"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 11:49:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 11:49:54 2017 +0000"
      },
      "message": "Merge \"Removed a.t.TestRunner and cleanup a.t.TestPrinter\" am: 1ed43cafb6 am: 4601ebf945 am: 1fee4dcd5d\nam: 88f06cba46\n\nChange-Id: I4c8b5ff724ccb73a681ba5bef86ebe5a502383be\n"
    },
    {
      "commit": "88f06cba46b17f2782f838548ff9305795fd5b87",
      "tree": "203d55060a77b6c315ed184343d408dc13b6487a",
      "parents": [
        "59410a96edf87aee848b648cb4a618a04424aeda",
        "1fee4dcd5d761a7631acbc499b63138abf9f9f35"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 11:42:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 11:42:54 2017 +0000"
      },
      "message": "Merge \"Removed a.t.TestRunner and cleanup a.t.TestPrinter\" am: 1ed43cafb6 am: 4601ebf945\nam: 1fee4dcd5d\n\nChange-Id: I6362ff0e8e76efd4d7b8c326f77b282740d01e03\n"
    },
    {
      "commit": "1fee4dcd5d761a7631acbc499b63138abf9f9f35",
      "tree": "b1cef15ecd508ae6481b8c41f1754c9a1ac31b66",
      "parents": [
        "c584a2596e297d0cde852ea7cea5471933cd0ab5",
        "4601ebf94525a9533c33ed0d3474bb79a161e757"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 11:35:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 11:35:00 2017 +0000"
      },
      "message": "Merge \"Removed a.t.TestRunner and cleanup a.t.TestPrinter\" am: 1ed43cafb6\nam: 4601ebf945\n\nChange-Id: Icf7b8d1f5a3e0d18cd9a096a8171d6dab98b5992\n"
    },
    {
      "commit": "1ed43cafb62fd8ee7f8e95c49501e1b0d4f534bf",
      "tree": "cada6562d9202b095d478bbc89fd118bc1f67482",
      "parents": [
        "43851d01d86f53d3a3a71b22a9af861de2a03afe",
        "b3f83ae66b2128bdb69c087f40595e3265717e7c"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 11:21:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 26 11:21:22 2017 +0000"
      },
      "message": "Merge \"Removed a.t.TestRunner and cleanup a.t.TestPrinter\""
    },
    {
      "commit": "19290e456f9316aa965c5d88680a94f9e8787669",
      "tree": "22b79b5e73c917c83bc72d781edf7afe6f8ea71c",
      "parents": [
        "d9dd77ea6a04ccea47c9366785ec7d7171c5c32a",
        "ad654a3af546764a6840cdb8521dd7aab5facb43"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 09:50:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 09:50:09 2017 +0000"
      },
      "message": "Merge \"Clean up TestCaseUtil\" am: 43851d01d8 am: e38d503394 am: b5b6e7cf45\nam: ad654a3af5\n\nChange-Id: Idd36689c3a90728ee543be0ffa7457fe79b66ba3\n"
    },
    {
      "commit": "ad654a3af546764a6840cdb8521dd7aab5facb43",
      "tree": "164eb5fe61236b679b44c47fa8c29be324922830",
      "parents": [
        "a18500b50807031ede92253416d44ea00689e9c1",
        "b5b6e7cf450c84be596ef895bda17ee09e6fa602"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 09:41:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 09:41:44 2017 +0000"
      },
      "message": "Merge \"Clean up TestCaseUtil\" am: 43851d01d8 am: e38d503394\nam: b5b6e7cf45\n\nChange-Id: I98265e973df1bf7ac28b7f79f6ccd0a865762304\n"
    }
  ],
  "next": "b5b6e7cf450c84be596ef895bda17ee09e6fa602"
}
