)]}'
{
  "log": [
    {
      "commit": "e6f8400f83f029d72b21e38312a53d226c15990a",
      "tree": "0df145f8dacce1b64608d32393414bcf40ba5250",
      "parents": [
        "d2c7ad2068b130a8b4033be246b27c8e6d9199b2"
      ],
      "author": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Thu Feb 19 10:24:28 2015 -0800"
      },
      "committer": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Fri Feb 20 19:08:00 2015 +0000"
      },
      "message": "Cleaned up dependencies after routing code shuffle.\n\nChange-Id: I1388749f77ef9b3b327df2ee745fdb7cec510708\n"
    },
    {
      "commit": "2da1e603a9577ea27d799d71834100c35adbeafa",
      "tree": "c7b12ca8c4cd1e1e1f8afe6ee8b1ce32984a267f",
      "parents": [
        "78baaf2af25b55b04217b2105fa9b362a53d5bec"
      ],
      "author": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Wed Feb 18 19:09:24 2015 -0800"
      },
      "committer": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Wed Feb 18 19:10:19 2015 -0800"
      },
      "message": "Renamed routing packages to foo \u0026 foo.impl pattern.\n\nPlus added some package-info.java files.\n\nChange-Id: I0b68a7f4cea7a5f089b37b1a1c016d1c3b7a8702\n"
    },
    {
      "commit": "90a02c25392a7981206f19b8ea147b67723efd2a",
      "tree": "296abe97260a082acca8601e474c5a1288f574e9",
      "parents": [
        "eda3387e4a6fed6367fef2f9fe1dd2446d9a6462"
      ],
      "author": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Fri Feb 13 11:52:07 2015 -0800"
      },
      "committer": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Wed Feb 18 18:52:35 2015 +0000"
      },
      "message": "Moved routing/bgp config into common routing bundle.\n\nThis allows the configuration to be used from multiple applications.\n\n * The class that reads the configuration file is now a service so that\n   config can be consumed by components in other bundles.\n * Name of config reader classes has been generalized to RoutingConfigService\n * All config has been added to RoutingConfigService, instead of having\n   two service interfaces like we did previously\n\nChange-Id: Iaec9daf0f5b72abe2d6709fb75188d6d81947478\n"
    },
    {
      "commit": "d24fafbc7cd87eadfee9008b91343bac0cca17ec",
      "tree": "a42eff68bda56863740de67e57c83fcbfa103c3f",
      "parents": [
        "41349e9b46021cdeb1ec7ffb2c5a666c3f64dc3b"
      ],
      "author": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Mon Feb 09 17:55:32 2015 -0800"
      },
      "committer": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Wed Feb 11 18:48:47 2015 -0800"
      },
      "message": "Move BGP listen port configuration to BgpSessionManager component\n\nChange-Id: I445bff180740fededacaa59441fc53332cc3d482\n"
    },
    {
      "commit": "41349e9b46021cdeb1ec7ffb2c5a666c3f64dc3b",
      "tree": "5aef51f4bde9c3fa8c3c910f89875bf3c2a2a2b5",
      "parents": [
        "0a0b9e46bfe73b10170128de1fbdfa1d43a9b8fa"
      ],
      "author": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Mon Feb 09 14:14:02 2015 -0800"
      },
      "committer": {
        "name": "Jonathan Hart",
        "email": "jono@onlab.us",
        "time": "Wed Feb 11 18:20:57 2015 -0800"
      },
      "message": "Moved BGP code and Router code into their own bundle.\n\nThe main goal of this is to allow routing code to be used by multiple\napplications.\n\nChanges include:\n * Created an onos-app-routing bundle and moved BGP code and routing code\n   into it.\n * Created an onos-app-routing-api bundle as a common API bundle between\n   onos-app-routing and onos-app-sdnip, to prevent circular dependencies.\n * Moved API classes into onos-app-routing-api bundle.\n * Made Router and BgpSessionManager into OSGi components. This is not quite\n   clean, because there is still a chain of start() method calls from SdnIp\n   through to BgpSessionManager to preserve startup order. This should be\n   revisted so components can be started using activate()\n * Created BgpService and RoutingService APIs to glue different components\n   together.\n * Many unit test changes. A lot of the previous unit tests spanned the\n   Router and IntentSynchronizer classes, but this is not possible any more\n   since these classes are in different bundles. I had to rewrite some of\n   these tests so that each unit test class only tests one real class. A\n   nice side-effect is that the tests are now simpler because each test\n   tests less functionality.\n * Removed SdnIp test seeing as it doesn\u0027t run automatically, was already\n   broken and has been largely superseded by other unit tests and the nightly\n   functional tests.\n\nChange-Id: I70ecf5391aa353e99e7cdcf7ed38a530c87571bb\n"
    }
  ]
}
