)]}'
{
  "commit": "c88fcfdd56ac1eb3b825751833ec823327809672",
  "tree": "de9bf958e7a3f3109a3fd00e4afe08e2f366c418",
  "parents": [
    "4c839b5a7e034fb81bcb6b8235e9be3ea0a9a3d9"
  ],
  "author": {
    "name": "Cal Peyser",
    "email": "cpeyser@google.com",
    "time": "Mon Jun 06 21:21:46 2016 +0000"
  },
  "committer": {
    "name": "Yun Peng",
    "email": "pcloudy@google.com",
    "time": "Tue Jun 07 07:49:00 2016 +0000"
  },
  "message": "Add module map support to ExperimentalObjcLibrary, which contains experimental support\nfor building objc code using the c++ crosstool.  This will eventually replace the current module support in blaze.\n\nNote: This required injecting a CppModuleMap into the cc logic.  The reason that objc cannot rely on standard CppModuleMap creation logic is that there is different naming semantics for module maps between cpp and objc.  In particular:\n\n - In cc, module maps can be inputs to a compilation action. Thus, the module maps are given labels.\n - In objc, if interoping with swift, module maps are explicitly referenced in swift code.  Thus, their names cannot contain illegal characters for swift source.  Those, some name mangling occurs to get rid of \"//\" and \":\".  To enforce that this does not cause problems with compilation actions, the CPP_MODULE_COMPILE action has been disabled for the objc CcLibraryHelper.SourceCategory\n\n--\nMOS_MIGRATED_REVID\u003d124177067\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aaf5e954100568995f98323e8c187e23bce1ab6b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java",
      "new_id": "58205e7e6efe04beea134f085020e7a3937c8583",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java"
    },
    {
      "type": "modify",
      "old_id": "7069c8fbcd080f59ad3c12e08a48925b43e51ab0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java",
      "new_id": "f554eb9c340ba86c668d7648027d5253a415514b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java"
    },
    {
      "type": "modify",
      "old_id": "6190ffddd3b5ded12e62c8f842156e54923bdabd",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java",
      "new_id": "83c1ede36b9aaec79695179c5846f12758e0416a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java"
    },
    {
      "type": "modify",
      "old_id": "b86f124d872a3d0d4bca229c764c34e8bba03644",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java",
      "new_id": "effeefc035cc6db3faeb6ff7bc99d60e38f23795",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java"
    },
    {
      "type": "modify",
      "old_id": "623bde4dd13e882f67cba9d018522f5ed3c24c47",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java",
      "new_id": "cbf98c928a66d808595359e3eee959a2833f72e9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java"
    }
  ]
}
