⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 184784 in webkit


Ignore:
Timestamp:
May 22, 2015, 12:03:54 PM (11 years ago)
Author:
ap@apple.com
Message:

build.webkit.org/dashboard: Simplify BuildbotQueueView creation code
​https://bugs.webkit.org/show_bug.cgi?id=145297

Reviewed by Tim Horton.

This is a refactoring to simplify code, and to make it more logical.

It is up to the view to decide how to present the queues, and whether to split
them into debug and release, or in some different way.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.filterQueues):
(BuildbotBuilderQueueView):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotLeaksQueueView.js:

(BuildbotLeaksQueueView):
(BuildbotLeaksQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js:

(BuildbotPerformanceQueueView):
(BuildbotPerformanceQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView):
(BuildbotQueueView.prototype._updateQueues):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

(documentReady):

Location:
trunk/Tools
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js

    r179650 r184784  
    2424 */
    2525
    26 BuildbotBuilderQueueView = function(debugQueues, releaseQueues)
     26BuildbotBuilderQueueView = function(queues)
    2727{
    28     BuildbotQueueView.call(this, debugQueues, releaseQueues);
     28    BuildbotQueueView.call(this, queues);
    2929
    30     function filterQueuesByArchitecture(architecture, queue)
     30    function filterQueues(architecture, debug, queue)
    3131    {
    32         return queue.architecture === architecture;
     32        return queue.architecture === architecture && queue.debug === debug;
    3333    }
    3434
    35     this.universalReleaseQueues = this.releaseQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.Universal));
    36     this.sixtyFourBitReleaseQueues = this.releaseQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.SixtyFourBit));
    37     this.thirtyTwoBitReleaseQueues = this.releaseQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.ThirtyTwoBit));
     35    this.universalReleaseQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.Universal, false));
     36    this.sixtyFourBitReleaseQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.SixtyFourBit, false));
     37    this.thirtyTwoBitReleaseQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.ThirtyTwoBit, false));
    3838
    39     this.universalDebugQueues = this.debugQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.Universal));
    40     this.sixtyFourBitDebugQueues = this.debugQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.SixtyFourBit));
    41     this.thirtyTwoBitDebugQueues = this.debugQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.ThirtyTwoBit));
     39    this.universalDebugQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.Universal, true));
     40    this.sixtyFourBitDebugQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.SixtyFourBit, true));
     41    this.thirtyTwoBitDebugQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.ThirtyTwoBit, true));
    4242
    43     this.hasMultipleReleaseBuilds = this.releaseQueues.length > 1;
    44     this.hasMultipleDebugBuilds = this.debugQueues.length > 1;
     43    this.hasMultipleReleaseBuilds = this.universalReleaseQueues.length + this.sixtyFourBitReleaseQueues.length + this.thirtyTwoBitReleaseQueues.length > 1;
     44    this.hasMultipleDebugBuilds = this.universalDebugQueues.length + this.sixtyFourBitDebugQueues.length + this.thirtyTwoBitDebugQueues.length > 1;
    4545
    4646    this.update();
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotLeaksQueueView.js

    r179650 r184784  
    2626BuildbotLeaksQueueView = function(queues)
    2727{
    28     BuildbotQueueView.call(this, [], queues);
     28    BuildbotQueueView.call(this, queues);
    2929    this.update();
    3030};
    … …  
    8585        }
    8686
    87         this.appendBuildStyle.call(this, this.releaseQueues, "Leaks", appendLeaksQueueStatus);
     87        this.appendBuildStyle.call(this, this.queues, "Leaks", appendLeaksQueueStatus);
    8888    },
    8989
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js

    r179650 r184784  
    2626BuildbotPerformanceQueueView = function(queues)
    2727{
    28     BuildbotQueueView.call(this, [], queues);
     28    BuildbotQueueView.call(this, queues);
    2929    this.update();
    3030};
    … …  
    8383        }
    8484
    85         this.appendBuildStyle.call(this, this.releaseQueues, 'Release', appendPerformanceQueueStatus);
     85        this.appendBuildStyle.call(this, this.queues, 'Release', appendPerformanceQueueStatus);
    8686    },
    8787
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js

    r180959 r184784  
    2424 */
    2525
    26 BuildbotQueueView = function(debugQueues, releaseQueues)
     26BuildbotQueueView = function(queues)
    2727{
    2828    QueueView.call(this);
    2929
    30     this.releaseQueues = releaseQueues || [];
    31     this.debugQueues = debugQueues || [];
    32 
    33     this.releaseQueues.forEach(function(queue) {
    34         if (this.platform && this.platform != queue.platform)
    35             throw "A buildbot view may not contain queues for multiple platforms."
    36         else
    37             this.platform = queue.platform;
    38         queue.addEventListener(BuildbotQueue.Event.IterationsAdded, this._queueIterationsAdded, this);
    39         queue.addEventListener(BuildbotQueue.Event.UnauthorizedAccess, this._unauthorizedAccess, this);
    40     }.bind(this));
    41 
    42     this.debugQueues.forEach(function(queue) {
     30    this.queues = queues || [];
     31
     32    this.queues.forEach(function(queue) {
    4333        if (this.platform && this.platform != queue.platform)
    4434            throw "A buildbot view may not contain queues for multiple platforms."
    … …  
    303293    _updateQueues: function()
    304294    {
    305         this.releaseQueues.forEach(function(queue) { queue.update(); });
    306         this.debugQueues.forEach(function(queue) { queue.update(); });
     295        this.queues.forEach(function(queue) { queue.update(); });
    307296    },
    308297
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js

    r182738 r184784  
    2424 */
    2525
    26 BuildbotTesterQueueView = function(debugQueues, releaseQueues)
     26BuildbotTesterQueueView = function(queues)
    2727{
    28     BuildbotQueueView.call(this, debugQueues, releaseQueues);
     28    BuildbotQueueView.call(this, queues);
     29
     30    this.releaseQueues = this.queues.filter(function(queue) { return queue.debug === false; });
     31    this.debugQueues = this.queues.filter(function(queue) { return queue.debug === true; });
    2932
    3033    this.update();
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js

    r179106 r184784  
    3737            platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};
    3838        if (!platform.builders)
    39             platform.builders = {};
     39            platform.builders = [];
    4040
    4141        var categoryName;
    … …  
    5555        category = platform[categoryName];
    5656        if (!category)
    57             category = platform[categoryName] = {};
    58 
    59         var buildType = queue.debug ? "debug" : "release";
    60 
    61         buildQueues = category[buildType];
    62         if (!buildQueues)
    63             buildQueues = category[buildType] = [];
    64 
    65         buildQueues.push(queue);
     57            category = platform[categoryName] = [];
     58
     59        category.push(queue);
    6660    }
    6761}
    … …  
    7468            platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};
    7569        if (!platform.builders)
    76             platform.builders = {};
     70            platform.builders = [];
    7771
    7872        var categoryName = BubblesCategory;
    … …  
    200194        cell = document.createElement("td");
    201195
    202         var view = new BuildbotBuilderQueueView(platformQueues.builders.debug, platformQueues.builders.release);
     196        var view = new BuildbotBuilderQueueView(platformQueues.builders);
    203197        cell.appendChild(view.element);
    204198        row.appendChild(cell);
    … …  
    209203            var testerProperty = Buildbot.TestCategory[testerKey];
    210204            if (platformQueues[testerProperty]) {
    211                 var view = new BuildbotTesterQueueView(platformQueues[testerProperty].debug, platformQueues[testerProperty].release);
     205                var view = new BuildbotTesterQueueView(platformQueues[testerProperty]);
    212206                cell.appendChild(view.element);
    213207            }
    … …  
    217211
    218212        var cell = document.createElement("td");
    219         if (platformQueues.performance && platformQueues.performance.release) {
    220             var view = new BuildbotPerformanceQueueView(platformQueues.performance.release);
     213        if (platformQueues.performance) {
     214            var view = new BuildbotPerformanceQueueView(platformQueues.performance);
    221215            cell.appendChild(view.element);
    222216        }
    223217
    224         if (platformQueues.leaks && platformQueues.leaks.debug) {
    225             var view = new BuildbotLeaksQueueView(platformQueues.leaks.debug);
     218        if (platformQueues.leaks) {
     219            var view = new BuildbotLeaksQueueView(platformQueues.leaks);
    226220            cell.appendChild(view.element);
    227221        }
  • trunk/Tools/ChangeLog

    r184780 r184784  
     12015-05-22  Alexey Proskuryakov  <ap@apple.com>
     2
     3        build.webkit.org/dashboard: Simplify BuildbotQueueView creation code
     4        https://bugs.webkit.org/show_bug.cgi?id=145297
     5
     6        Reviewed by Tim Horton.
     7
     8        This is a refactoring to simplify code, and to make it more logical.
     9
     10        It is up to the view to decide how to present the queues, and whether to split
     11        them into debug and release, or in some different way.
     12
     13        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
     14        (BuildbotBuilderQueueView.filterQueues):
     15        (BuildbotBuilderQueueView):
     16        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotLeaksQueueView.js:
     17        (BuildbotLeaksQueueView):
     18        (BuildbotLeaksQueueView.prototype.update):
     19        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js:
     20        (BuildbotPerformanceQueueView):
     21        (BuildbotPerformanceQueueView.prototype.update):
     22        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
     23        (BuildbotQueueView):
     24        (BuildbotQueueView.prototype._updateQueues):
     25        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
     26        (BuildbotTesterQueueView):
     27        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
     28        (documentReady):
     29
    1302015-05-22  Tim Horton  <timothy_horton@apple.com>
    231
Note: See TracChangeset for help on using the changeset viewer.