)]}'
{
  "log": [
    {
      "commit": "c6420766f0a5755bd9d1f3701d198e12231dbd67",
      "tree": "da872f16a76b95b3aee60ce2c614a74187bba4fc",
      "parents": [
        "82eae7148477a47db1316e6cc3a4717cd2b73773"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 07 12:38:40 2023 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 07 16:56:07 2023 -0800"
      },
      "message": "Remove bp2build from frameworks/base/api/\n\nBug: 315353489\nTest: m blueprint_tests\nChange-Id: I50d938017203ad12198d8a6373c9aef80a8535c6\n"
    },
    {
      "commit": "0fa80893dadb5a1fd8cbd87cc45eab80679f5879",
      "tree": "9f1c26f71409a79caa25261c1a8412868b383951",
      "parents": [
        "f580f13013559ddb682e1a9e36171e578412bfcb"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Nov 14 14:30:26 2023 -0800"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Nov 17 14:53:18 2023 -0800"
      },
      "message": "Created empty framework-nfc non-updatable module\n\nBug: 303286040\nTest: Device boots up after flashing\nMerged-In: Iad08614f0aa3b7bea12a1ad52debd0ee13302a8e\n\nChange-Id: Iad08614f0aa3b7bea12a1ad52debd0ee13302a8e\n"
    },
    {
      "commit": "3cc5e00e15481e2c3288a7a206e98b083852a528",
      "tree": "b94642762ee1605667d45b889788f8d66fcab503",
      "parents": [
        "e35b1384812f82f2c7a75494c83b96c9b39e3c46"
      ],
      "author": {
        "name": "Mark White",
        "email": "anothermark@google.com",
        "time": "Mon Aug 07 11:18:09 2023 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Oct 23 17:42:10 2023 +0000"
      },
      "message": "Created empty framework-location non-updatable module\n\nNote that this is a re-cherry-pick of the original CL that is closer\nto the original CL than the first CP, to minimize the number of\nconflicts in Android.bp files.\n\nBug: 289776578\nTest: presubmit\nMerged-In: I721fc4ae5c62cf1eada9bb6b4e5b3f1a4c9db21a\nChange-Id: Ibf98f37cb795bc7f627a485546b6ce8ec23b3a9e\n"
    },
    {
      "commit": "e35b1384812f82f2c7a75494c83b96c9b39e3c46",
      "tree": "e6672f036e13adf10d06c66a97b0fa80607abf23",
      "parents": [
        "7d0b6b0e9da0d8fc60a43756ea6918fe7cbaeedb"
      ],
      "author": {
        "name": "Mark White",
        "email": "anothermark@google.com",
        "time": "Sat Aug 12 01:31:26 2023 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Oct 23 15:17:43 2023 +0000"
      },
      "message": "SdkTestCore for non-updatable modules\n\nProvides SdkTestCore/test_core_current sdk_version for non-updatable\nmodules that have their test scope dependent on test apis from\nframework-minus-apex.\n\nIgnore-AOSP-First: Change in topic with internal-first projects\nBug: 289776578\nTest: m checkapi\n\nMerged-In: I855346c01bb609e81b14dbdc13330315badc339e\nChange-Id: I855346c01bb609e81b14dbdc13330315badc339e\n"
    },
    {
      "commit": "3b7e34ba717cba75077c8d7f12ae7f1a8ca907f1",
      "tree": "95898c0d93a8521b841bddf8526a0e7751025c23",
      "parents": [
        "53565bfdb0193e38f96811b58f433d961711681f"
      ],
      "author": {
        "name": "Chris Parsons",
        "email": "cparsons@google.com",
        "time": "Wed Sep 27 22:34:57 2023 +0000"
      },
      "committer": {
        "name": "Chris Parsons",
        "email": "cparsons@google.com",
        "time": "Tue Oct 03 19:44:34 2023 +0000"
      },
      "message": "assign labels to merged_txt modules with defs\n\nThis is groundwork for allowlist v2, and ensures that rdeps of\nmerged_txt targets appropriately reflect that these targets exist.\n\nFixes: 302061007\nTest: Unit test update\nChange-Id: I1d64635bb3db50ee525f1a557fd4b73d50dba879\n"
    },
    {
      "commit": "52f9ad09af65c1bb3c35ff83a98e4a6c09fa471c",
      "tree": "de2cff42f0406d26ff9df3ba3b5113dadb3b7417",
      "parents": [
        "732c0812d2e899e0ae26972a6b483a898924ed29"
      ],
      "author": {
        "name": "Chris Parsons",
        "email": "cparsons@google.com",
        "time": "Wed Sep 13 21:30:55 2023 +0000"
      },
      "committer": {
        "name": "Chris Parsons",
        "email": "cparsons@google.com",
        "time": "Wed Sep 13 21:30:55 2023 +0000"
      },
      "message": "Change ConvertWithBp2build signature\n\nTest: See CL topic\nChange-Id: Id7d5366fd713409c2a9e12407b901d5d1d91a289\n"
    },
    {
      "commit": "4ab9b3c2a1dfd2216982aedcbd7dad84cda2d256",
      "tree": "b7d5c9fa3e2602c3d6cc5ba1ad6884beb0735bc4",
      "parents": [
        "5dd28ee157926e3667682097d3a9a19172e2dd67",
        "f3b1fc4e1acbc238ebb1891066df6ae688e15180"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Aug 15 11:01:09 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 15 11:01:09 2023 +0000"
      },
      "message": "Merge \"Use new merge-signatures metalava subcommand\" into main"
    },
    {
      "commit": "f3b1fc4e1acbc238ebb1891066df6ae688e15180",
      "tree": "753f40c0d50dd6357cd8363213d6ba23582e8197",
      "parents": [
        "a6fac5d6c7c5ad05094c315812cc53a07729d82c"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Aug 14 22:03:06 2023 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Aug 14 22:03:06 2023 +0100"
      },
      "message": "Use new merge-signatures metalava subcommand\n\nBug: 295737759\nTest: ./gradlew\nChange-Id: Ied167094b04492ca49ea2b0e9d7fd91d534e483d\n"
    },
    {
      "commit": "471a05bacdf43b2a120074d05df48a86e1d432da",
      "tree": "835baa3188b01242c0169e7f5819eb158839ca43",
      "parents": [
        "a6fac5d6c7c5ad05094c315812cc53a07729d82c"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Tue Aug 01 06:37:17 2023 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Mon Aug 14 17:19:16 2023 +0000"
      },
      "message": "Define previous_api in full api surface stubs java_api_library defaults\n\nprevious_api input is required to migrate nullness information in\nmetalava and generate loosely equivalent from-text stubs. Since\n\"android.api.public.latest\" is the only input for previous_api in the\ntree, this is hardcoded for full api surface java_api_library modules\ndefaults for now.\n\nTest: m \u0026\u0026 compare nullness annotations for from-text stubs and from-source stubs\nBug: 293962901\nChange-Id: Ic07db8c3bd37fa41ff245952c94b5c5b4773af36\n"
    },
    {
      "commit": "1453baa8cbbfd559745c57cccffe847e53fdb3cb",
      "tree": "096087afbc2cf992b84757841492e7fcb1165613",
      "parents": [
        "d52e734a2ec8935e4f246a7521e3b4f3f8e89701"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Sat May 27 05:32:30 2023 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Fri Jun 02 17:01:14 2023 +0000"
      },
      "message": "Create full API surface java_library in combined_apis\n\nThis change renames the full api surface stub jar generating\njava_library modules by adding \".from-source\" suffix and creating the\nmodules in combined_apis. Either the \".from-source\" module or the\n\".from-text\" module is added as static libs based on the build config.\n\nBug: 284150060\nBug: 284995489\nBug: 285410821\nTest: m \u0026\u0026 m --build-from-text-stub and verify no ninja path between android_stubs_current and android_stubs_current.from-source\nChange-Id: I1419af0cd0ca2199e82e3337717b6391a51267c4\n"
    },
    {
      "commit": "1e4ac1d6b056c077931a767555fdd5536f73f679",
      "tree": "70b44c9521cd21390a93d0ec22cbe8356c2de721",
      "parents": [
        "fdbe258314c603f8a039ef6437c8718136a22186"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Fri Apr 07 18:50:38 2023 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Fri Apr 07 22:10:02 2023 +0000"
      },
      "message": "Create java_defaults in api.go\n\ncombined_apis.bootclasspath lists java_sdk_library modules that\ncontribute to API surfaces. The api_contribution modules generated from\nthese sdk_library modules (more specifically, from droidstubs module\ncreated from the sdk_library module) are used to generate full api\nsurface java_api_library modules. Currently, the java_defaults modules\nare hardcoded, but this leads to a duplicate source of truth, adding\ndifficulty in scaling the api domains that contributes to api surfaces.\n\nGenerating the java_defaults dynamically in combined_apis instead of\nhardcoding resolves this problem, as well as the discrepancy in the list\nof api contributions in aosp and internal master.\n\nTest: m android_\u003cAPI_SURFACE_NAME\u003e_stubs_current.from-text\nBug: 277378670\nChange-Id: I987c2c1d89535d2347cf14d084c9c9a47e1db5e0\n"
    },
    {
      "commit": "2c21341eeacef72748ebd2d9e5d1c655859d3daf",
      "tree": "4ac978ec28153b437eb4bdcfdd93798ad64d910d",
      "parents": [
        "b7cf726c8b54be67e24f1c9dc63587fd089270b0",
        "7ffb4338a3ea6327b8e1fc18a688aaedc8d250f4"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Mon Mar 20 19:19:05 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 20 19:19:05 2023 +0000"
      },
      "message": "Merge \"Remove trimmed api versions file\""
    },
    {
      "commit": "7ffb4338a3ea6327b8e1fc18a688aaedc8d250f4",
      "tree": "dbb21b914f6c975014c42fc3537d5a9a389eee81",
      "parents": [
        "9c6a8eb60ae3f8c4adef1de14fd83d63fba773a1"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Mar 14 12:19:42 2023 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Mar 14 12:19:42 2023 -0700"
      },
      "message": "Remove trimmed api versions file\n\nThe trimmed api versions file was used to remove updatable apis from\nthe lint database. This non-updatable lint database was used with\nmodules that compile against module-lib or system-server sdks.\n\nHowever, now we have proper module-lib and system-server lint sdk\ndatabases, that don\u0027t have the updatable apis inherently, and we\ncan remove the api versions trimmer.\n\nBug: 193460475\nTest: Presubmits\nChange-Id: Iac50c7647491ce3e4e85f75dd92d63c6ee1286b2\n"
    },
    {
      "commit": "11adb1d3ad0fca6b221a0392cb10faddd27794c3",
      "tree": "15c6559ef97df98a68958dd496467dc966549647",
      "parents": [
        "73de090fa5dc7aaeacae3b1e436f862a9e80f7dc"
      ],
      "author": {
        "name": "Zi Wang",
        "email": "mrziwang@google.com",
        "time": "Wed Mar 08 10:56:33 2023 -0800"
      },
      "committer": {
        "name": "Zi Wang",
        "email": "mrziwang@google.com",
        "time": "Wed Mar 08 10:58:24 2023 -0800"
      },
      "message": "Remove unnecessary slice in combined_apis bp2build converter\n\nTest: m and api_test\nChange-Id: Id36892325ffd35004c4b88b69d52f9e1c6afe759\n"
    },
    {
      "commit": "0d6a530616a44dba00046be4068a57237456df89",
      "tree": "b52668647d7a58747ceab39f900742761f9a1e57",
      "parents": [
        "cb23451c56ceab7bf727ccb1dababb367d53d453"
      ],
      "author": {
        "name": "Zi Wang",
        "email": "mrziwang@google.com",
        "time": "Thu Feb 16 14:54:01 2023 -0800"
      },
      "committer": {
        "name": "Zi Wang",
        "email": "mrziwang@google.com",
        "time": "Sun Mar 05 11:42:51 2023 -0800"
      },
      "message": "Add minimal bp2build converter for combined apis\n\n4 merged_txts targets will be generated for a combined_api target\n\nTest: api_conversion_test.go and TH\n\nBug: 267600251\nChange-Id: I8ec4a1073538c394a7eef896d8f6e354986fa2cd\n"
    },
    {
      "commit": "a934428b53e0414a8a158f752364d4ccd69284c9",
      "tree": "de68b947a254972571b45269ffbe28f9b87abbc5",
      "parents": [
        "07044e05c3f87874fd51e2fcd4aeb7ac74eabafa"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 15 14:52:28 2023 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 15 14:54:21 2023 +0000"
      },
      "message": "Convert merged srcjar rule to Android.bp\n\napi.go was made to create modules that were hard to create in\nAndroid.bp. However since we now have a filegroup with all the\npublic srcjars this rule can very easily be expressed in Android.bp.\n\nTest: build before \u0026 after (no diff)\nChange-Id: I1d6c6bdcd6b75693de1e80ced13efd1d10202171\n"
    },
    {
      "commit": "5593fbbca8b5d2dd3a4b76a0a5623c88b577c908",
      "tree": "affde13be0881b98edf5083e0c9b1cbdf4436443",
      "parents": [
        "bfdf347dd899cbc355f8af7ba5f1fba855822dbf"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Dec 01 14:52:34 2022 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Mon Dec 05 13:53:30 2022 +0000"
      },
      "message": "Allow non-updatable modules to contribute to @TestApi\n\njava_sdk_libraries can be part of non-updatable modules. Those modules\nmight have a need to expose @TestApis that are only used in CTS tests.\n\nThis change adds an ability for them to do so by introducing\nall-non-updatable-modules-test-stubs, and adding it to the\nandroid_test_stubs_current.\n\nNote that this change doesn\u0027t allow updatable modules to contribute to\ntest API stubs, since the list of the modules that can contribute to\ntest APIs stubs is hardcoded in the non_updatable_modules constant.\n\nBug: 261004711\nTest: m\nChange-Id: I9d17f49702bd64f5718b445f14b203c146bc6794\n"
    },
    {
      "commit": "d3f0a6fdb8da0279486bea61f03470ed35466f9f",
      "tree": "ebd75e48a7dd46fa8cbfd89f4056ebaad102efe3",
      "parents": [
        "3c318cc21aee689f9e70ad4f6b9af00eab45cb8f"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Tue Nov 15 11:26:53 2022 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Wed Nov 16 12:48:35 2022 +0000"
      },
      "message": "Add framework-virtualization to combined_apis\n\nSince framework-virtualization is part of a non-updatable APEX module,\nit should still be allowed to compile against unstable APIs. However,\nthe current setup of all-framework-module-impl prevents that, since the\nall-framework-module-lib target compiles against module_sdk.\n\nThis change works around this by introducing the\nupdatable-framework-module-impl target which builds against\nmodule_current SDK, and includes all updatable modules.\n\nThe non-updatable modules are then statically linked into the\nall-framework-module-impl target, which builds against hidden APIs.\n\nBug: 243512044\nTest: builds\nChange-Id: I253aa8dcd7c9b109e023a44128ce08ec8f2b4d33\n"
    },
    {
      "commit": "dcda3700253a50d498d2a070d4be82c4d6373d69",
      "tree": "2a6bfb45ccbed58b9feb3b28a147b7dad8ff0f18",
      "parents": [
        "f9a1e3c91361fbc1c1a81fc964484aa5f74aa9f4"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Oct 04 14:46:35 2022 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Oct 12 10:17:12 2022 -0700"
      },
      "message": "Add lint api database files for module and system server sdks\n\nSoong modules compiled against the module or system server sdks\nshould use the api_versions.xml for their respective sdk, but\ncurrently they use the public-filtered api database. Add module\nand system server sdk build targets to be used later.\n\nRight now they\u0027re unused. I\u0027m adding them first so that they\ncan be built on the build server, and then we can import them\ninto prebuilts/sdk, as some builds require the api files to be\nprebuilt.\n\nBug: 193460475\nTest: m api-versions-xml-module-filtered api-versions-xml-system-server-filtered\nChange-Id: I668a878a470125ed3ecf79435713c27c4dd92b0a\n"
    },
    {
      "commit": "14543d1ec72202422373622ee818fe7549be5c7a",
      "tree": "b0cc5937b07f9e3ed13ff032acf9728aafabf659",
      "parents": [
        "8022fc288c9216521543284595c55e59e10f52c8",
        "9be0346b530266a7ceb6afa56643d42424fc70aa"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Jun 28 21:24:28 2022 +0000"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Jun 28 21:24:28 2022 +0000"
      },
      "message": "Merge tm-dev-plus-aosp-without-vendor@8763363\n\nBug: 236760014\nMerged-In: I5705ac7586cb73b7bc2bd60bb792d0a0a951ed74\nChange-Id: I59a4fd917c95c8c9e258cd743cee2d950a46d9cd\n"
    },
    {
      "commit": "74b1564144429c4cb0303a0974a5f57b8a917ef4",
      "tree": "3d03c1fcd34a1822840f9562a313bf379792499f",
      "parents": [
        "0c5d9ab5982a06c291be53f100335f479fbc2eb2"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Jun 23 08:27:23 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Jun 23 10:15:29 2022 +0000"
      },
      "message": "Add a system variant of the merged annotations\n\nThis is going to be disted instead of the monolithic one being\nused currently.\n\nBug: 235140934\nTest: m sdk-annotations{,-system}.zip and diff; manual spot checking\nTest: m sdk dist \u0026\u0026 diff out/dist/system-data/annotations.zip with this\nChange-Id: I9874f88e933a8b804a73638e6bac7a9d312c7c9f\n"
    },
    {
      "commit": "0c5d9ab5982a06c291be53f100335f479fbc2eb2",
      "tree": "79d64b6ee52a2bfc83686f991252610990c3fe5b",
      "parents": [
        "85563e7a227c170410f1f00b98372b0789ac8739"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Jun 23 07:58:51 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Jun 23 08:04:55 2022 +0000"
      },
      "message": "Refactor merged annotations creation\n\nIt\u0027s clearer to define the module in Android.bp, and keep\nour custom Go code to the minimal. The only thing the go\ncode really needs to do is create a \"all module annotations\"\nmodule. This matches the pattern of the other modules here (the\npattern was invented after sdk-annotations.zip was first\nmigrated).\n\nBug: 235140934\nTest: m sdk-annotations.zip before/after (no diffs)\nChange-Id: Iae246081bcf4e5177d1da98c2e01c702fb349a22\n"
    },
    {
      "commit": "79d883b7aca89f086e83a7baed3f646f4ffaa656",
      "tree": "ec45dcf3de298be364ded6038bb4585852fe5f67",
      "parents": [
        "b23889c90b2177d994b9f32a1ba172227f3c32c5",
        "d708548986cb5bd9b7f11a1549a04c633dd97165"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed May 11 20:48:08 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 11 20:48:08 2022 +0000"
      },
      "message": "Merge \"Use lint database from api_version_public\" am: 39ebb3b0c0 am: d708548986\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2092243\n\nChange-Id: Ic7554fcb2a7ce3708354ac934b2e636d36e0e23e\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "247c5f26ec28958917e289b19b0b9870cf6d1d39",
      "tree": "95bde4fb7f8eea86e4b8511a18eed85c57700e94",
      "parents": [
        "0d0729a62fd8a9c38b708b51f9813e199c9082ea"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon May 09 09:53:12 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon May 09 12:18:46 2022 +0000"
      },
      "message": "Use lint database from api_version_public\n\nThese two databases are (nearly) identical but the latter is generated\nin a much more efficient way.\n\nThe diffs are very minor and it\u0027s not clear to me which versions is more\ncorrect than the other, though I\u0027m fairly confident they don\u0027t matter.\n\nhttps://paste.googleplex.com/5567994005553152\n\nDroidstubs now support using the api-versions.xml from another\ndroidstubs module, so reuse the one from api_versions_public\nin framework-doc-stubs.\n\nBug: 187398174\nTest: diff api-versions.xml\nTest: diff stubs of framework-doc-stubs\nChange-Id: I774be9097e97d6b180fe54d799c94515780be6ec\n"
    },
    {
      "commit": "365021f86652894572a417d09ee01cc2b9af8a9e",
      "tree": "84f55ed1c3e9847049970458c2d38ca9c430f766",
      "parents": [
        "a347b6c2e6b37cca22a8e7bab24f956d9ca6955d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Apr 28 14:35:58 2022 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Apr 28 22:35:53 2022 +0000"
      },
      "message": "Remove unnecessary work around for updatable-media\n\nBug: 190807367\nBug: 229932396\nTest: m framework-all\nChange-Id: I70590910144141a534b926f884e9f08e4e3af5ca\n"
    },
    {
      "commit": "dc3afbe3cad2dc46a75d18ca96a6af16a71f7b95",
      "tree": "c4c0465c7014152f5d2230bdca1fb68a55271e82",
      "parents": [
        "d405fc4491a270a28d9acc1b3c313690024cce31",
        "26554faaf28a4a1b665da9e887be938047fd2cc3"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Apr 12 18:54:06 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 12 18:54:06 2022 +0000"
      },
      "message": "Merge \"Fix mistake in disting of api txt\" am: 89ee3e6394 am: fc4d75a149 am: 26554faaf2\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2059568\n\nChange-Id: I15e56be28fe46471aa63aa123c757bce6512d3f7\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "09a9c4e3c5c4546774b6b6723d77f030bcd66c5d",
      "tree": "1b77575d28d73da8e778a873268fea0223a9e00f",
      "parents": [
        "59137a2227163dd7bd0de26987969d2999e2d1bb"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Apr 08 10:59:46 2022 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Apr 08 12:23:51 2022 +0100"
      },
      "message": "Fix mistake in disting of api txt\n\nWhen disting into the apistubs/... dir (the \"new\" path),\nthe merged api txts are called android.txt rather than\ncurrent.txt, to align with all the other \u003cmodule\u003e.txt.\n\nAlso add a new dist goal to build just these files into a\nconvenient location.\n\nTest: m api_txt dist\nChange-Id: I762763cc42b497e00277a8871ef62b0a11423e35\n"
    },
    {
      "commit": "293ed88b2f507755d5de4e64b5f074be9b01406f",
      "tree": "46688ab0fa18d75bec821c7711ed263481d7fb58",
      "parents": [
        "b031e081040aa1e95fdaf9620e4c7894c476dc18"
      ],
      "author": {
        "name": "Roopa Sattiraju",
        "email": "sattiraju@google.com",
        "time": "Thu Feb 03 09:07:17 2022 -0800"
      },
      "committer": {
        "name": "Roopa Sattiraju",
        "email": "sattiraju@google.com",
        "time": "Thu Feb 24 20:42:33 2022 +0000"
      },
      "message": "Enabling Apex in BT\n\nBug: 217736913\nTest: Compile, bringup and test user journeys\nChange-Id: I3e796e3618ad9a077fa5e8ac387e314e896d1051\n"
    },
    {
      "commit": "95e89a8cb9a615e7232a8f82ff7be2ccd7282dd4",
      "tree": "e9d882d05b6a501f4797ee2e7b31f32345f4cde0",
      "parents": [
        "c9a39b306628d5e77b0904f127ae1354af2ea6be"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Jan 28 11:31:50 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 04 16:36:21 2022 +0000"
      },
      "message": "Auto-generate list of module impl jars\n\nEliminate another duplicated list of all modules. This one has a couple\nof workarounds due to different naming of impl libs, and bluetooth not\nbeing ready.\n\nBug: 169103987\nTest: m framework-all and diff intermediates (no diffs)\nMerged-In: Ia8627c6e3977cd271e389ec482388ff73661881d\nChange-Id: Ia8627c6e3977cd271e389ec482388ff73661881d\n"
    },
    {
      "commit": "23274eeff584f346936644f42dac33ebbf954581",
      "tree": "9884a41a612205912d991c8ff8feccaff2634b50",
      "parents": [
        "cbac567d5e972c62f1cac680eb4d6f31be022d7f"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Jan 28 11:31:50 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 04 11:51:19 2022 +0000"
      },
      "message": "Auto-generate list of module impl jars\n\nEliminate another duplicated list of all modules. This one has a couple\nof workarounds due to different naming of impl libs, and bluetooth not\nbeing ready.\n\nBug: 169103987\nTest: m framework-all and diff intermediates (no diffs)\nChange-Id: Ia8627c6e3977cd271e389ec482388ff73661881d\n"
    },
    {
      "commit": "57533b4d8341023e3a6970434c33e9a19be9907b",
      "tree": "a403b4cb816aa540a53af212ac3284bae886620c",
      "parents": [
        "a114f9899cc4b53773c8abd17e62fd73ba2cc50f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 25 16:25:35 2022 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 28 08:50:24 2022 +0000"
      },
      "message": "Merge system and module-lib APIs from conscrypt and i18n\n\nPreviously, conscrypt and i18n were excluded from the list of modules\nfrom which combined_apis retrieved system and module-lib API files as\nthey did not provide those files. They now provide those files so no\nlonger need to be treated specially.\n\nThe conscrypt and i18n (and art) are excluded from the\nframework-updatable-stubs-module_libs_api as that is used with a\njava_system_modules that already provides the conscrypt and i18n\nand art APIs.\n\nBug: 216435117\nTest: m all-modules-system-stubs\n      m frameworks-base-api-system-current.txt\n      m frameworks-base-api-module-lib-current.txt\nChange-Id: I58502249c59b1faa65fb288ac11becd9496ff37e\n"
    },
    {
      "commit": "a114f9899cc4b53773c8abd17e62fd73ba2cc50f",
      "tree": "6455c50135e2fb378a72eabf737ce066012b50c5",
      "parents": [
        "36a4915c86ae1dcbb9983db281306f98c3fea6b4"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 25 16:13:29 2022 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 28 08:47:13 2022 +0000"
      },
      "message": "Merge annotations zip from conscrypt and i18n\n\nPreviously, conscrypt and i18n were excluded from the list of modules\nfrom which combined_apis retrieved annotation zip files as they did not\nprovide those files. They now provide those files so no longer need to\nbe treated specially.\n\nBug: 216435117\nTest: m sdk-annotations.zip\nChange-Id: I6db85a44715362dfb288ddf9010e2289233acf78\n"
    },
    {
      "commit": "c6e9d2ffe20fd0253a6b70fe77b04fa31158b06e",
      "tree": "ccb92963793cd32f78e02061dd51a12a2738ed38",
      "parents": [
        "a1a71aaae4d9c9cb376c7a240f13d0ce61c26791"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Jan 25 15:53:43 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Jan 27 12:34:37 2022 +0000"
      },
      "message": "Generate merged public and system stubs\n\nEliminate another two enumerations of all modules.\n\nBug: 169103987\nTest: m android_{,system_}stubs_current \u0026\u0026 diff intermediates (no diffs)\nMerged-In: I0d35f1e76320356ee4e5535a40614cf7d8ff4486\nChange-Id: I0d35f1e76320356ee4e5535a40614cf7d8ff4486\n"
    },
    {
      "commit": "4468d7c6bf2d83612909fb78ab5b90b13bb08443",
      "tree": "a185b4b62c9c2810542e4afe3bb0a514f2576c73",
      "parents": [
        "fd31645f856fe55872ea6379ce59dc62557d4a96"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Jan 14 12:10:01 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Jan 17 19:07:11 2022 +0000"
      },
      "message": "Create a filegroup for public stub sources\n\nFor use by framework-doc-stubs, to avoid duplicating the list of\nmodules there.\n\nBug: 169103987\nTest: m framework-doc-stubs ; diff intermediates before \u0026 after\nMerged-In: Ib1a1d1bb9fcf866278c6ddd057712a9c92716dbf\nChange-Id: Ib1a1d1bb9fcf866278c6ddd057712a9c92716dbf\n"
    },
    {
      "commit": "fd31645f856fe55872ea6379ce59dc62557d4a96",
      "tree": "c79f368e781d02950621a5433e64fd6181f15a95",
      "parents": [
        "cb00f945962f9e6a18496de9897c6f81a5c41256"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Jan 14 11:15:52 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Jan 17 19:07:10 2022 +0000"
      },
      "message": "Minor refactorings in api.go\n\n- Make a more generically useful \"expandArray\" function that can handle\n  all the various transforms needed here (another one in the next cl).\n- Move all the utility functions to the bottom of the file.\n\nTest: presubmit\nMerged-In: If0362c6dd90635831ac2cb2f7da336212f4c23fd\nChange-Id: If0362c6dd90635831ac2cb2f7da336212f4c23fd\n"
    },
    {
      "commit": "cb00f945962f9e6a18496de9897c6f81a5c41256",
      "tree": "4af2c13e4868e013edeb999098c24c5143f3027c",
      "parents": [
        "05e944d8df7da63f2921266d92e6e650d64160e7"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Jan 13 09:45:12 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Jan 17 19:07:09 2022 +0000"
      },
      "message": "Convert merged module lib stub to api.go\n\nBug: 169103987\nTest: m framework-updatable-stubs-module_libs_api and diff intermediates\n      folder before and after.\nMerged-In: I6018791ae136bc764a6e846078c6bce59bcc123b\nChange-Id: I6018791ae136bc764a6e846078c6bce59bcc123b\n"
    },
    {
      "commit": "05e944d8df7da63f2921266d92e6e650d64160e7",
      "tree": "9b7c1aa19c82a39af7ea2f68eb54dc1bef56151a",
      "parents": [
        "07a1295cfa31271803e7e57b465b5a5178a9b093"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Jan 13 12:26:30 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Jan 17 19:07:08 2022 +0000"
      },
      "message": "Some minor tweaks for api.go\n\n- Make constants for re-used hardcoded module names\n- Add a removeAll function\n- Move filtering into individual \"create\" methods.\n\nBug: 169103987\nTest: mmm frameworks/base/api\nMerged-In: Id81c93eafdbdbbd0f55a4a906150b58a001392f6\nChange-Id: Id81c93eafdbdbbd0f55a4a906150b58a001392f6\n"
    },
    {
      "commit": "07a1295cfa31271803e7e57b465b5a5178a9b093",
      "tree": "2f813c35dcd5824b22a84d9f63036ac2942af68b",
      "parents": [
        "cc18e03e440124cc084f72ce7217b631d034333b"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Jan 12 17:28:39 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Jan 17 19:07:07 2022 +0000"
      },
      "message": "Temporarily add support for conditional modules\n\nSome bootclasspath libraries are currently conditionally included\nin the SDK. Add support for that in api.go.\n\nBug: 169103987\nTest: mmm frameworks/base/api\nMerged-In: I7704a884675eb58c429a59f99a663cf09807ecec\nChange-Id: I7704a884675eb58c429a59f99a663cf09807ecec\n"
    },
    {
      "commit": "cc18e03e440124cc084f72ce7217b631d034333b",
      "tree": "5d8211fd91dbf091d45a2ec857818055a619f0b6",
      "parents": [
        "ec450c058e4a2e3d8085f528b627759d5084d76f"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Jan 12 14:45:22 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Jan 17 19:07:05 2022 +0000"
      },
      "message": "Construct sdk-annotations.zip programmatically\n\nAvoid hardcoding the list of modules in yet another place.\n\nBug: 169103987\nTest: diff zip before \u0026 after (identical)\nMerged-In: Id3983bf5f4b96b23b1da09fd3617870ac3926ea1\nChange-Id: Id3983bf5f4b96b23b1da09fd3617870ac3926ea1\n"
    },
    {
      "commit": "16ff357dfd0173964301918413b8a610dc97ca14",
      "tree": "4808c3df2ec7eb9aa21b079a84f3ffa9bf99f280",
      "parents": [
        "74c56a05b2ab7a01281e0a4a395a1bded9e19be5"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Jan 11 18:36:35 2022 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Jan 13 09:26:08 2022 +0000"
      },
      "message": "Refactor api.go to simplify Android.bp further\n\nThe gitlinter tool consumes the Android.bp file and from it mines\nthe module names of libraries that contribute to the public API surface.\nThe format required by the previous incarnation of api.go (creating a\nlist in Android.bp and passing that multiple times) did not lend itself\nto being easily consumed by gitlinter.\n\nSo, change some of the constructs to simplify the Android.bp definition:\n- hardcode a couple of \"anomalies\" inside the go code instead (which\n  modules have only public APIs and what modules should be filtered\n  from the lint DB). There\u0027s no real benefit to plumb them through the\n  Android.bp.\n- only pass the list of modules once (this allows inlining the list)\n\nAlso change the output filename of the genrules. This makes no practical\ndifference but does match the existing genrules.\n\nBug: 169103987\nTest: in the followup-change that defines a combined_apis\nChange-Id: I6715fa9d24603e3cbb8b09510b64c2bf6bac1f27\nMerged-In: I6715fa9d24603e3cbb8b09510b64c2bf6bac1f27\n"
    },
    {
      "commit": "0860aaf958821f44fd75b1d7c02855fc8321b9cd",
      "tree": "913ab199f4575c560291226d736199b3760360c1",
      "parents": [
        "ac674f3b41ddf8be1bd60f3d7b0590c8d6561367"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Oct 08 16:48:03 2021 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Jan 10 16:50:27 2022 +0000"
      },
      "message": "Generate genrule modules for merged api txts\n\nAdd a soong plugin that can generate the genrule definitions for the\nmerged api txt files. This will allow removing a lot of duplicated\nlists in the Android.bp and simplify adding new modules.\n\nBug: 169103987\nTest: follow-up that uses these rules (branch dependent)\nChange-Id: I0c7a9921b7f4c5b74f8b652cb357abf9444ce93f\n"
    }
  ]
}
