)]}'
{
  "commit": "b571f2c1b9272a14710e15f719dff8af86b79f06",
  "tree": "555febdcbb452c9ae7c2e2fd392575e390861a59",
  "parents": [
    "547d2a92eaaebc6aef9bd5bc312d12d0660a513e"
  ],
  "author": {
    "name": "John Laxson",
    "email": "jlaxson@mac.com",
    "time": "Tue Feb 09 05:50:53 2021 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Feb 09 05:52:13 2021 -0800"
  },
  "message": "cc_shared_library: Don\u0027t fail when same shared lib is depended multiple times\n\nWhen using `--experimental-cc-shared-library`, the duplicate symbol check fails if a shared lib is linked multiple times.  For example:\n\n```\ncc_library(name\u003d\"X_static\")\ncc_shared_library(name\u003d\"X_shared\", roots\u003d[\":X_static\"])\n\ncc_shared_library(name\u003d\"A\", dynamic_deps\u003d[\":X_shared\"])\ncc_shared_library(name\u003d\"B\", dynamic_deps\u003d[\":X_shared\"])\n\ncc_binary(name\u003d\"test\", dynamic_deps\u003d[\":A\", \":B\"])\n```\n\nWill yield an error like:\n\n\u003e in dynamic_deps attribute of cc_binary rule //:test: Two shared libraries in dependencies link the same library statically. Both //:X_shared and //:X_shared link statically //:X_static\n\nThis fix checks to ensure it is truly different shared libraries exporting the same static lib.\n\nCloses #12981.\n\nPiperOrigin-RevId: 356482606\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e857b91a9825431987c6b0a2b43ba54d37f36c5d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java",
      "new_id": "6085bc4871c3b3961abf0fbbb0f41ad0d200b702",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java"
    }
  ]
}
