)]}'
{
  "commit": "7b64dfec306cfa101a0469ac7c55a4cec3e200b3",
  "tree": "145672613b113dcdb1bf5cfb784dfe46f2396141",
  "parents": [
    "5b511525cf4194c36019f56f7e028bd0a1d2e15a"
  ],
  "author": {
    "name": "Andrew Sinclair",
    "email": "asinclair@google.com",
    "time": "Wed Aug 05 10:25:07 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Aug 05 10:25:34 2026 -0700"
  },
  "message": "Remove unused dexopts to save Blaze/Bazel heap.\n\nThe main impactful change is removing `--no-optimize` from _DEXOPTS_SUPPORTED_IN_INCREMENTAL_DEXING. This list is used by the dex_desugar_aspect. A set of dexing actions is created for each combination of dexopts. In `android_binary` we just pull the outputs from the actions with the set of dexopts matching the value passed to the dexopts attribute of the `android_binary` target. So we create many sets of actions that are never executed. This is a waste of Blaze heap. The `--no-optimize` flag is completely ignored CompatDexBuilder which is the wrapper we use around D8 to trigger dexing. This means removing the no-op dexopt cuts the number of dexing actions generated by the dex_desugar_aspect in half with no functional impact.\n\nPiperOrigin-RevId: 959735674\nChange-Id: I0d2db2102b1826c366c51f7466d927219f46e54a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d7adb7a249907b1772ccd52862d1bfd503e47227",
      "old_mode": 33188,
      "old_path": "rules/dex.bzl",
      "new_id": "1da43d3d3172fbdacbc6aed849f0039788b985e4",
      "new_mode": 33188,
      "new_path": "rules/dex.bzl"
    }
  ]
}
