)]}'
{
  "commit": "001d87c81f2f2dba7b0440f50d2a1368d95de5d7",
  "tree": "05aad1ab2876ead89366d25a868b7599899bf200",
  "parents": [
    "c3e4916301b421700ca80a338c6086c5cb33a844"
  ],
  "author": {
    "name": "Paul Duffin",
    "email": "paulduffin@google.com",
    "time": "Wed Feb 14 10:36:16 2018 +0000"
  },
  "committer": {
    "name": "Jiyong Park",
    "email": "jiyong@google.com",
    "time": "Sun Feb 18 21:47:42 2018 +0900"
  },
  "message": "Build android.test.base/legacy against SDK\n\nandroid.test.legacy is now build against SDK, thus available to apps\nbuild with SDK.\n\nIn doing so, android.test.mock.stubs had to be built with SDK (because\nit is used by android.test.legacy). However, this wasn\u0027t trivial.\n\nThe problem was that some classes in test-mock implemented abstract\nmethods of platform classes. Even though they are marked as @hide,\ndoclava automatically emit them to the stub file because otherwise the\nclass in the stub file does not implement some abstract methods from its\nparent class, which in turn makes the stub file non-compilable.\n\nThis CL solves the problem by introducing an adapter class in between\nthe class in test-mock and the class in the framework. The adapter class\nimplements abstract methods which are @hide and having reference to\ntypes that aren\u0027t available to SDK. The abstract methods are removed\nfrom the original class. Then doclava does not emit the abstract\nmethods.\n\nAlso by @hide\u0027ing the adapter classes, they are not compiled when\nbuilding the stub library.\n\nBug: 30188076\nBug: 73339598\nTest: m -j android.test.base\nTest: m -j android.test.legacy\nTest: m -j android.test.mock.stubs\nare successful and do not show link-check warning\nChange-Id: I8e432950e693ee3c6f0240852e62da6133d31571\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b65cda9302a7e4729b329a360946fb4846b070c6",
      "old_mode": 33188,
      "old_path": "test-base/Android.bp",
      "new_id": "c008eca169244815bbe4ba99e6eadd1543579291",
      "new_mode": 33188,
      "new_path": "test-base/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "861385467a0f5b53fb06af7d68181c6e6234eadd",
      "old_mode": 33188,
      "old_path": "test-base/Android.mk",
      "new_id": "ebb33deb42d372fbe2753a609267c910f5e6e31a",
      "new_mode": 33188,
      "new_path": "test-base/Android.mk"
    },
    {
      "type": "modify",
      "old_id": "b8c53266b9f816e6ea4e743971754f1b757cd10c",
      "old_mode": 33188,
      "old_path": "test-legacy/Android.mk",
      "new_id": "da47de0a3d35387d6abd030afa4f9336a332f2b9",
      "new_mode": 33188,
      "new_path": "test-legacy/Android.mk"
    },
    {
      "type": "modify",
      "old_id": "5c586c7101a1959ae8ee8c76e6d96f0ba6185975",
      "old_mode": 33188,
      "old_path": "test-mock/Android.mk",
      "new_id": "de1b6c7f2ba1f58bb06ed019d55fd42493d147fe",
      "new_mode": 33188,
      "new_path": "test-mock/Android.mk"
    },
    {
      "type": "modify",
      "old_id": "66b95271ee0664f30ce153f82a595e8b244be90d",
      "old_mode": 33188,
      "old_path": "test-runner/Android.bp",
      "new_id": "938bb4efe7ba6c629b1b0238d67c0c28ef9c34f2",
      "new_mode": 33188,
      "new_path": "test-runner/Android.bp"
    }
  ]
}
