)]}'
{
  "commit": "6f8393f5c5bddbb49a74d3229411e1050d799208",
  "tree": "2168142e35cc1f428837b00936504b1387ef2f51",
  "parents": [
    "5fe7230880cdb87ade113980a2d2351b6a7f64ea"
  ],
  "author": {
    "name": "Rumou Duan",
    "email": "rduan@google.com",
    "time": "Wed Nov 30 16:03:10 2016 +0000"
  },
  "committer": {
    "name": "Irina Iancu",
    "email": "elenairina@google.com",
    "time": "Thu Dec 01 10:13:55 2016 +0000"
  },
  "message": "Allow aspects to specify multiple sets of required providers to match against rules. Aspects can attach to a rule if at least one set of required providers are present on the rule.\n\n--\nMOS_MIGRATED_REVID\u003d140605023\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "635b39a3cecb3b982d61584131e13d862b8c5dbb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java",
      "new_id": "9fadc28fc394c3e105f560a8f3f2a9a9676e1d8f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java"
    },
    {
      "type": "modify",
      "old_id": "f3186d765a12d24fb8c7365bb51e896884743532",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java",
      "new_id": "bda14e9002e1d08583d2534d9a62c12ef2de300c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java"
    },
    {
      "type": "modify",
      "old_id": "e743a92e62e8166e8858db96f0e827aa19bef76c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java",
      "new_id": "b7c6c59be51556722906696764d71f897edb4211",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java"
    },
    {
      "type": "modify",
      "old_id": "eec142cff3fbeb0e6ff33074b8702c6be6dfe703",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java",
      "new_id": "a4d896034a61d377174c87aa7570281b51c07f6e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java"
    },
    {
      "type": "modify",
      "old_id": "4df83e7532dd2ca9b7088b9dabd109dd5604dcb5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/JackAspect.java",
      "new_id": "c6a25eec536fa5e109b9eed15d692f3aab15d2ec",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/JackAspect.java"
    },
    {
      "type": "modify",
      "old_id": "e8fa34660a0fc084479382fdd7877229ba99544a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java",
      "new_id": "43d8256c0b2cc5ed4eccd3f49ec77eb74c17d24e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java"
    },
    {
      "type": "modify",
      "old_id": "5c0b29201f4a6770c7346435a53261f8dcbf8dfa",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java",
      "new_id": "d2e194ebf1f1c7d21e3309468da2d9ae74ec3da6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java"
    },
    {
      "type": "modify",
      "old_id": "a6a8a1ec62d4317c81c61ccc386e82c9c7572356",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java",
      "new_id": "3dcfb6ffbf58c40f261ceec7ddca32518bd96cf6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java"
    },
    {
      "type": "modify",
      "old_id": "8679970a68bffd69bcafb790106eca4f8393dc29",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java",
      "new_id": "0f1bc80793d215ebb1e8006f917bb6b19ccc66e2",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java"
    },
    {
      "type": "modify",
      "old_id": "38db025e0be17a89a50a9ed0021b14a90490d127",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java",
      "new_id": "df1b7c94a58eea4a91583d9b6e479e6c9bf0be3f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java"
    },
    {
      "type": "modify",
      "old_id": "eb6b8f80702afce00efffc42d5b7884513ee24e2",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java",
      "new_id": "6edae5e59b5dc9decab8e788a7ac5fa130fa7c3f",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java"
    },
    {
      "type": "modify",
      "old_id": "37abaafb46403156b0edecad7daaf844efc6daf4",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java",
      "new_id": "ae4f5337cf5658a39ec3d5edba3d73f7a3923391",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java"
    },
    {
      "type": "modify",
      "old_id": "55b0fe84d86aa38fc23cdd15d2d6e7ed6959ec6f",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java",
      "new_id": "22a9412ccb98ee26c21e365608fbf5588e49639d",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java"
    }
  ]
}
