)]}'
{
  "commit": "bd36d6cf7ee20a5e06be4b1e8ef7a4e620b2bd94",
  "tree": "c55dc56d676248ae345181be2bc3585e6aefc8c9",
  "parents": [
    "bb02ddedac3e17d53bf438dbe0e7533b2b3cabae"
  ],
  "author": {
    "name": "Jingwen Chen",
    "email": "jingwen@google.com",
    "time": "Tue Jul 27 09:56:58 2021 +0000"
  },
  "committer": {
    "name": "Jingwen Chen",
    "email": "jingwen@google.com",
    "time": "Wed Jul 28 09:39:17 2021 +0000"
  },
  "message": "Bazel apex rule prototype.\n\nThis CL introduces the APEX rule scaffolding that uses apexer and\nconv_apex_manifest. The APEX rule also sets up a hardcoded APEX input\ndir to create the APEX content, and also the canned_fs_config file\nrepresenting all contents in the APEX.\n\nThis also introduces a //build/bazel/rules:enable_apex build setting to\ngate the APEX rule behind a flag. Particularly, there are some\nworkarounds used in the rule, like APEXER_TOOL_PATH, that works only\nlocally for now.\n\nSee the README for usage instructions.\n\nTest: build the APEX and verify contents\nBug: 193658718\n\nChange-Id: I01334bf74b1ebafa3a50732d4faee8c284c2c6fa\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8c3eeca917d5f20d09bfbc2124469a420f09522",
      "old_mode": 33188,
      "old_path": "rules/BUILD.bazel",
      "new_id": "e457f7912e4cd24c32578028c94f766a3a10fdfc",
      "new_mode": 33188,
      "new_path": "rules/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53d093750374004562efdb6697fb150c2d13f0d9",
      "new_mode": 33188,
      "new_path": "rules/README.md"
    },
    {
      "type": "modify",
      "old_id": "94842bd2dca62fe8510806d2346a5a4590af7995",
      "old_mode": 33188,
      "old_path": "rules/apex.bzl",
      "new_id": "46d860f72a0ce9ade4a862868a633df369bd340f",
      "new_mode": 33188,
      "new_path": "rules/apex.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "df793c1ea72214f95f5ee1829f1549bd0362412b",
      "new_mode": 33188,
      "new_path": "rules/apex_settings.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "80f4dcd6b7e78b3b8e086efd8dbe63c53b4df07d",
      "new_mode": 33188,
      "new_path": "rules/prebuilts/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4fbf287a6880a47eb6e414daa3df074ca92ba2a1",
      "new_mode": 33261,
      "new_path": "rules/prebuilts/apexer"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ddb3e84f8be68320be692c75e674ad2f0c21ba45",
      "new_mode": 33261,
      "new_path": "rules/prebuilts/conv_apex_manifest"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "24ab69ac89d8cf6424c92fd4d4c6e3c71e19bcbc",
      "new_mode": 33261,
      "new_path": "rules/prebuilts/lib64/libc++.so"
    }
  ]
}
