Home | History | Annotate | Download | only in lib
      1 <!--
      2 Copyright 2014 The Chromium Authors. All rights reserved.
      3 Use of this source code is governed by a BSD-style license that can be
      4 found in the LICENSE file.
      5 -->
      6 <link rel="import" href="../lib/net.html">
      7 <link href="../model/ct-builder-status.html" rel="import">
      8 
      9 <script>
     10   // FIXME: Just fetch the latest_builder_info data instead of the entire
     11   // alerts structure.
     12   var BUILD_DATA_URI = 'https://sheriff-o-matic.appspot.com/alerts';
     13 
     14   var revisions = revisions || {};
     15 
     16   (function() {
     17     revisions.parseBuildInfo = function(data) {
     18       var groups = data['latest_builder_info'];
     19       return new Promise(function(resolve, reject) {
     20         var model = new CTBuilderStatus();
     21         for (var group in groups) {
     22           var modelGroup = new CTBuilderGroup(group);
     23           for (var build in groups[group]) {
     24             var modelBuilder = new CTBuilderBot(modelGroup, build,
     25               groups[group][build]['state'],
     26               groups[group][build]['lastUpdateTime']);
     27             var revisions = groups[group][build]['revisions'];
     28             for (var repository in revisions) {
     29               modelBuilder.addRepository(
     30                 new CTBuilderRepository(repository, revisions[repository]));
     31             }
     32             modelGroup.addBuilder(modelBuilder);
     33           }
     34           model.addGroup(modelGroup);
     35         }
     36         model.sort();
     37         resolve(model);
     38       });
     39     };
     40 
     41     revisions.load = function() {
     42       return net.json(BUILD_DATA_URI).then(revisions.parseBuildInfo);
     43     };
     44 
     45   })();
     46 </script>
     47