)]}'
{
  "commit": "e80063e152056504d2c5f91e927d9837cbc0e62f",
  "tree": "340c873834a6680096e4be9d82eb5c48d64e202a",
  "parents": [
    "74e928bbda0744d12a1b871d41782d8445cee9db"
  ],
  "author": {
    "name": "bazel.build machine account",
    "email": "15028808+bazel-io@users.noreply.github.com",
    "time": "Wed Feb 21 13:10:53 2024 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Feb 21 18:10:53 2024 +0000"
  },
  "message": "[7.1.0] Reland \"Also path map transitive header jar paths with direct classpath optimization\" (#21458)\n\nRollforward of fd196bf03f4301cc3fbfc307570637f4de71c82c, which was\nrolled back in f5d76b1777ce861a7e551342fe25363517d53ff5.\n\nThe analysis-time memory regression (newly retained `NestedSet`\ninstances) has been resolved separately in\n31fae9e8e6687cbaf0dfe55a466696210c80be96. The execution-time memory\nregression (unconditionally flattened `NestedSet`s) is now only incurred\nwith path mapping enabled.\n\nOriginal description:\n\n`JavaHeaderCompileAction` can apply an optimization where it compiles\nthe source files only against direct dependencies, making use of the\nfact that Turbine includes sufficient information about transitive\ndependencies into the direct header jars in a special directory.\n\nIn order to ensure that downstream consumers of header compilation\naction can use its `.jdeps` file regardless of which of these actions\nactually uses path mapping, all such paths to transitive jars have to be\nunmapped.\n\nWith this commit, actions can declare additional artifacts whose paths\nthey want to apply path mapping to. By always passing all transitive\njars into the path mapper, even when only the direct jars are inputs to\nthe action, the transitive header jar paths can be unmapped and stripped\npath collisions between them correctly result in a noop `PathMapper`\nbeing used for the current action.\n\nCloses #21401.\n\nCommit\nhttps://github.com/bazelbuild/bazel/commit/74fe66974e0c4c6b920e067070a519140829c22a\n\nPiperOrigin-RevId: 609010786\nChange-Id: I0d9ea5b11430ee40be74fe582af84fedaa52ade6\n\nCo-authored-by: Fabian Meumertzheim \u003cfabian@meumertzhe.im\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ea34327d30cf53f3984679f3fb9d674feb53be7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java",
      "new_id": "25536393042ef45589b4f5e591943d74eb3ff134",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java"
    },
    {
      "type": "modify",
      "old_id": "3ebba4796c5213e8d6be35c2bc950b6ec97cc29c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/PathMappers.java",
      "new_id": "f0d52883152cef1254b43972661a47827a0ac74e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/PathMappers.java"
    },
    {
      "type": "modify",
      "old_id": "76788fc6afb42d530f40e3853b13acafdc0c10a4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/StrippingPathMapper.java",
      "new_id": "563bd8c8ce6faba021aad65a37668c698c6d273f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/StrippingPathMapper.java"
    },
    {
      "type": "modify",
      "old_id": "7e0966621407bf2ac7d124b6511ae99cdadd4aa2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java",
      "new_id": "da08a18bf05271f1b59dd539c3f0b6514c3b5c65",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java"
    },
    {
      "type": "modify",
      "old_id": "50194c94c22048d98d17bcf5f65e47dc2e1ab28c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java",
      "new_id": "be54d1dbc30cc3433af14cc41daebd42122f3685",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java"
    },
    {
      "type": "modify",
      "old_id": "8498a0c79afcb97a19e22c06fb4c41301bd9518b",
      "old_mode": 33261,
      "old_path": "src/test/shell/integration/config_stripped_outputs_test.sh",
      "new_id": "da111c4ec0eab5e2f3de358801202fb37b522a40",
      "new_mode": 33261,
      "new_path": "src/test/shell/integration/config_stripped_outputs_test.sh"
    }
  ]
}
