)]}'
{
  "commit": "09a3ec9408da18351b351fde601b2c357c359d95",
  "tree": "f8259fa14c6e38e8ae112ae203fd6f6c288c64c3",
  "parents": [
    "1590dbc4be2ce262ee9348e12cdb44c3b6ee0544"
  ],
  "author": {
    "name": "Googler",
    "email": "arostovtsev@google.com",
    "time": "Thu Jun 08 17:56:53 2023 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jun 08 17:58:17 2023 -0700"
  },
  "message": "Emit consistent names for providers in starlark_doc_extract\n\nIf a module re-exports a provider in a namespace or under a different name, and\nthat provider is also referred to by a rule or rule attribute, we should use the\nexported provider name consistently throughout our doc output (note that we also\noutput the OriginKey message with the name under which the provider was exported\nin its original module).\n\nThis requires processing a module\u0027s docs in two phases: first, collect all\ndocumentable providers\u0027 names and keys; and then process all documentable symbol\ndocumentation as before, using the providers\u0027 exported names when emitting rule\ndocs.\n\nIn turn, that means refactoring ModuleInfoExtractor to use a common abstraction\n(GlobalsVisitor) for recursively walking namespaced Starlark values in both phases.\n\nAlso remove the rewriteWorkspace call in originKeyFileAndModuleInfoFileLabels\nwhich was accidentally added in the previous change.\n\nPiperOrigin-RevId: 538939476\nChange-Id: I33565966019673b58caa134e676900ba16d09412\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "88272257a2df1b9866bebabd4f620523770c7265",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/packages/StarlarkProviderIdentifier.java",
      "new_id": "3b1818abb7e11a4e6adcdc87e350581d198aa9b1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/packages/StarlarkProviderIdentifier.java"
    },
    {
      "type": "modify",
      "old_id": "2ebf275dd04e1239d560f5bdf379825bb95cd17d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractor.java",
      "new_id": "6b0226aeb93e353e8029e07c87be0a30d9091b91",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractor.java"
    },
    {
      "type": "modify",
      "old_id": "82439b7cdbb7a58a91f127a68246037299c14022",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/skydoc/rendering/proto/stardoc_output.proto",
      "new_id": "f2abf8605007b35cec8b780c3b526be83856aaa7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/skydoc/rendering/proto/stardoc_output.proto"
    },
    {
      "type": "modify",
      "old_id": "8022136728621065540ce84f7311cb00af2c1d5c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractorTest.java",
      "new_id": "4196613369ce3b5d3d87461a1ba2f0c85d5470a0",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractorTest.java"
    },
    {
      "type": "modify",
      "old_id": "30ca10bbb438cd69d5ad1a439c7655e7a1568565",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtractTest.java",
      "new_id": "47e3b7e22319e0bfdf5736cb8a358562c27b4e3a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtractTest.java"
    }
  ]
}
