)]}'
{
  "log": [
    {
      "commit": "b82471ad6dfec4790b2d86e49525dadc3fc06416",
      "tree": "bca7e73da63c7506bbc3c967468034a351aaad94",
      "parents": [
        "5e48b1d183a8333528f529c7e677c4ab644f8caf"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu May 17 16:37:09 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jul 12 14:15:31 2018 -0700"
      },
      "message": "Add a unified status reporting UI\n\nThis adds a new status package that merges the running of \"actions\"\n(ninja calls them edges) of multiple tools into one view of the current\nstate, and gives that to a number of different outputs.\n\nFor inputs:\n\nKati\u0027s output parser has been rewritten (and moved) to map onto the\nStartAction/FinishAction API. A byproduct of this is that the build\nservers should be able to extract errors from Kati better, since they\nlook like the errors that Ninja used to write.\n\nNinja is no longer directly connected to the terminal, but its output is\nread via the protobuf frontend API, so it\u0027s just another tool whose\noutput becomes merged together.\n\nmultiproduct_kati loses its custom status routines, and uses the common\none instead.\n\nFor outputs:\n\nThe primary output is the ui/terminal.Status type, which along with\nui/terminal.Writer now controls everything about the terminal output.\nToday, this doesn\u0027t really change any behaviors, but having all terminal\noutput going through here allows a more complicated (multi-line / full\nwindow) status display in the future.\n\nThe tracer acts as an output of the status package, tracing all the\naction start / finish events. This replaces reading the .ninja_log file,\nso it now properly handles multiple output files from a single action.\n\nA new rotated log file (out/error.log, or out/dist/logs/error.log) just\ncontains a description of all of the errors that happened during the\ncurrent build.\n\nAnother new compressed and rotated log file (out/verbose.log.gz, or\nout/dist/logs/verbose.log.gz) contains the full verbose (showcommands)\nlog of every execution run by the build. Since this is now written on\nevery build, the showcommands argument is now ignored -- if you want to\nget the commands run, look at the log file after the build.\n\nTest: m\nTest: \u003cbuilt-in tests\u003e\nTest: NINJA_ARGS\u003d\"-t list\" m\nTest: check the build.trace.gz\nTest: check the new log files\nChange-Id: If1d8994890d43ef68f65aa10ddd8e6e06dc7013a\n"
    },
    {
      "commit": "91f9b547672ecb20a308d52df3a0c09d616cb1b9",
      "tree": "bdf38ca0f3bd5fd626fa81211d0836e123dbee1b",
      "parents": [
        "99cd671ac35897e9514c6ca687dfeeeecedb36d3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Jul 18 19:39:34 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Jul 24 15:29:14 2017 -0700"
      },
      "message": "Switch to blueprint\u0027s microfactory\n\nBug: 63720725\nTest: m -j nothing\nTest: mkdir o; ../bootstrap.bash; ./soong\nChange-Id: Id1f8312678f36afd08b49f8511fec3e6e5ba8de2\n"
    },
    {
      "commit": "cae59bc29de92e135ca53cfb1142d3524b62f846",
      "tree": "8a5c5c634c53b8941d6189d32b2d1b5975456e0d",
      "parents": [
        "1b822867360844bea1c30facb95492ff21eb4e6b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jul 13 14:27:31 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jul 13 15:09:44 2017 -0700"
      },
      "message": "Add microfactory tracing\n\nTest: m clean; load out/build.trace.gz in chrome://tracing\nTest: m -j nothing; load again\nChange-Id: I67d4e006a4bdde593b54c20d6d93a48278fe696d\n"
    },
    {
      "commit": "1b822867360844bea1c30facb95492ff21eb4e6b",
      "tree": "3c982962dd19a7cf03c78d840ef08dfa5ff1da89",
      "parents": [
        "c40e10bd6beb2be8ecb2f1ce478b70ddc04fd328"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Jul 12 15:00:05 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Jul 12 16:41:09 2017 -0700"
      },
      "message": "Support running soong_ui.bash from anywhere in the tree\n\nIt will cd to $TOP before running soong_ui itself, so that soong_ui\nstill runs from the top of the tree. ORIGINAL_PWD is saved so that we\ncan reference that later (for example, to move \u0027mma\u0027 implementation into\nGo).\n\nTest: cd system; ../build/soong/soong_ui.bash\nTest: Set absolute / relative OUT_DIR or OUT_DIR_COMMON_BASE and repeat\nChange-Id: Icb67a3ee6a3358cca50300755c8953419fc19437\n"
    },
    {
      "commit": "0df151725907caa6d04cdd7e0ec3a9ddbdffe60c",
      "tree": "c7786e53a43cc2de1dbfe12e283f5c51e9a6e0d9",
      "parents": [
        "5ed900be4835827b9a7ec27e52275751640db66f"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun May 07 11:23:59 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon May 15 17:26:52 2017 -0700"
      },
      "message": "Add build_test.sh, split common parts of soong_ui.bash\n\nMove common microfactory functions to cmd/microfactory/microfactory.bash\nso that they can be used to build both soong_ui for normal build and\nmultiproduct_kati for build system tests.\n\nTest: m -j\nTest: build/soong/build_test.bash\nChange-Id: I9512642d846ce54d05a027b6d33a2b3029b3f90b\n"
    }
  ]
}
