Title: [184784] trunk/Tools
Revision
184784
Author
[email protected]
Date
2015-05-22 12:03:54 -0700 (Fri, 22 May 2015)

Log 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):

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js (184783 => 184784)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js	2015-05-22 18:57:05 UTC (rev 184783)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js	2015-05-22 19:03:54 UTC (rev 184784)
@@ -23,25 +23,25 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-BuildbotBuilderQueueView = function(debugQueues, releaseQueues)
+BuildbotBuilderQueueView = function(queues)
 {
-    BuildbotQueueView.call(this, debugQueues, releaseQueues);
+    BuildbotQueueView.call(this, queues);
 
-    function filterQueuesByArchitecture(architecture, queue)
+    function filterQueues(architecture, debug, queue)
     {
-        return queue.architecture === architecture;
+        return queue.architecture === architecture && queue.debug === debug;
     }
 
-    this.universalReleaseQueues = this.releaseQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.Universal));
-    this.sixtyFourBitReleaseQueues = this.releaseQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.SixtyFourBit));
-    this.thirtyTwoBitReleaseQueues = this.releaseQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.ThirtyTwoBit));
+    this.universalReleaseQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.Universal, false));
+    this.sixtyFourBitReleaseQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.SixtyFourBit, false));
+    this.thirtyTwoBitReleaseQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.ThirtyTwoBit, false));
 
-    this.universalDebugQueues = this.debugQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.Universal));
-    this.sixtyFourBitDebugQueues = this.debugQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.SixtyFourBit));
-    this.thirtyTwoBitDebugQueues = this.debugQueues.filter(filterQueuesByArchitecture.bind(this, Buildbot.BuildArchitecture.ThirtyTwoBit));
+    this.universalDebugQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.Universal, true));
+    this.sixtyFourBitDebugQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.SixtyFourBit, true));
+    this.thirtyTwoBitDebugQueues = this.queues.filter(filterQueues.bind(this, Buildbot.BuildArchitecture.ThirtyTwoBit, true));
 
-    this.hasMultipleReleaseBuilds = this.releaseQueues.length > 1;
-    this.hasMultipleDebugBuilds = this.debugQueues.length > 1;
+    this.hasMultipleReleaseBuilds = this.universalReleaseQueues.length + this.sixtyFourBitReleaseQueues.length + this.thirtyTwoBitReleaseQueues.length > 1;
+    this.hasMultipleDebugBuilds = this.universalDebugQueues.length + this.sixtyFourBitDebugQueues.length + this.thirtyTwoBitDebugQueues.length > 1;
 
     this.update();
 };

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotLeaksQueueView.js (184783 => 184784)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotLeaksQueueView.js	2015-05-22 18:57:05 UTC (rev 184783)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotLeaksQueueView.js	2015-05-22 19:03:54 UTC (rev 184784)
@@ -25,7 +25,7 @@
 
 BuildbotLeaksQueueView = function(queues)
 {
-    BuildbotQueueView.call(this, [], queues);
+    BuildbotQueueView.call(this, queues);
     this.update();
 };
 
@@ -84,7 +84,7 @@
             new PopoverTracker(status.statusBubbleElement, this._presentPopoverForLeaksQueue.bind(this), iteration);
         }
 
-        this.appendBuildStyle.call(this, this.releaseQueues, "Leaks", appendLeaksQueueStatus);
+        this.appendBuildStyle.call(this, this.queues, "Leaks", appendLeaksQueueStatus);
     },
 
     addLinkToRow: function(rowElement, className, text, url)

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js (184783 => 184784)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js	2015-05-22 18:57:05 UTC (rev 184783)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js	2015-05-22 19:03:54 UTC (rev 184784)
@@ -25,7 +25,7 @@
 
 BuildbotPerformanceQueueView = function(queues)
 {
-    BuildbotQueueView.call(this, [], queues);
+    BuildbotQueueView.call(this, queues);
     this.update();
 };
 
@@ -82,7 +82,7 @@
             new PopoverTracker(status.statusBubbleElement, this._presentPopoverForPerformanceQueue.bind(this), queue);
         }
 
