)]}'
{
  "commit": "5cca7c44e51d0d08a5ea842d0f9870a772529dec",
  "tree": "90249308272ae014f7b0f7a4f434cb5f2ffbc1ef",
  "parents": [
    "136fd5554d64d525fb1af9e72e76b854900173f6"
  ],
  "author": {
    "name": "Paul Duffin",
    "email": "paulduffin@google.com",
    "time": "Wed May 26 10:16:01 2021 +0100"
  },
  "committer": {
    "name": "Paul Duffin",
    "email": "paulduffin@google.com",
    "time": "Fri Jun 25 16:20:19 2021 +0100"
  },
  "message": "Support hidden API processing for modules that use platform APIs\n\nPreviously, hidden API processing could only be done by those\nbootclasspath_fragment modules that either did not depend on any other\nfragments (e.g. art-bootclasspath-fragment) or only depended on APIs\nprovided by other fragments (e.g. i18n-bootclasspath-fragment). That\nmeant that modules like com.android.os.statsd-bootclasspath-fragment\nthat depended on APIs provided by parts of the platform which are not\nyet part of another bootclasspath_fragment could not perform hidden\nAPI processing.\n\nThis change adds support for a bootclasspath_fragment to specify the\nadditional stubs needed to perform hidden API processing. It adds a new\nadditional_stubs property that can be used to specify the additional\nstub libraries.\n\nMost bootclasspath_fragments that need to use the property will need\naccess to the APIs provided by the android-non-updatable.* libraries.\nRather than have each fragment explicitly specify the correct module\nfor each scope it treats \"android-non-updatable\" as if it was a\njava_sdk_library that can provide different jars for each scope.\nSoong will handle mapping that to the correct android-non-updatable.*\nmodule.\n\nBug: 179354495\nTest: m out/soong/hiddenapi/hiddenapi-flags.csv \\\n        out/soong/hiddenapi/hiddenapi-index.csv \\\n        out/soong/hiddenapi/hiddenapi-stub-flags.txt \\\n        out/soong/hiddenapi/hiddenapi-unsupported.csv\n      - make sure that this change does not change the contents.\n      m TARGET_BUILD_APPS\u003dCalendar nothing\nChange-Id: Ia8b79830ed0e6d42100de03d76b0c51b7f6c8ade\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5c58612b0525b36291387298976f5915aa25ab7d",
      "old_mode": 33188,
      "old_path": "android/sdk.go",
      "new_id": "e70003144f5ff8685b3e8b1557a6fe4a37f9c22c",
      "new_mode": 33188,
      "new_path": "android/sdk.go"
    },
    {
      "type": "modify",
      "old_id": "f97404a63c1f8bbdd581717393dcebb018daa8ec",
      "old_mode": 33188,
      "old_path": "apex/bootclasspath_fragment_test.go",
      "new_id": "8554c19c2f721125d4e5a9afc9199b7610dd667a",
      "new_mode": 33188,
      "new_path": "apex/bootclasspath_fragment_test.go"
    },
    {
      "type": "modify",
      "old_id": "23e4e8d1a937461e6015a34808767768e9355b36",
      "old_mode": 33188,
      "old_path": "java/bootclasspath_fragment.go",
      "new_id": "8ea9f824a581d669c3c3a5d8484ed9698dd0d6da",
      "new_mode": 33188,
      "new_path": "java/bootclasspath_fragment.go"
    },
    {
      "type": "modify",
      "old_id": "96534ad7d695af5c00419a2e2e193771977d4e93",
      "old_mode": 33188,
      "old_path": "java/hiddenapi_modular.go",
      "new_id": "b322c6fd2d321c1d6e766799d0f1c7a6dd387ec8",
      "new_mode": 33188,
      "new_path": "java/hiddenapi_modular.go"
    },
    {
      "type": "modify",
      "old_id": "3f613399afd04d25f584f768b2c4e1d987308795",
      "old_mode": 33188,
      "old_path": "sdk/update.go",
      "new_id": "b146b62c89bc140fff53fb6789834565a26e03a3",
      "new_mode": 33188,
      "new_path": "sdk/update.go"
    }
  ]
}
