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.
7 <link rel='import' href='ct-builder.html'>
10 // .builders[i] will have the CTBuilder objects
11 function CTBuilderList(failures) {
14 if (!Array.isArray(failures))
15 failures = [failures];
18 failures.forEach(function(failure) {
19 var results = failure.resultNodesByBuilder;
20 Object.keys(results, (function(builder, result) {
21 if (!builderMap[builder])
22 builderMap[builder] = {};
23 // This assumes that duplicate builder/master pairs all have the same
24 // earliestFailingBuild.
25 builderMap[builder][result.masterUrl] = {
26 earliestFailingBuild: result.earliestFailingBuild,
27 failingBuildCount: result.failingBuildCount,
32 Object.keys(builderMap).sort().forEach(function(builder) {
33 Object.keys(builderMap[builder]).sort().forEach(function(masterUrl) {
34 var result = builderMap[builder][masterUrl];
35 this.builders.push(new CTBuilder(masterUrl, builder,
36 result.earliestFailingBuild, result.failingBuildCount));