diff options
author | cbridgha | 2013-08-22 14:30:23 +0000 |
---|---|---|
committer | cbridgha | 2013-08-22 14:30:23 +0000 |
commit | 49b0872c6149ccf5e709ef9da309b85a05ef37ff (patch) | |
tree | 9ddba37771681c5ca7bcef843afe865804002c37 | |
parent | 5b9ca59b9b23418f7ebb232b8c6223af5ab7d9c8 (diff) | |
download | webtools-49b0872c6149ccf5e709ef9da309b85a05ef37ff.tar.gz webtools-49b0872c6149ccf5e709ef9da309b85a05ef37ff.tar.xz webtools-49b0872c6149ccf5e709ef9da309b85a05ef37ff.zip |
PMC bug review for Kepler SR1
-rw-r--r-- | plans/3.5.1/pmc-bug-approval.php | 329 |
1 files changed, 329 insertions, 0 deletions
diff --git a/plans/3.5.1/pmc-bug-approval.php b/plans/3.5.1/pmc-bug-approval.php new file mode 100644 index 000000000..109ec4a08 --- /dev/null +++ b/plans/3.5.1/pmc-bug-approval.php @@ -0,0 +1,329 @@ +<?php +// votes required to be considered "approved" +$nvotesRequired = 2; +$targetMilestone="3.5.1"; +$targetMilestoneJPA="3.3.1"; +$debug = false; +// for reference +// See https://dev.eclipse.org/committers/committertools/dbo_bugs_schema.php +// and https://dev.eclipse.org/committers/committertools/dbo_index.php + +if ($debug) +{ + ini_set("display_errors", "true"); + error_reporting (E_ALL); +} + +require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection_bugs_ro.class.php"; + +$approvedList = ""; +$pendingList = ""; + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<link rel="stylesheet" href="../../../default_style.css" type="text/css"> +<link rel="stylesheet" href="../../wtp.css" type="text/css"> +<title>Web Tools 3.5.1 Bugs</title> +</head> +<body> + <table width="100%" cellspacing="5" cellpadding="2" border="0"> + <tr> + <td width="60%" align="left"><font class="indextop">wtp 3.5.1 pmc review bug list</font> <br> <font class="indexsub">Web + Tools 3.5.1 Bugs for PMC Review</font></td> + <td width="40%"><img width="207" hspace="50" height="129" + align="middle" src="../../images/wtplogosmall.jpg"></td> + </tr> + </table> + <table width="100%" cellspacing="5" cellpadding="2" border="0"> + <tr> + <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b> <font + face="Arial,Helvetica" color="#ffffff">Introduction</font> </b></td> + </tr> + <tr> + <td valign="top" align="right"> </td> + <td valign="top"><?php + echo 'This document lists bugs that require PMC approval in WTP ' . $targetMilestone . ' or for Dali ' . $targetMilestoneJPA . '<br />'; + echo ' Currently there is (are) ' . $nvotesRequired . ' vote(s) required for PMC Approval during this phase of development. <br />' + ?> + <p> + For details, refer to the <a + href="http://wiki.eclipse.org/index.php/WTP_PMC_Defect_Review">WTP + PMC Review process.</a> and the <a + href="http://wiki.eclipse.org/WTP_3.5.x_Maintenance">WTP + maintenance plan for Kepler stream</a>. + </p> + <p>If a bug does not showing up in this list, that you think should + show up in this list, be sure that + + <ol> + <li>the bug's milestone target is set and is accurate,</li> + <li>that status whiteboard has "PMC" in it, and</li> + <li>that the review flags are for "pmc_approved" (not merely the + "review" flag).</li> + </ol> If all condidtions are met, and doesn't show up after several + minutes (say, 30 minutes or so), feel free to send a note to <a + href="mailto:wtp-releng@eclipse.org">wtp-releng</a> to call + attention to the problem. It could be a bug in this script. + </p> + </td> + </tr> + </table> + <br> + <table width="100%" cellspacing="5" cellpadding="2" border="0"> + <tr> + <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b> <font + face="Arial,Helvetica" color="#ffffff">Defect List</font> </b></td> + </tr> + </table> + <table align="center" cellpadding="4" width="80%" border="1"> + <tr> + <th>Count</th> + <th>Bug</th> + <th>Review Status</th> + <!-- <th>Bug Status</th> --> + <th>Owner</th> + <th>Yes</th> + <th>No</th> + </tr> + + + <?php + + + # Connect to database + $sqlquery = "SELECT + BUG.bug_id, + USR.realname, + USR.login_name, + BUG.status_whiteboard + FROM + bugs AS BUG + INNER JOIN products AS PROD ON PROD.id = BUG.product_id + INNER JOIN profiles AS USR ON USR.userid = BUG.assigned_to + WHERE + BUG.status_whiteboard like '%PMC%' + AND + ( + ( + (BUG.target_milestone like '$targetMilestone%' + AND BUG.target_milestone not like '$targetMilestone.%') + AND ( + PROD.name='Web Tools' + OR PROD.name='Java Server Faces' + OR PROD.name='JSDT' + OR PROD.name='WTP Common Tools' + OR PROD.name='WTP Datatools' + OR PROD.name='WTP EJB Tools' + OR PROD.name='WTP Incubator' + OR PROD.name='WTP Java EE Tools' + OR PROD.name='WTP Releng' + OR PROD.name='WTP ServerTools' + OR PROD.name='WTP Source Editing' + OR PROD.name='WTP Webservices' + OR PROD.name='WTP Website' + ) + ) + OR + ( + BUG.target_milestone like '$targetMilestoneJPA%' + AND BUG.target_milestone not like '$targetMilestoneJPA.%' + AND PROD.name='Dali JPA Tools' + ) + ) + ORDER BY + BUG.bug_id"; + + $dbc = new DBConnectionBugs(); + $dbh = $dbc->connect(); + $rs = mysql_query($sqlquery, $dbh); + + if(mysql_errno($dbh) > 0) { + echo "There was an error processing this request <br />". + $dbc->disconnect(); + exit; + } + $rowcount = 0; + while($myrow = mysql_fetch_assoc($rs)) + { + $rowcount++; + if ($debug) { + echo "Debug: myrow: " ; + echo print_r($myrow) ; + echo " <br />"; + } + echo "<tr>"; + echo "<td align='right'>".$rowcount."</td>"; + + echo "<td align='center'><a href=\"https://bugs.eclipse.org/bugs/show_bug.cgi?id=".$myrow['bug_id']."\">".$myrow['bug_id']."</a></td>"; + echo "<td>"; + $yes = ""; + $no = ""; + $pmc_approved = stripos($myrow['status_whiteboard'], 'PMC_approved'); + $sqlquery3 = "SELECT + flags.type_id, + flags.setter_id, + flags.status + FROM + flags + WHERE + (flags.setter_id='583' + OR flags.setter_id='550' + OR flags.setter_id='569' + OR flags.setter_id='12789' + OR flags.setter_id='17882' + OR flags.setter_id='18449' + OR flags.setter_id='26550') + AND flags.bug_id=".$myrow['bug_id']; + + $rs3 = mysql_query($sqlquery3, $dbh); + if(mysql_errno($dbh) <= 0) + { + $votes=0; + while($myrow3 = mysql_fetch_assoc($rs3)) { + if ($debug) { + echo "Debug: myrow3: " ; echo print_r($myrow3) ; echo " <br />"; + } + $sqlquery4 = "SELECT + flagtypes.name + FROM + flagtypes + WHERE + flagtypes.name='pmc_approved' + AND flagtypes.id=".$myrow3['type_id']; + + $rs4 = mysql_query($sqlquery4, $dbh); + while ($myrow4 = mysql_fetch_assoc($rs4)) { + if ($debug) { + echo "Debug: myrow4: " ; echo print_r($myrow4) ; echo " <br />"; + } + if($myrow3['setter_id']=="583") { + $realname="David Williams"; + } else if($myrow3['setter_id']=="550") { + $realname="Tim deBoer"; + } else if($myrow3['setter_id']=="12789") { + $realname="Naci Dai"; + } else if($myrow3['setter_id']=="17882") { + $realname="Neil Hauge"; + } else if($myrow3['setter_id']=="18449") { + $realname="Raghu Srinivasan"; + } else if ($myrow3['setter_id']=="26550") { + $realname="Kaloyan Raev"; + } else if ($myrow3['setter_id']=="569") { + $realname="Chuck Bridgham"; + } else $realname = "UNKNOWN!"; + + if ($myrow3['status']=="+") { + if (strpos($yes, $realname) === false) { + if ($votes > 0) { + $yes = $yes . "<br />" . $realname; + } + else { + $yes = $realname; + } + // don't increment, if already veto'd + if ($votes >= 0) { + $votes++; + } + } + } + else if ($pmc_approved === false && $myrow3['status']=="-") { + if ($vote < 0) { + $no = $no . "<br>" . $realname; + } + else { + $no = $realname; + } + $votes = -1; + break; + } + } + } + + if ($debug) { + echo "Debug: votes: $votes required: $nvotesRequired <br />"; + } + if ($votes < 0) { + echo "<font color=\"red\"><b>Deferred</b></font>"; + } + else if ($votes >= $nvotesRequired || (!($pmc_approved === false))) { + if (strlen($approvedList) > 0) { + $approvedList=$approvedList . "," . $myrow['bug_id']; + } else { + $approvedList=$myrow['bug_id']; + } + echo "<font color=\"green\"><b>Approved</b></font>"; + } + else if ($votes > 0) { + if (strlen($pendingList) > 0) { + $pendingList=$pendingList . "," . $myrow['bug_id']; + } else { + $pendingList=$myrow['bug_id']; + } + // echo "<font color=\"yellow\"><b>Tentatively Approved</b></font>"; + echo "<font color=\"yellow\"><b>Pending...</b></font>"; + } + else { + // $votes == 0 + if (strlen($pendingList) > 0) { + $pendingList=$pendingList . "," . $myrow['bug_id']; + } else { + $pendingList=$myrow['bug_id']; + } + echo "Pending..."; + } + } + else { + echo "Error occured on sqlquery3: . " . mysql_errno($dbh) . "<br />"; + echo "sqlquery: " . mysql_info($dbh) . "<br />"; + } + $rs3 = null; + + echo "</td>"; + + + //echo "<td>"; + //echo "bug status"; + //echo "</td>"; + + + $owner = $myrow['realname']; + if (strlen($owner) > 0) { + echo "<td>".$owner."</td>"; + } + else { + echo "<td>".$myrow['login_name']."</td>"; + } + echo "<td>".$yes." </td>"; + echo "<td>".$no." </td>"; + echo "</tr>"; + } + + $dbc->disconnect(); + $rs = null; + $dbh = null; + $dbc = null; + ?> +</table> + + + + + <?php + if (strlen($pendingList) > 0 || strlen($approvedList) > 0) { + echo "<p>You can use"; + if (strlen($pendingList) > 0) { + echo " this <a href=\"https://bugs.eclipse.org/bugs/buglist.cgi?bug_id=" . $pendingList ."\">pending list</a>"; + } + if (strlen($pendingList) > 0 && strlen($approvedList) > 0) { + echo " or "; + } + if (strlen($approvedList) > 0) { + echo " this <a href=\"https://bugs.eclipse.org/bugs/buglist.cgi?bug_id=" . $approvedList ."\">approved list</a>"; + } + echo " for above table to first list all the bugs in that table with the bugzilla web interface, and then narrow or sort the result how ever you would like.</p>"; + } + ?> +</body> +</html> |