)]}'
{
  "commit": "740cd903ee7666a7ddef512c65b8455bde46abae",
  "tree": "997d58e3a891c4f14d240aa13cb7d94d9d93d249",
  "parents": [
    "a3acb6630b7e0693b42781b8ec7ff6860efc7c3f"
  ],
  "author": {
    "name": "Benjamin Peterson",
    "email": "bp@benjamin.pe",
    "time": "Fri Aug 11 13:34:52 2017 +0200"
  },
  "committer": {
    "name": "Marcel Hlopko",
    "email": "hlopko@google.com",
    "time": "Fri Aug 11 15:43:45 2017 +0200"
  },
  "message": "Refactor persistent workers to use SpawnRunner.\n\nChange the persistent worker spawn strategy to extend\nAbstractSpawnStrategy and put the actual logic into\nWorkerSpawnRunner. WorkerTestStrategy is unaffected.\n\nI had to extend SpawnPolicy with a speculating() method. Persistent\nworkers need to know if speculation is happening in order to require\nsandboxing.\n\nAdditionally, I added java_test rules for the local runner tests and\nworker tests. See https://github.com/bazelbuild/bazel/issues/3481.\n\nNOTE: ulfjack@ made some changes to this change before merging:\n - changed Reporter to EventHandler; added TODO about its usage\n - reverted non-semantic indentation change in AbstractSpawnStrategy\n - reverted a non-semantic indentation change in WorkerSpawnRunner\n - updated some internal classes to match\n - removed catch IOException in WorkerSpawnRunner in some cases,\n   removed verboseFailures flag from WorkerSpawnRunner, updated callers\n - disable some tests on Windows; we were previously not running them,\n   now that we do, they fail :-(\n\nChange-Id: I207b3938f0dc84d374ab052d5030020886451d47\nPiperOrigin-RevId: 164965398\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2f8c4dbaf158aa48988af311ef820badede8a75a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java",
      "new_id": "9ad2d468f3fedd8e376e41b1b587056a69f916c7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java"
    },
    {
      "type": "modify",
      "old_id": "e7f67042f066fdc498c6d2c9cc7e2c252d1dda8f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/exec/SpawnRunner.java",
      "new_id": "fdcb5ea38c9d7ccedf1693535485ecc07b8226f9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/exec/SpawnRunner.java"
    },
    {
      "type": "modify",
      "old_id": "ef7427542eb728b7691c0500397a89a140b01f4c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/worker/BUILD",
      "new_id": "b3e4fd54fe73f4353c011f52e31aacd3e3321882",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/worker/BUILD"
    },
    {
      "type": "modify",
      "old_id": "b95f8c6ac5a833b6f3dac2bed8f3bd49ea04aa11",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerActionContextProvider.java",
      "new_id": "50f6e2dd8f4cf8f4d535442994dfa03ba887989d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerActionContextProvider.java"
    },
    {
      "type": "modify",
      "old_id": "c203cf521b6a3a6305ccf658bdf7850f1b3958ab",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerFilesHash.java",
      "new_id": "a795bc7abacd9983616add41c58e668397f6b153",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerFilesHash.java"
    },
    {
      "type": "modify",
      "old_id": "e0ef188849f90bd99ac9a86d4ee57f43021ed50c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java",
      "new_id": "0ac6cc031a64b275516d59d8538158c37027fe98",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a38244ec1b4b98745539d7e434dbec653e7ebc9f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnRunner.java"
    },
    {
      "type": "modify",
      "old_id": "5688933b948955cd2e0592fe482d2dd4f6d7f660",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java",
      "new_id": "890de1bd9e393e7001c1e8c61f65e0371ebf15ed",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java"
    },
    {
      "type": "modify",
      "old_id": "4edeed0fc4cf5bfd9b6069e8136932b1cdbc65ee",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerTestStrategy.java",
      "new_id": "4d6fcd23bf445c7c139b491b8432295a31016391",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/worker/WorkerTestStrategy.java"
    },
    {
      "type": "modify",
      "old_id": "8e55f839ff8d9ddf2f0e57b55c89b15bd48fdd66",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/BUILD",
      "new_id": "1b06eb2601d9f45f3452aed4e555b07f4f059a1b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/BUILD"
    },
    {
      "type": "modify",
      "old_id": "dd5c231036cffd87e7c0725cfcc56143f85afa78",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunnerTest.java",
      "new_id": "4f187f7877de3ae3f04181062e725c009215b4bf",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunnerTest.java"
    },
    {
      "type": "modify",
      "old_id": "746447b1a608165239aa89f5ce6690aa1e6d5850",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/CachedLocalSpawnRunnerTest.java",
      "new_id": "e26dd1fc84e3306e2e98219017ced0dd32102cb0",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/CachedLocalSpawnRunnerTest.java"
    },
    {
      "type": "modify",
      "old_id": "e04630a8c0dda4469225934e60550637363cd0d0",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/GrpcRemoteExecutionClientTest.java",
      "new_id": "0e3e9585f48f1d8ca8079f5f9effe7a995a006b8",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/GrpcRemoteExecutionClientTest.java"
    },
    {
      "type": "modify",
      "old_id": "2475b2cb1ea8d9d572152f30843d50bc3375e481",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnRunnerTest.java",
      "new_id": "a240cd684544742cc64dfbf40aa12edba4fa9279",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnRunnerTest.java"
    },
    {
      "type": "modify",
      "old_id": "181e43881e6e9d0d3392fc89ce697b183e7f9cfc",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/worker/ErrorMessageTest.java",
      "new_id": "4607b22e740a2c68c7e6255f1c5a3d5d3ceee27f",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/worker/ErrorMessageTest.java"
    }
  ]
}
