)]}'
{
  "commit": "dac0d40d0eb903f5cb70341398d1a333c19adf3a",
  "tree": "07378de6d5944ab6a0092cb91f5a0c215cd6d483",
  "parents": [
    "082d98772690946ed29c157e60640c97a6e1195b"
  ],
  "author": {
    "name": "Googler",
    "email": "noreply@google.com",
    "time": "Wed Jan 13 06:56:57 2021 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Jan 13 06:59:21 2021 -0800"
  },
  "message": "Improve \"Common Attributes\" section\n\nCreates a separate section for attributes which are added to most build rules, but not implicitly added to Starlark rules. deps, data, and licenses are moved to that section.\n\nsrcs is also added to the new section, since I think that\u0027s as notable a naming convention to highlight as \"deps\" and \"data\".\n\nThe section on \"deps\" is updated to note:\n* That \"deps\" generally should contain only specific rules and not files\n* How \"deps\" generally varies between language specific rules\n* The general relationship between \"srcs\" and \"deps\".\n\nAlso, a bit that says \"deps\" are always included in runfiles is removed. That\u0027s not even usually true. Though it may be true in some cases that source code is needed at runtime and therefore should be included in runfiles (this could be the case for build rules for some interpreted languages, for example), often source code is not needed at runtime and shouldn\u0027t be included in runfiles.\n\nThe section on \"data\" is updated to note:\n* That generally \"data\" permits arbitrary dependencies\n* That default outputs and runfiles from targets in data should be included in the runfiles of consumers\n* The general relationship between \"data\" and \"srcs\"\n* What Starlark rules need to do to handle data in their implementation functions\n\nThe remainder of the section is updated to:\n* Consistently use \"target\" instead of \"rule\" to refer to rule targets. \"Rule target\" is unnecessary, file targets don\u0027t have attributes\n* Use a consistent format the type of the attribute\n* Consistently omit that optional list or dictionary attributes default to empty lists or dictionaries\n* Use False instead of 0 for the default values of attributes whose type is \"boolean\"\n\nAnd did a bit of copyediting.\n\nA line from the introduction to the \"common attributes\" section that mentions it\u0027s an error to list the same label twice in a label-list attribute is pruned. That\u0027s true, but it seems misplaced here, it\u0027s not very related to the rest of this section.\n\n\"applicable_licenses\" and \"transitive_configs\" are not yet documented.\n\nRELNOTES: None.\nPiperOrigin-RevId: 351577116\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "552976c61d232353bdbf3502e813d6656561897f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/BuildDocCollector.java",
      "new_id": "a7438ad21eb07b48875ca0c5697eae85033e6353",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/BuildDocCollector.java"
    },
    {
      "type": "modify",
      "old_id": "af957ff4c41cade1e185080fcb4f3e2db9595eae",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/DocgenConsts.java",
      "new_id": "19a4ae71aab2b28a13f9e2337cc12d583b56e4e5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/DocgenConsts.java"
    },
    {
      "type": "modify",
      "old_id": "9bbdf6300f0f9319f88e8b4f9f27ec6b0744008a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/MultiPageBuildEncyclopediaProcessor.java",
      "new_id": "d930041f66e1c97635b1255ebf81108d5066a6b0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/MultiPageBuildEncyclopediaProcessor.java"
    },
    {
      "type": "modify",
      "old_id": "d839ccadaf2534dee8000f7f7d9486e8086da503",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/PredefinedAttributes.java",
      "new_id": "e0f8608f7ffe67ea561e8814435339a7f2d7d611",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/PredefinedAttributes.java"
    },
    {
      "type": "modify",
      "old_id": "883b1411e92d3b8b1aac72bf6995f6b5c97181f4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/SinglePageBuildEncyclopediaProcessor.java",
      "new_id": "346cc339b3791dec91bbd376726b935a26805bd2",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/SinglePageBuildEncyclopediaProcessor.java"
    },
    {
      "type": "modify",
      "old_id": "01cb9c7e2b9ad4593790c3a6602de15763117257",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/binary/args.html",
      "new_id": "aa17f6d5ab272c97f27ada3ab018aadf48a5927c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/binary/args.html"
    },
    {
      "type": "modify",
      "old_id": "80cb86bcbbfbf5ab737e525d333351a6f8b1288d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/binary/env.html",
      "new_id": "8885781f28c2b9f8b5f8154679e18b0c35e31f81",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/binary/env.html"
    },
    {
      "type": "modify",
      "old_id": "16fc1fefd53e92b6f758520929705d4fb88f3103",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/compatible_with.html",
      "new_id": "3beb7eeee0026b32af46dd377606cb0b983c3d6e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/compatible_with.html"
    },
    {
      "type": "delete",
      "old_id": "5be4ef2009bcf4bbdce109a39ef2f1190c860152",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/data.html",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "abd667df563cd3d966a5e854870fd1074585854c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/deprecation.html",
      "new_id": "9ee89e4dcb10a5881365450c7286b62c0016f6ec",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/deprecation.html"
    },
    {
      "type": "delete",
      "old_id": "806e3dedc7a4709e803bb9b1b54d5120a03eb7d8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/deps.html",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "cd468dddd49b35bacd96515904200f010b17e2fe",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/distribs.html",
      "new_id": "c54f7fc3c478de67bab49ca84a26eca1f772c630",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/distribs.html"
    },
    {
      "type": "modify",
      "old_id": "a920e6ad09e75d7b95eb13871a10feedc2f8e7e1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/exec_compatible_with.html",
      "new_id": "c027e398139efee7b13733e00af5ce3c3cf4f801",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/exec_compatible_with.html"
    },
    {
      "type": "modify",
      "old_id": "ae6f0094cd30bc591a3b6d5d89b4eba6a371dffc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/exec_properties.html",
      "new_id": "9d3d73a1ca673432c92300754d43396cf46c2c44",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/exec_properties.html"
    },
    {
      "type": "modify",
      "old_id": "5ac9dd96c81acdbe31c8f4152c718b780ec4a686",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/features.html",
      "new_id": "9358816f071742235e3dfbf5d4d89b08d26b213b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/features.html"
    },
    {
      "type": "modify",
      "old_id": "fb0ece459cbcbd624df05297734367b97946a2a7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/restricted_to.html",
      "new_id": "c3c2e5b6f18556f4832dceef9f55892932ae4b77",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/restricted_to.html"
    },
    {
      "type": "modify",
      "old_id": "f7a1fde401baab33083ff375df001f1956c38a95",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/tags.html",
      "new_id": "4ffcbc9263154bce7bbfb452141f426052c2af39",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/tags.html"
    },
    {
      "type": "modify",
      "old_id": "c65186acb52806cea43491a9d46500930dcef65a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/target_compatible_with.html",
      "new_id": "5e698f9b07f5c38bb8c7451ab61a43ebe8d60a65",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/target_compatible_with.html"
    },
    {
      "type": "modify",
      "old_id": "7c3871538a36dbfda41bddb94fbe6e361c9d613e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/testonly.html",
      "new_id": "736e49e0dccdb81fe636232c64e43f29e80ca17e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/testonly.html"
    },
    {
      "type": "modify",
      "old_id": "be8933449a2ef7f59eeeb01c2eaac8e0f36c0f47",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/toolchains.html",
      "new_id": "645337d69fa63e57438ecf1c05d1cd860c8bda14",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/toolchains.html"
    },
    {
      "type": "modify",
      "old_id": "749b02a60acbaaa587a96f206b2ea5ce646149be",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/visibility.html",
      "new_id": "ab95f54a526cefaa56ba989b3ec0ed09610b92a9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/visibility.html"
    },
    {
      "type": "modify",
      "old_id": "7dab0d99d15570953dd73d994375539c5a65138f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/args.html",
      "new_id": "c384583a3c5296acc36323f43354c6ebbb3a2f5d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/args.html"
    },
    {
      "type": "modify",
      "old_id": "a2c8366696087dc6efc879672dedaf5bbb72a759",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/env_inherit.html",
      "new_id": "22cceb477d854fc76d097d6efbdf16acd7be47be",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/env_inherit.html"
    },
    {
      "type": "modify",
      "old_id": "3447010c80410eaa2784f7b6c46ff1db74c6a55b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/flaky.html",
      "new_id": "6fc8590214e6e6acf0b12d7b4e993f542b4dcc5e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/flaky.html"
    },
    {
      "type": "modify",
      "old_id": "17d2683d93b920a6a81484e75850a5433b2871eb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/local.html",
      "new_id": "a6e8c0ecc3c5a16ed4ba3efedc341ff2e014e4ea",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/local.html"
    },
    {
      "type": "modify",
      "old_id": "2e7b4030aec9daa0024f410e882a113e3b75f5d7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/shard_count.html",
      "new_id": "c9af3c9765bb044385743cb26852e2a9a8e33ed5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/test/shard_count.html"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e86ab042aa03a1e0d31a8ab770d20e531fda43c7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/typical/data.html"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6efe4e60ef1446268d4b0be18d2b09a2bec39bae",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/typical/deps.html"
    },
    {
      "type": "rename",
      "old_id": "d8392992fc07586700efa939440b0446bed9af2e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/common/licenses.html",
      "new_id": "ca28662a6662b61f2e75528f30d6caa2bd999a60",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/typical/licenses.html",
      "score": 86
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9b7b1ade6bb2f57f273e07662aa525e69ee6a58b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/attributes/typical/srcs.html"
    },
    {
      "type": "modify",
      "old_id": "08c69a02610616510e9350debdc51764ffc34b66",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/be/common-definitions.vm",
      "new_id": "717db6ddbde2e1927484b5e60b2d00fb29012d37",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/be/common-definitions.vm"
    },
    {
      "type": "modify",
      "old_id": "a8faef4a89fe5db497027e0c7911378ae9de7902",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/docgen/templates/be/overview.vm",
      "new_id": "7226ed35d6df7275bb8d0ac86d5954642eaf4c89",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/docgen/templates/be/overview.vm"
    }
  ]
}
