)]}'
{
  "commit": "8386b9d32bf69dd2d2f92d9ca39582cf6dabeb37",
  "tree": "36a45b6005ae336e07affd274d8a7c5aad0f5cd1",
  "parents": [
    "6fcbad3991638ca5882e64ec53143ac316b17a7e"
  ],
  "author": {
    "name": "Fabian Meumertzheim",
    "email": "fabian@meumertzhe.im",
    "time": "Tue Aug 22 21:41:36 2023 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Aug 22 19:41:36 2023 +0000"
  },
  "message": "Expose int- and string-valued build settings as Make variables (#440)\n\nWhile build settings allow for much cleaner flag and setting definitions\r\nthan `--define`, they have the major drawback that rules need to provide\r\ndedicated support for them, which isn\u0027t the case for native and most\r\ncommunity-maintained rules.\r\n\r\nThis change attempts to bridge this gap by optionally exposing the value\r\nof the common build setting types as Make variables to rules that depend\r\non them via the `toolchains` attribute: If the new `make_variable`\r\nattribute is set, the value of the flag or setting is available as a\r\nMake variable with that.\r\n\r\nConsistency with pre-defined Make variables is enforced by limiting the\r\ncharacter set for `make_variable` values to `[A-Z0-9_]`. The new\r\nattribute is also only added to int- and string-valued build settings as\r\nthe other types lack a canonical stringification.\r\n\r\nCo-authored-by: Xùdōng Yáng \u003cwyverald@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7de796593124b5b09df72fd1b2087a70a112b95e",
      "old_mode": 33261,
      "old_path": "docs/common_settings_doc.md",
      "new_id": "b224f5291e4ec178c4a1813ef6b54c603277624d",
      "new_mode": 33261,
      "new_path": "docs/common_settings_doc.md"
    },
    {
      "type": "modify",
      "old_id": "eb057ccec69600675ec180f40409a89b62fa36f6",
      "old_mode": 33188,
      "old_path": "rules/common_settings.bzl",
      "new_id": "58a15aee9beb8a702bd20c7a102b65c0e35cf726",
      "new_mode": 33188,
      "new_path": "rules/common_settings.bzl"
    },
    {
      "type": "modify",
      "old_id": "bbab077a29411cd5bc655f542a3b7d3922be60d0",
      "old_mode": 33188,
      "old_path": "tests/BUILD",
      "new_id": "7f056d2be03906476beb7ebbeffa3b9fc6dff97c",
      "new_mode": 33188,
      "new_path": "tests/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bbf32d55357ec7aab79ea65640bccfad91945df3",
      "new_mode": 33188,
      "new_path": "tests/common_settings/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "546c53d50ada4984ac8e539af954dba6dd3b36e7",
      "new_mode": 33261,
      "new_path": "tests/common_settings/make_variable_test.sh"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "efbe0e0b1f68485443011c13f6e7a9d2f28cf63f",
      "new_mode": 33188,
      "new_path": "tests/common_settings_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "07a52e97b6e4d8c20f40a7e7c781e032ad70cdd9",
      "old_mode": 33188,
      "old_path": "tests/subpackages_tests.bzl",
      "new_id": "3c494d68e75e46f9a61304629590dd3c5503dd16",
      "new_mode": 33188,
      "new_path": "tests/subpackages_tests.bzl"
    }
  ]
}
