)]}'
{
  "log": [
    {
      "commit": "fedb4b745693afba9627f8971346d5151101fb88",
      "tree": "73d4ab78b4a0877817f19ff34b60dbff9ddc9e0d",
      "parents": [
        "e211119fea8e01e573ecde57ced2e9bf8dfbf65e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 10:47:25 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 15:48:44 2017 +0100"
      },
      "message": "Clean up Predicate related code in android.test\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nThe HasClassAnnotation and HasMethodAnnotation were never used\nseparately and only used by HasAnnotation. This merges the functionality\ninto a single nested class in TestPredicates, hidden behind the new\nTestPredicates.hasAnnotation(). The HasAnnotationTest was renamed as\nTestPredicatesTest and the HasClassAnnotationTest and\nHasMethodAnnotationTest classes were removed as their tests provide no\nadditional coverage. The removal of the Has*Annotation.java files means\nthat the test-runner/src/android/test/suitebuilder/annotation/ directory\nis empty apart from the package.html file so that was moved to\nlegacy-test to sit alongside the actual annotation classes.\n\nThe Predicates class, while part of the legacy-test module was only\never used by the test-runner module and only its not() method was\nactually used. So, the not() method and associated nested class were\nmoved to TestPredicates, the tests for not() were moved to\nTestPredicatesTest and the Predicates* classes were removed.\nThat allowed for the removal of the legacy-android-tests as that is now\nempty.\n\nTestPredicates has a number of constants that were public. They were\nhidden by moving them to the class that actually used them.\n\nA minor generic issue was fixed in AssignableFrom.\n\nBug: 30188076\nTest: make checkbuild and run FrameworkTestRunnerTests\nChange-Id: I861da388a4146bb28e1e480d1b7ba9137b7b270e\n"
    },
    {
      "commit": "f71d5b5b18eb0b8c0b383b697bc3d507d65a5c7f",
      "tree": "5bcda54e69d7a02df780b2324e9b682d899ab76b",
      "parents": [
        "943041abd2c6ca56868361479760e3cb4017757e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue May 09 15:52:46 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri May 12 15:35:11 2017 +0100"
      },
      "message": "Moved c.a.i.u.Predicate[s] into legacy-test\n\nThese classes are only used by android.test classes that are\nbeing removed. As their name suggests they should not be in the\nAndroid API at all so it makes sense to remove them. Especially\nas there is java.lang.function.Predicate available now.\n\nIt appears as though Predicate was only added in to the API\nbecause it was used by a method in the API as the directory in\nwhich it and Predicates live was not on the list of classes to\nexplicitly index. Moving it into legacy-test meant that they are\nnow being indexed explicitly which means that Predicates needs\nto be hidden.\n\nKeeps running the tests as part of the existing target.\n\nAt runtime apps targeted at the API version before these are\nremoved will have the legacy-test library automatically added\nto their classpath so they should see no effect. Apps that\ntarget a later API will have to include those classes from the\nandroid.legacy.test.jar which will contain all the android.test\nclasses that depend on it as well.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I6f6f5f16fe93bd80227a450c6254166632fc6813\n"
    },
    {
      "commit": "4e0c19048d98f3057e5f4d20a2afd8a403087c30",
      "tree": "a9a59cb38b91e1c49d7fd0b9d0020992bc973d30",
      "parents": [
        "c3d41d50933c69faf0b00540f128b0d130b4d1e8"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue May 02 13:13:13 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue May 09 15:10:03 2017 +0100"
      },
      "message": "Statically include android.test.runner classes in legacy-android-test\n\nIn preparation for removing junit and android.test classes from\nthe Android API this change adds the android.test classes that are in\nthe android.test.runner library into legacy-android-test so that they\ncan be statically included into the application.\n\nThe junit.... classes from android.test.runner can already be\nstatically included from the junit library.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Id8d32da9e46f0d9142b60ef28998b40e8d237b32\n"
    },
    {
      "commit": "f1c59610bbe5ca7bf28083a6aa9c6ef551dfde52",
      "tree": "7e2e61454c12507b77a6d285229676267fd70809",
      "parents": [
        "ef69246260156120d2fb1a20ed527883c8b7c398"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 22 11:42:46 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Feb 22 14:42:46 2017 +0000"
      },
      "message": "Fix build failure when using javac toolchain\n\nThe legacy-performance-test-hostdex library was built using the\nBUILD_HOST_DALVIK_JAVA_LIBRARY macro (which creates a non-static\nlibrary) but is used with LOCAL_STATIC_JAVA_LIBRARIES which\nrequires a static library. That works with Jack but fails with\nthe javac toolchain.\n\nThis change switched to build legacy-performance-test-hostdex\nusing the BUILD_HOST_DALVIK_STATIC_JAVA_LIBRARY macro.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I8d42c669e4ded3417ecdcb7b0251bc6346debd5d\n"
    },
    {
      "commit": "2ffc4addb07f9b3bbb6ea14b93d34149eff62e6d",
      "tree": "6836fe1d716aeb66f230267c87205a436024f241",
      "parents": [
        "68d03b23bb6e177ee988fa81099bd87fb12580e7"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 17 14:36:12 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 17 20:37:35 2017 +0000"
      },
      "message": "Add legacy-android-test target containing android.test classes\n\nIn preparation for removing junit classes from the Android API\nthe legacy-test target will be removed from the\nTARGET_DEFAULT_JAVA_LIBRARIES. This change adds a\nlegacy-android-test target, containing only the android.test\nclasses, for use by any targets that depend on those classes.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ifc0a9a23d4ac3c78428bb9dde38e547e6978ba7e\n"
    },
    {
      "commit": "cd7c34d8bf4302e640c742d7bb94107cc1505aff",
      "tree": "6cdb06c518b7dcff1be867ce2a86bf5e20ccd4e3",
      "parents": [
        "3e24af3eb760afafdc1a704a0c3e9f42db2e6475"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 12 16:35:36 2016 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 14 14:19:08 2016 +0000"
      },
      "message": "Copy core-junit files into legacy-test.\n\nThe legacy-test directory contains part of the Android API and\nso must maintain backwards compatibility. The junit classes that\nare in the API are copied here to ensure that they do not change\nwhen external/junit is upgraded.\n\nBug: 30188076\nTest: make checkbuild and checked legacy-test contents\nChange-Id: I6c263afc16c06abfd027334be51a41422239a189\n"
    },
    {
      "commit": "df2576045e0edbed05bf4511e0e9ba1038b8f3bb",
      "tree": "c2f71972c597a374f97425ab16fcc26471140cff",
      "parents": [
        "b92aa5bdfde63e56f1e1e63fbe913638c440ffba"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 30 13:29:39 2016 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Dec 08 14:55:35 2016 +0000"
      },
      "message": "Move android.test classes from core/java to legacy-test/src\n\n(cherry picked from 2395179afb2ea957a9ba66404021c14160361611)\n\nBug: 30188076\nTest: make checkbuild\nMerged-In: Ifa291909fcf47da788627b496bd72f54efd78ed7\nChange-Id: Ie20dceb9f89df245ed6da5fc2fb06185bd7b104b\n"
    },
    {
      "commit": "02f42f9a8b7fa566d0d936c0a3874b3e2a3ac6c4",
      "tree": "ca0b0f195358e7c616adbddf56efd3b43e62b5d1",
      "parents": [
        "6ac5293751cf29975054e65547c270b842208a02"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 07 14:21:53 2016 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 07 14:21:53 2016 +0000"
      },
      "message": "Add legacy-performance-test-hostdex target\n\nThis is needed for some internal targets that currently depend\ndirectly on the source files and which break when the source\nfile is moved.\n\nBug: 30188076\nTest: make legacy-performance-test-hostdex\nChange-Id: I653325605204c1f272bd5f669e2297eedeaf7d61\n"
    },
    {
      "commit": "e20f193a8c2249fdcc5229412dbb570a4035c4c7",
      "tree": "919ec0c8d0b6cdb1048e2f3b503f31c08221d184",
      "parents": [
        "6063357ae69f29c415591b173cf411f241f129c6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Nov 28 15:51:09 2016 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 29 15:04:00 2016 +0000"
      },
      "message": "Add legacy-test as replacement for core-junit\n\nStatically includes core-junit-static into legacy-test target so\nthat legacy-test can be used in place of core-test. Once that\nswitch over has been done then android.test classes that are\nbeing removed from the public API can be safely moved into here.\n\nBug: 30188076\nTest: make legacy-test and check contents of generated legacy-test artifacts\n\nChange-Id: I75488303067c4ac34c46279bfce9a51273adcc34\n"
    }
  ]
}