-        this.appendBuildStyle.call(this, this.releaseQueues, 'Release', appendPerformanceQueueStatus);
+        this.appendBuildStyle.call(this, this.queues, 'Release', appendPerformanceQueueStatus);
     },
 
     addLinkToRow: function(rowElement, className, text, url)

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js (184783 => 184784)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js	2015-05-22 18:57:05 UTC (rev 184783)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js	2015-05-22 19:03:54 UTC (rev 184784)
@@ -23,14 +23,13 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-BuildbotQueueView = function(debugQueues, releaseQueues)
+BuildbotQueueView = function(queues)
 {
     QueueView.call(this);
 
-    this.releaseQueues = releaseQueues || [];
-    this.debugQueues = debugQueues || [];
+    this.queues = queues || [];
 
-    this.releaseQueues.forEach(function(queue) {
+    this.queues.forEach(function(queue) {
         if (this.platform && this.platform != queue.platform)
             throw "A buildbot view may not contain queues for multiple platforms."
         else
@@ -39,15 +38,6 @@
         queue.addEventListener(BuildbotQueue.Event.UnauthorizedAccess, this._unauthorizedAccess, this);
     }.bind(this));
 
-    this.debugQueues.forEach(function(queue) {
-        if (this.platform && this.platform != queue.platform)
-            throw "A buildbot view may not contain queues for multiple platforms."
-        else
-            this.platform = queue.platform;
-        queue.addEventListener(BuildbotQueue.Event.IterationsAdded, this._queueIterationsAdded, this);
-        queue.addEventListener(BuildbotQueue.Event.UnauthorizedAccess, this._unauthorizedAccess, this);
-    }.bind(this));
-
     webkitTrac.addEventListener(Trac.Event.CommitsUpdated, this._newCommitsRecorded, this);
     if (typeof internalTrac != "undefined")
         internalTrac.addEventListener(Trac.Event.CommitsUpdated, this._newCommitsRecorded, this);
@@ -302,8 +292,7 @@
 
     _updateQueues: function()
     {
-        this.releaseQueues.forEach(function(queue) { queue.update(); });
-        this.debugQueues.forEach(function(queue) { queue.update(); });
+        this.queues.forEach(function(queue) { queue.update(); });
     },
 
     _queueIterationsAdded: function(event)

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js (184783 => 184784)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js	2015-05-22 18:57:05 UTC (rev 184783)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js	2015-05-22 19:03:54 UTC (rev 184784)
@@ -23,10 +23,13 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-BuildbotTesterQueueView = function(debugQueues, releaseQueues)
+BuildbotTesterQueueView = function(queues)
 {
-    BuildbotQueueView.call(this, debugQueues, releaseQueues);
+    BuildbotQueueView.call(this, queues);
 
+    this.releaseQueues = this.queues.filter(function(queue) { return queue.debug === false; });
+    this.debugQueues = this.queues.filter(function(queue) { return queue.debug === true; });
+
     this.update();
 };
 

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js (184783 => 184784)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js	2015-05-22 18:57:05 UTC (rev 184783)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js	2015-05-22 19:03:54 UTC (rev 184784)
@@ -36,7 +36,7 @@
         if (!platform)
             platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};
         if (!platform.builders)
-            platform.builders = {};
+            platform.builders = [];
 
         var categoryName;
         if (queue.builder)
@@ -54,15 +54,9 @@
 
         category = platform[categoryName];
         if (!category)
-            category = platform[categoryName] = {};
+            category = platform[categoryName] = [];
 
-        var buildType = queue.debug ? "debug" : "release";
-
-        buildQueues = category[buildType];
-        if (!buildQueues)
-            buildQueues = category[buildType] = [];
-
-        buildQueues.push(queue);
+        category.push(queue);
     }
 }
 
@@ -73,7 +67,7 @@
         if (!platform)
             platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};
         if (!platform.builders)
-            platform.builders = {};
+            platform.builders = [];
 
         var categoryName = BubblesCategory;
 
@@ -199,7 +193,7 @@
 
         cell = document.createElement("td");
 
-        var view = new BuildbotBuilderQueueView(platformQueues.builders.debug, platformQueues.builders.release);
+        var view = new BuildbotBuilderQueueView(platformQueues.builders);
         cell.appendChild(view.element);
         row.appendChild(cell);
 
@@ -208,7 +202,7 @@
 
             var testerProperty = Buildbot.TestCategory[testerKey];
             if (platformQueues[testerProperty]) {
-                var view = new BuildbotTesterQueueView(platformQueues[testerProperty].debug, platformQueues[testerProperty].release);
+                var view = new BuildbotTesterQueueView(platformQueues[testerProperty]);
                 cell.appendChild(view.element);
             }
 
@@ -216,13 +210,13 @@
         }
 
         var cell = document.createElement("td");
-        if (platformQueues.performance && platformQueues.performance.release) {
-            var view = new BuildbotPerformanceQueueView(platformQueues.performance.release);
+        if (platformQueues.performance) {
+            var view = new BuildbotPerformanceQueueView(platformQueues.performance);
             cell.appendChild(view.element);
         }
 
-        if (platformQueues.leaks && platformQueues.leaks.debug) {
-            var view = new BuildbotLeaksQueueView(platformQueues.leaks.debug);
+        if (platformQueues.leaks) {
+            var view = new BuildbotLeaksQueueView(platformQueues.leaks);
             cell.appendChild(view.element);
         }
 

Modified: trunk/Tools/ChangeLog (184783 => 184784)


--- trunk/Tools/ChangeLog	2015-05-22 18:57:05 UTC (rev 184783)
+++ trunk/Tools/ChangeLog	2015-05-22 19:03:54 UTC (rev 184784)
@@ -1,3 +1,32 @@
+2015-05-22  Alexey Proskuryakov  <[email protected]>
+
+        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):
+
 2015-05-22  Tim Horton  <[email protected]>
 
         Remove action menu support
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to