)]}'
{
  "log": [
    {
      "commit": "85059deed7dcf86cbfe5f7e84003d1c14e3a0efe",
      "tree": "a881d5ccb272de76af726e18c97ffbc38eb43949",
      "parents": [
        "efd55b5b5837912c737eb0a9fa09954c8085e055"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Aug 24 14:10:42 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 27 07:07:30 2019 +0000"
      },
      "message": "Remove multilib suffixes from libraries\n\nLibraries previously did not take the suffix property, which meant\nthat the suffix property in defaults modules applied to libraries\nwas ignored.  The suffix property is being added to cc_library\nmodules, which incorrectly renames existing libraries that had\ndefaults with suffix properties.  These defaults only apply to\nlibrary modules, so just remove the suffix properties.\n\nBug: 117607748\nTest: m checkbuild\nChange-Id: Iadbb7369a7e4698394f64d25fc0a11933f41c2dc\n"
    },
    {
      "commit": "0dc93b1ba94460b0ae126dd4db335261165c74b7",
      "tree": "78b3afa099dce52a1eb39d6a9788d610b14a1f6b",
      "parents": [
        "9b81ac36e161fd993eab17b43b93a96e8c63b5cc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 15 10:30:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 17 20:40:21 2019 +0000"
      },
      "message": "ART: Run bpfmt over ART\u0027s blueprint files\n\nTest: mmma art\nChange-Id: Ic85df4770c12ec02836c877b243d4aec234aaada\n"
    },
    {
      "commit": "a8f91395f9a2ee9d975a83178abaac9af34969ab",
      "tree": "426b52d77898b6a3cd34b0f1b0a431343e92e2be",
      "parents": [
        "2a487eb89b67d7ff030368e4e4a6ed0a3ac39003"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 19 11:52:24 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 20 13:04:36 2018 -0800"
      },
      "message": "ART: Fix clang-analyzer-security.insecureAPI.strcpy\n\nBug: 32619234\nTest: m test-art-host\nChange-Id: I08ef95679230be1cfd23037c15714e2720be358f\n"
    },
    {
      "commit": "dfcd82c09e8ce4562ed39e006d4b1c8163b4e25e",
      "tree": "d9bfd3e043a95b3c8e302769cef23c13a89df3c5",
      "parents": [
        "4f570a43146c1456071f2ffe6590ab96e723051a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 16 20:22:37 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 19 13:06:33 2018 -0700"
      },
      "message": "ART: Fix android-cloexec warnings\n\nUse the DupCloexec helper wherever possible. Add O_CLOEXEC to open\nand fopen calls.\n\nBug: 32619234\nTest: WITH_TIDY\u003d1 mmma art\nChange-Id: I0afb1beea53ab8f68ab85d1762aff999903060fe\n"
    },
    {
      "commit": "15b8113eb72b829e2026477a49e159635a48349b",
      "tree": "b62e2ddcc2e3fb3d1156103c2bfbef08916d3cdc",
      "parents": [
        "d3233abdf14f173bb99e3905e8543ffff845230e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 24 13:29:07 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 24 18:28:13 2018 -0800"
      },
      "message": "Have adbconnection handle DDMS packets if agent not loaded\n\nIf DDMS was being used on a userdebug or eng build it would cause the\nlibjdwp agent to be loaded on various system processes, most notably\nsystem_server. This would cause a massive performance hit as it tries\nto force system_server to jit but, due to security policies, it is\nforced to interpreter instead.\n\nTo fix this we make it so that (so long as no debugger commands are\nissued) DDMS commands are handled without loading the JDWP agent. When\na non-DDMS command is issued we will load and initialize the JDWP\nagent which will take over handling DDMS traffic from then on.\n\nThis will ensure that in the common (for userdebug) use-case where\nprocesses only encounter DDMS commands the process will not need to\nload the full debugger.\n\nTest: ./test.py --host -j50\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003ddevice\nTest: Run ddms monitor on host,\n      adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider adbconnection\n      adb shell start;\n      Ensure that device does not start to jank\nTest: Run ddms monitor on host,\n      adb shell stop \u0026\u0026\n      adb shell setprop dalvik.vm.jdwp-provider adbconnection\n      adb shell start;\n      Turn off ddms monitor.\n      Ensure that device does not start to jank\nTest: Build and run\nTest: use ddms monitor.\nTest: Use Android Studio.\nTest: Build and debug debuggable app (bandhook-kotlin)\nTest: Build and debug non-debuggable app on userdebug build\n        (bandhook-kotlin)\nTest: Debug running system process on userdebug build\n        (com.android.packageinstaller)\n\nBug: 62821960\nBug: 72456312\nBug: 72457427\n\nChange-Id: Ib8d2af6c76bd2fac5a4b27e730695b2d016d3583\n"
    },
    {
      "commit": "96f4dc41fee6d94adb3f44fcb9c72ea1ba414060",
      "tree": "224cf4abd41da3762667e235c590ce9f65252bbe",
      "parents": [
        "2a96fe8541b7179e923b6edd27dfe1b8ceb6988e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 23 14:06:58 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 23 14:24:21 2018 -0800"
      },
      "message": "Add missing TEMP_FAILURE_RETRYs in dt_fd_forward\n\nThere were several syscalls that should have had a TEMP_FAILURE_RETRY\nbut did not. This could cause the connection to be dropped\nunexpectedly if there was a signal.\n\nTest: build\nTest: ./tools/dt_fds_forward.py  \\\n        ./test/run-test --host --dev 001-HelloWorld\nTest: jdb -attach localhost:12345\nTest: kill -3 \u003cpid of dalvikvm\u003e\n\nChange-Id: I62a3409d3e2947db1c7142547c925d1d2ba9eecd\n"
    },
    {
      "commit": "c7547c3a52785f4a69675a88ec2a90696f26c75d",
      "tree": "deed392c9fb211948d7373cd8638f880d8721265",
      "parents": [
        "3859966d5c0d4a2d98e6012b458ef0b7e218c9b4"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 20 08:05:06 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 20 08:05:06 2017 -0800"
      },
      "message": "Disable libraries using eventfd on darwin hosts.\n\nThe eventfd API is not supported on darwin/MacOS. Since these\nlibraries are not meant for host use we will simply not build them for\nthose platforms. The libraries disabled are libdt_fd_forward and\nlibadbconnection. Both of these libraries are used for debugging\nsupport on device only so it should not be any real issue.\n\nTest: None\nChange-Id: Ia1b1efc50a0bd9427640edec322db5ebd37d92a2\n"
    },
    {
      "commit": "3979571aa1dfc907569fb7e27ab225ca89f6f86e",
      "tree": "fd91ada65bffa3fcefc773a36cbf8055bf688a1c",
      "parents": [
        "403207107da7f11525c4d305184c56b35ec1c17a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Dec 14 11:58:21 2017 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 19 14:52:01 2017 -0800"
      },
      "message": "Add fd-forwarding transport lib\n\ndt_fd_forward is a jdwpTransport that takes as an address a local\nsocket file-descriptor and uses it to allow some other piece of code\nor program to control the actual attach and communication process.\n\ntools/dt_fds_forward.py is a python program that can be used as a\ncontroller for this comms system. This is useful for testing. It\nimplements the same behavior (excepting DDMS) that the adbconnection\nplugin will but is capable of being easily used on normal host\nmachines. Unlike the plugin, dt_fds_forward.py works by allowing a\nsocket file-descriptor to be inherited by the forked Java Language\nRuntime.\n\nThe overall goal of this transport is to use it to allow us to safely\nmultiplex the out-bound data with DDMS data. This is needed to let us\nmatch current DDMS behavior which transmits packets in the blind on\nthe same channel JDWP traffic is sent on.\n\nTest: ./tools/dt_fds_forward.py  \\\n        ./test/run-test --host --dev 001-HelloWorld\nTest: jdb -attach localhost:12345\nTest: nc localhost 12345, handshake, disconnect\nTest: jdb -attach localhost:12345, detach, attach\n\nTest: ./tools/dt_fds_forward.py  \\\n            --debug-lib $JAVA_HOME/jre/lib/amd64/libjdwp.so \\\n            -- \\\n            ./test/run-test --host --jvm --dev 001-HelloWorld\nTest: jdb -attach localhost:12345\n\nBug: 62821960\nBug: 69169846\n\nChange-Id: I654db6c6991c006933e1e1f0a4e41c13f795f9a8\n"
    }
  ]
}
