)]}'
{
  "commit": "7fcbc8ffdead028d19606fefa2fa3be13781da98",
  "tree": "803a2275982ce67dff4251e5a41a1c8dfd186cf8",
  "parents": [
    "26c86f88be0ddd9d59f4fd3f3afdd769af4ecefc"
  ],
  "author": {
    "name": "Laszlo Csomor",
    "email": "laszlocsomor@google.com",
    "time": "Tue May 29 07:41:10 2018 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-piper@google.com",
    "time": "Tue May 29 07:42:14 2018 -0700"
  },
  "message": "shell toolchain: genrule now uses it\n\ngenrule() now uses the shell toolchain (as well as\nthe ShellConfiguration config fragment) to look up\nthe shell interpreter\u0027s path.\n\nAlso the CommandHelper no longer looks up the\nshell interpreter\u0027s path itself. Instead its ctor\ntakes the path as an argument. This allows\nsupporting rules that already use the shell\ntoolchain and rules that still only consider the\nconfiguration fragment.\n\nWith these changes genrule() is now able to use\nthe shell interpreter registered as a toolchain,\neven if there\u0027s no `--shell_executable` flag\nspecified (or its value is empty).\n\nSubsequent commits will migrate more and more\nrules to depend on the shell toolchain.\n\nThis commit takes us closer to:\n\n1. be able to detect the local shell interpreter\u0027s\n   location, especially when it\u0027s not the default\n   /bin/bash\n\n2. be able to define different shell toolchains\n   (different interpreter paths) for remote builds\n\n3. gracefully fail the build if the machine has no\n   shell installed but the action graph included a\n   shell action\n\nSee https://github.com/bazelbuild/bazel/issues/4319\n\nChange-Id: I0674c7e2d5917643d87b48b19a1cb43e606ad2f7\n\nCloses #5282.\n\nChange-Id: I0674c7e2d5917643d87b48b19a1cb43e606ad2f7\nPiperOrigin-RevId: 198394021\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c785da410e2bae01d922f8d2c27028e84c852c5e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/ShToolchain.java",
      "new_id": "482ba883802cf57d34b86a568c91e2868f4df7c2",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/ShToolchain.java"
    },
    {
      "type": "modify",
      "old_id": "964cfafce1ce93b64df849a015e97003e819e36d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java",
      "new_id": "bda085ec414132727f34ad9943da37a555cd91ae",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java"
    },
    {
      "type": "modify",
      "old_id": "52efdf15de94f1ab686ed2a6451b4153121fe74b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java",
      "new_id": "ab57723303a274fe0b91f05dc1b5b033a2f3785a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java"
    },
    {
      "type": "modify",
      "old_id": "af2220d0f654393371f07f0eab1cd5dbf0d947b4",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java",
      "new_id": "d26727a650b9806b4c2757e499fbb77492816aa5",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java"
    },
    {
      "type": "modify",
      "old_id": "7ced520c127bae16f53aaa0d36894229f03f7d47",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRuleConfiguredTargetTest.java",
      "new_id": "267fedbac2b98484e99708bc2ef6e1a56e60af5b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRuleConfiguredTargetTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9783aad9d741f1e188dab929d7687a1c08801880",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRuleUsesShellToolchainTest.java"
    },
    {
      "type": "modify",
      "old_id": "f94c0476671a08f4cf629658288517680ad46fab",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java",
      "new_id": "74f614599bf2d12d9bd981d39c760794b2e05390",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java"
    },
    {
      "type": "modify",
      "old_id": "66f710a92630ae69d58a911c06a184b0a2e7aac1",
      "old_mode": 33188,
      "old_path": "tools/sh/BUILD",
      "new_id": "ea6ea974fffd69787cd7937bd7b07ccaa0d90122",
      "new_mode": 33188,
      "new_path": "tools/sh/BUILD"
    },
    {
      "type": "modify",
      "old_id": "f7c8899420a67ebc791667b3e2b6550db4dcfd43",
      "old_mode": 33188,
      "old_path": "tools/sh/sh_configure.bzl",
      "new_id": "03c821a6be620156dd70ab85b2567c5bda00be56",
      "new_mode": 33188,
      "new_path": "tools/sh/sh_configure.bzl"
    }
  ]
}
