)]}'
{
  "commit": "ecb61eebbb93111b87a878ce920cd4914f7d47fb",
  "tree": "223affb27214e480602f869a178fa02d925ffa95",
  "parents": [
    "696e302b1765b2c7cfa9e24f4b9903ce39e27b60"
  ],
  "author": {
    "name": "gregce",
    "email": "gregce@google.com",
    "time": "Tue May 19 10:56:29 2020 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue May 19 10:57:28 2020 -0700"
  },
  "message": "Introduce configuration transition fragment declarations.\n\nSee https://github.com/bazelbuild/bazel/issues/11258 for context.\n\nThis essentially converts ConfigurationTransition.apply(BuildOptions...)\nto ConfigurationTransition.apply(RestrictedBuildOptions...). The new\nBuildOptionsView wraps BuildOptions while only allowing access\nto options fragments the transitions declare.\n\nBecause there are a *lot* of uses of PatchTransition and SplitTransition,\nthis change only adds a parallel interface to PatchTransition.patch and\nSplitTransition.split. Implementers continue to work as-is with the\nBuildOptions variant, while we can incrementally switch them over to\nthe RestrictedBuildOptions variant at whatever pace we desire.\n\nThis helps decouple risk of failing CI if/when we accidentally forget\nto migrate a few implementers or get their set of declared fragments wrong.\n\nThis implements step 1 of https://github.com/bazelbuild/bazel/issues/11258.\n\nPiperOrigin-RevId: 312311815\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d22f09ea77b636c044f03a4b6b3da2932301601f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/BUILD",
      "new_id": "0fa4dad88334e8d06b9b27ddd94548c595cc5f4c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "49551ad4301f1f1b402e63023b429bf8e38b4192",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptionsView.java"
    },
    {
      "type": "modify",
      "old_id": "c141859c66da4cacc7f0b52c30d0d30d81ec5889",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java",
      "new_id": "8fa0701793d034fbe00b81e30cd41fa21cc3a6ec",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java"
    },
    {
      "type": "modify",
      "old_id": "f1c159a64933829bddf40e480e25572ce637f8c1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingTransition.java",
      "new_id": "6bbb5eb475caa0e39134edbacd31d748bc17c23e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingTransition.java"
    },
    {
      "type": "modify",
      "old_id": "fc3b9613d1fe712c283145f3edc9bf0403168c50",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ConfigurationTransition.java",
      "new_id": "b9783baec3554567e233412684fda99ac0de726c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ConfigurationTransition.java"
    },
    {
      "type": "modify",
      "old_id": "16f95a8708c88455662c0ce0acde4ac930f0a69f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/PatchTransition.java",
      "new_id": "b72329a8cb5a61602973256e4a53028160a66d7f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/PatchTransition.java"
    },
    {
      "type": "modify",
      "old_id": "5e630d27279ddc8e29a6d5532c332f54332a10df",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/SplitTransition.java",
      "new_id": "5ec519ed8ad5f1998d78682df9e8845f9903fbc6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/SplitTransition.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60a20eadbecedb7f47f44daff9630c776ce1ce30",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/config/transitions/TransitionUtil.java"
    },
    {
      "type": "modify",
      "old_id": "9991a1dccb354ca0af95b19e871486f522830598",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/query2/cquery/TransitionsOutputFormatterCallback.java",
      "new_id": "fa20d77f8e6b82896f01eb4230e741cffbf1553c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/query2/cquery/TransitionsOutputFormatterCallback.java"
    },
    {
      "type": "modify",
      "old_id": "045500ec2cec50b84b9ca06a59f6209f0846b09d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/AnalysisCachingTest.java",
      "new_id": "8e4f081dda5533a966556cd97c3c6eb1a6e53ca3",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/AnalysisCachingTest.java"
    },
    {
      "type": "modify",
      "old_id": "77fdbda21ca894d1224162126e046fda3b3e6ee3",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/CircularDependencyTest.java",
      "new_id": "b49af3d599540eac106f3e1ad235ae862f1bb2b5",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/CircularDependencyTest.java"
    },
    {
      "type": "modify",
      "old_id": "e2f3cb622ac16a025504fe58f8a4c01be9a242cf",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/ConfigurationsForLateBoundTargetsTest.java",
      "new_id": "150bdae91ef3efa5c82ac548a8adffeba4d1e46f",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/ConfigurationsForLateBoundTargetsTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6f9a7236d59b705fbe4c948f94109fb9c5a0ae9a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsViewTest.java"
    },
    {
      "type": "modify",
      "old_id": "aee0d3715d172aa0d0c25f7600d4803f8d7cbb76",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/config/TransitionFactoriesTest.java",
      "new_id": "67dcf08453ede8792453a28e3073a9789fbd3236",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/config/TransitionFactoriesTest.java"
    },
    {
      "type": "modify",
      "old_id": "85855b5015eebad80b854501d9addbd909739800",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingTransitionFactoryTest.java",
      "new_id": "fb31d78e579196143a5bdfc302a4b5c613082ac0",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingTransitionFactoryTest.java"
    },
    {
      "type": "modify",
      "old_id": "acc758e1e08a834c7ad39e1c49e2aaac9ddbb87c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingTransitionTest.java",
      "new_id": "a3375b39eefac9ce44452e2e8da5d3310e21ad3b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingTransitionTest.java"
    },
    {
      "type": "modify",
      "old_id": "0e13c65fe97187184932922bb4a8574624c3f89c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicyTest.java",
      "new_id": "b4454e3e9bfae449daf02e97491938afe90d5fa6",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicyTest.java"
    },
    {
      "type": "modify",
      "old_id": "ae0298173ea9e5b873d6f49519bac25f095b1a16",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithTrimmedConfigurationsTest.java",
      "new_id": "cf2227ba0d0494c37d288a933717c5c1dc27643a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithTrimmedConfigurationsTest.java"
    }
  ]
}
