)]}'
{
  "commit": "d34488544835edce8fa15abd07e00be472b959b9",
  "tree": "27890d457a07d764bdad52ee0c72d1f25eb99476",
  "parents": [
    "5b378dbb79d9b29c4a9ceea13c5f558c8f027744"
  ],
  "author": {
    "name": "Kristina Chodorow",
    "email": "kchodorow@google.com",
    "time": "Thu Aug 20 16:24:17 2015 +0000"
  },
  "committer": {
    "name": "Dmitry Lomov",
    "email": "dslomov@google.com",
    "time": "Fri Aug 21 09:43:16 2015 +0000"
  },
  "message": "Find parent and submodule definitions before fully resolving a pom\n\nThe Maven API has two options for parsing pom files: getting the \"raw model\"\n(which parses the pom to ensure it is correct, but doesn\u0027t do any resolution nor\nvariable substitution) and getting the \"effective model,\" which does all\nresolution. Before this CL, generate_workspace was just getting the effective\nmodel immediately, which is easily foiled by having an artifact that depends on\na \"sibling\" (the parent cannot be resolved until the siblings are and the\nsiblings can only be resolved if they happen to arrive in the right order).\n\nThis changes the code to get the raw models first to get locations of all\nartifacts, then fully resolve them.\n\nThis fixes #383.\n\n--\nMOS_MIGRATED_REVID\u003d101129094\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6473cc5550f1e48ff834dd89c5142e51bad726bd",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/workspace/GenerateWorkspace.java",
      "new_id": "93313da713d19c620c3cec3d45c829a5019a62ac",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/workspace/GenerateWorkspace.java"
    },
    {
      "type": "modify",
      "old_id": "a7bce54a394734c30a7dd26d84f415e3f5797808",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/workspace/Resolver.java",
      "new_id": "595f11fd2a17bc8c3990d49e7a5d2c2b6cd51d8f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/workspace/Resolver.java"
    },
    {
      "type": "modify",
      "old_id": "cb68b8bcd8ff42264d2770517dfe8b06261530d6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/workspace/maven/BUILD",
      "new_id": "8844f937a117fcf6394103e9952d0d4a25f1065c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/workspace/maven/BUILD"
    },
    {
      "type": "modify",
      "old_id": "800b9c6c46a6c4dba6179ad100bfad16c3cfdb5c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/workspace/maven/DefaultModelResolver.java",
      "new_id": "c903c023686f67ccea1308721d4e55e37503e27c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/workspace/maven/DefaultModelResolver.java"
    },
    {
      "type": "modify",
      "old_id": "35fba17a8ad827aebc99703292c652efe1d777fb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/workspace/maven/Resolver.java",
      "new_id": "955a74be59d90a179adb881b3b21a2c33bb9379c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/workspace/maven/Resolver.java"
    },
    {
      "type": "modify",
      "old_id": "379bad78214e44985a2e51fc2bf12ba413820cfb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/workspace/maven/Rule.java",
      "new_id": "fb7675d21a82e0eb75d9dee0128c3b11e1bc295b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/workspace/maven/Rule.java"
    },
    {
      "type": "modify",
      "old_id": "830bc5a4d034feee8008bf0cf766f024a0be76f3",
      "old_mode": 33261,
      "old_path": "src/test/shell/bazel/generate_workspace_test.sh",
      "new_id": "893c4b502ddc73c4f0d7aeca07c3f3e453a084bf",
      "new_mode": 33261,
      "new_path": "src/test/shell/bazel/generate_workspace_test.sh"
    }
  ]
}
