)]}'
{
  "log": [
    {
      "commit": "c5ba4d36dd21714185d096899e9dc1dbe84da9a0",
      "tree": "96216a5bd284029bdce420a3db9a7f9010face1a",
      "parents": [
        "cc5779a2876cb70544707aecf779f8c168677737",
        "9473e846e5eda95773ad9bc0f7302f14e5c402cb"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 04 17:56:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 04 17:56:57 2018 -0700"
      },
      "message": "Merge \"Remove duplicate definitions of utility variables\" am: 8d5a39ac62\nam: 9473e846e5\n\nChange-Id: Ie52855316907746a6347fcc6b343f5c75d9c9c64\n"
    },
    {
      "commit": "9caee5b85e6a52bf6e098270741af605508ab462",
      "tree": "af9e1c7468b77ccefa6024a083d2b852fa503063",
      "parents": [
        "8d8921d7fce01ca34cd423e16e1c6b0cb2b4b081"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Mar 28 14:23:25 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Mar 28 14:27:09 2018 -0700"
      },
      "message": "Remove duplicate definitions of utility variables\n\nThese are set by the core build system, and are becoming read-only.\n\nBug: 76424357\nTest: diff build-aosp_arm.ninja\nChange-Id: I2df878bb654db48a0f2b9956220a0367c32c7ffe\n"
    },
    {
      "commit": "a3e79fbb8cdc9ef78e519f2d89e2f70e41864a1d",
      "tree": "e2bac4b9794e76f3923b096f5efb99d631a19c6a",
      "parents": [
        "e8b557bc08facb3d60b605f3e8cb26b31baaa28b"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 17:15:21 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nChange-Id: Ibcffec873a693d1c792ca210fb597d2bf37e9068\nMerged-In: I4233b9091d9066c4fa69f3d24aaf367ea500f760\n"
    },
    {
      "commit": "ab6ec61251786bf6b4d0407db3bc28aeefcb55db",
      "tree": "fbdb5c5bd38879440eac702018dd53c0ed639541",
      "parents": [
        "58c83fa7c8609059f3d66a5860abb302284c2981"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 15:13:23 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nChange-Id: I4233b9091d9066c4fa69f3d24aaf367ea500f760\n"
    },
    {
      "commit": "2710ca1e9d5ed8b2e755a9b948be8113ebb82023",
      "tree": "4704f3d690427e6da757b19040fa458182938e7a",
      "parents": [
        "dcb520b4ed5889281124d3520a1675d0a7418a0a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Dec 05 18:36:56 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Dec 07 07:38:59 2017 +0000"
      },
      "message": "Flatten dependency hierarchy of legacy-android-test\n\nPrevious changes statically included legacy-android-test in preparation\nfor removing android.test.* and junit.* classes from the android.jar.\nUnfortunately, that lead to duplicate classes between APKs and the\nbootclasspath which caused build problems (Proguard) and also runtime\nproblems (when targeting and running on older releases).\n\nSwitching from statically including the classes to using the runtime\nlibraries cannot be done in one step because legacy-android-test is\nstatically included in libraries which are used in many APKs and so\nremoving it from those libraries requires that all APKs be updated at\nonce. Doing that atomically across dozens of projects is not practical.\n\nThis change modifies APKS that statically include the\nlegacy-android-test library indirectly.\n\n* If the APK manifest uses the android.test.runner library then the APK\n  is modified to stop statically including legacy-android-test and\n  instead build against android.test.base/mock/runner libraries instead.\n\n* Otherwise, the APK statically includes legacy-android-test.\n\nAlso, any libraries that statically include are modified to stop\nstatically including it and if it has source dependencies on the classes\nis changed to build against the android.test.base/mock/runner libraries.\n\nThe following change descriptions were generated automatically and so\nmay be a little repetitive. They are provided to give the reviewer\nenough information to check the comments match what has actually been\nchanged and check the reasoning behind the changes.\n\n* cmds/uiautomator/instrumentation/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because uiautomator-instrumentation is not a package so does not\n    need to statically include the classes\n\n* cmds/uiautomator/library/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    uiautomator.core has a source dependency on its classes\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because uiautomator.core is not a package so does not need to\n    statically include the classes\n\n* core/tests/BroadcastRadioTests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BroadcastRadioTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n    The classes do not need to be statically included because the\n    classes will be provided by the runtime, either from the default\n    bootclasspath or from the android.test.runner library that\n    BroadcastRadioTests specifies in its manifest.\n\n* core/tests/coretests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because FrameworksCoreTests\u0027s source depends\n    on their classes and because of these changes they are no longer\n    present on the compilation path. The classes do not need to be\n    statically included because the classes will be provided by the\n    runtime, either from the default bootclasspath or from the\n    android.test.runner library that FrameworksCoreTests specifies in\n    its manifest.\n\n* core/tests/featureflagtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksCoreFeatureFlagTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path. The classes do not need to be statically included\n    because the classes will be provided by the runtime, either from\n    the default bootclasspath or from the android.test.runner library\n    that FrameworksCoreFeatureFlagTests specifies in its manifest.\n\n* core/tests/systemproperties/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksCoreSystemPropertiesTests\u0027s source depends on its classes\n    and because of these changes they are no longer present on the\n    compilation path. The classes do not need to be statically included\n    because the classes will be provided by the runtime, either from\n    the default bootclasspath or from the android.test.runner library\n    that FrameworksCoreSystemPropertiesTests specifies in its manifest.\n\n* core/tests/utillib/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because frameworks-core-util-lib is not a package so does not need\n    to statically include the classes\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    frameworks-core-util-lib has a source dependency on its classes\n\n* core/tests/utiltests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because FrameworksUtilTests\u0027s source depends\n    on their classes and because of these changes they are no longer\n    present on the compilation path. The classes do not need to be\n    statically included because the classes will be provided by the\n    runtime, either from the default bootclasspath or from the\n    android.test.runner library that FrameworksUtilTests specifies in\n    its manifest.\n\n* location/tests/locationtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksLocationTests\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path. The classes do not need to be statically included because the\n    classes will be provided by the runtime, either from the default\n    bootclasspath or from the android.test.runner library that\n    FrameworksLocationTests specifies in its manifest.\n\n* lowpan/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksLowpanApiTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path. The classes do not need to be statically included\n    because the classes will be provided by the runtime, either from\n    the default bootclasspath or from the android.test.runner library\n    that FrameworksLowpanApiTests specifies in its manifest.\n\n* packages/Osu2/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    OsuTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path. The\n    classes do not need to be statically included because the classes\n    will be provided by the runtime, either from the default\n    bootclasspath or from the android.test.runner library that OsuTests\n    specifies in its manifest.\n\n* packages/SettingsProvider/test/Android.mk\n    Replaced \u0027legacy-android-test\u0027 with \u0027android.test.base\u0027 in\n    LOCAL_JAVA_LIBRARIES because SettingsProviderTest\u0027s source depends\n    on its classes. The classes do not need to be statically included\n    because the classes will be provided by the runtime, either from\n    the default bootclasspath or from the android.test.runner library\n    that SettingsProviderTest specifies in its manifest.\n\n* services/tests/notification/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksNotificationTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path. The classes do not need to be statically included\n    because the classes will be provided by the runtime, either from\n    the default bootclasspath or from the android.test.runner library\n    that FrameworksNotificationTests specifies in its manifest.\n\n* services/tests/servicestests/Android.mk\n    Replaced \u0027legacy-android-test\u0027 with \u0027android.test.base\u0027 and\n    \u0027android.test.runner\u0027 in LOCAL_JAVA_LIBRARIES because\n    FrameworksServicesTests\u0027s source depends on their classes. The\n    classes do not need to be statically included because the classes\n    will be provided by the runtime, either from the default\n    bootclasspath or from the android.test.runner library that\n    FrameworksServicesTests specifies in its manifest.\n\n* services/tests/shortcutmanagerutils/Android.mk\n    Added \u0027android.test.runner.stubs\u0027 to LOCAL_JAVA_LIBRARIES because\n    ShortcutManagerTestUtils has a source dependency on its classes\n\n* tests/AppLaunch/Android.mk\n    Replaced \u0027legacy-android-test\u0027 with \u0027android.test.base\u0027 and\n    \u0027android.test.runner\u0027 in LOCAL_JAVA_LIBRARIES because AppLaunch\u0027s\n    source depends on their classes. The classes do not need to be\n    statically included because the classes will be provided by the\n    runtime, either from the default bootclasspath or from the\n    android.test.runner library that AppLaunch specifies in its\n    manifest.\n\n* tests/Camera2Tests/SmartCamera/SimpleCamera/tests/Android.mk\n    Replaced \u0027legacy-android-test\u0027 with \u0027android.test.base\u0027 in\n    LOCAL_JAVA_LIBRARIES because SmartCamera-tests\u0027s source depends on\n    its classes. The classes do not need to be statically included\n    because the classes will be provided by the runtime, either from\n    the default bootclasspath or from the android.test.runner library\n    that SmartCamera-tests specifies in its manifest.\n\n* tests/ServiceCrashTest/Android.mk\n    Replaced \u0027legacy-android-test\u0027 with \u0027android.test.base\u0027 in\n    LOCAL_JAVA_LIBRARIES because ServiceCrashTest\u0027s source depends on\n    its classes. The classes do not need to be statically included\n    because the classes will be provided by the runtime, either from\n    the default bootclasspath or from the android.test.runner library\n    that ServiceCrashTest specifies in its manifest.\n\n* tests/net/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because FrameworksNetTests\u0027s source depends on\n    their classes and because of these changes they are no longer\n    present on the compilation path. The classes do not need to be\n    statically included because the classes will be provided by the\n    runtime, either from the default bootclasspath or from the\n    android.test.runner library that FrameworksNetTests specifies in\n    its manifest.\n\n* tests/testables/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because testables is not a package so does not need to statically\n    include the classes\n\n    Added \u0027android.test.mock\u0027 to LOCAL_JAVA_LIBRARIES because testables\n    has a source dependency on its classes\n\n* tests/utils/testutils/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because frameworks-base-testutils is not a package so does not need\n    to statically include the classes\n\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because frameworks-base-testutils has a source\n    dependency on their classes\n\n* wifi/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksWifiApiTests\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path. The classes do not need to be statically included because the\n    classes will be provided by the runtime, either from the default\n    bootclasspath or from the android.test.runner library that\n    FrameworksWifiApiTests specifies in its manifest.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia6a48234f28e7e1789049cf4b37cd7fe0bc8251c\n"
    },
    {
      "commit": "a7e68a6fd4c32edbb8633fb694618d6235417549",
      "tree": "0f44b0958b8b0c4cfcd5ae76f96a4d0702a5fa4d",
      "parents": [
        "6cfc490ccd8ea0d9ef4d52482ff65471f7631969"
      ],
      "author": {
        "name": "Robert Quattlebaum",
        "email": "rquattle@google.com",
        "time": "Tue Jul 18 11:43:17 2017 -0700"
      },
      "committer": {
        "name": "Robert Quattlebaum",
        "email": "rquattle@google.com",
        "time": "Tue Jul 18 11:51:20 2017 -0700"
      },
      "message": "Revert \"lowpan: Introduce new unit tests for data classes\"\n\nThis reverts commit 93ea3ce9b8bd53f97df2171b3e3fbc70fa1b096d.\n\nReason for revert: Build failure in build 4190632 on branch `git_wear-master`.\nNot all branches based on master include platform/frameworks/opt/net/lowpan.\n\nChange-Id: I70fe6be8d71424e11a537daaa69c3f6cfae8e49d\n"
    },
    {
      "commit": "93ea3ce9b8bd53f97df2171b3e3fbc70fa1b096d",
      "tree": "ca86323adc6289df25651177227136f3179c123d",
      "parents": [
        "80aca1e3b3d3f7afd64a7f18cb2f3ae556f46ccf"
      ],
      "author": {
        "name": "Robert Quattlebaum",
        "email": "rquattle@google.com",
        "time": "Fri Jul 14 12:05:29 2017 -0700"
      },
      "committer": {
        "name": "Robert Quattlebaum",
        "email": "rquattle@google.com",
        "time": "Tue Jul 18 00:42:17 2017 -0700"
      },
      "message": "lowpan: Introduce new unit tests for data classes\n\nThis change introduces new unit tests which confirm that\nvarious data classes are being property marshalled\nbetween their Java and C++ implementations.\n\nBug: b/63707448 b/63708348\nChange-Id: I41d590b1e77dc41873c4b9e9bf1b7f1bf859f74e\nTest: These tests both compile and pass\n"
    },
    {
      "commit": "03ffec0969af9e9d42a73f5da2660a45cd9f6a64",
      "tree": "e7fcbdc000f7f4731a0dbff3bd18f9c1579b4732",
      "parents": [
        "ff09314508b3d24d34ebb8658735f9a19ed8005c"
      ],
      "author": {
        "name": "Robert Quattlebaum",
        "email": "rquattle@google.com",
        "time": "Wed Jun 07 18:42:45 2017 -0700"
      },
      "committer": {
        "name": "Robert Quattlebaum",
        "email": "rquattle@google.com",
        "time": "Mon Jul 10 11:08:29 2017 -0700"
      },
      "message": "android.net.lowpan: Added basic unit tests.\n\nThis change has all of the bits for supporting LoWPAN unit tests.\nAdditional tests are being written to improve code coverage, but this\nseems like a good start.\n\nBug: b/33073713\nTest: Successfully ran enclosed unit tests\nChange-Id: Ib3750be5052bf1a90bf871756e9121b047d3871f\n"
    }
  ]
}
