Sketch out unit/lint displaying on builds
Summary: Ref T8096. Show basic lint/unit info on builds. This is still pretty rough.
Test Plan: {F524839}
Reviewers: btrahan
Reviewed By: btrahan
Subscribers: epriestley
Maniphest Tasks: T8096
Differential Revision: https://secure.phabricator.com/D13383
This commit is contained in:
@@ -25,6 +25,8 @@ final class HarbormasterBuildableViewController
|
||||
->needBuildTargets(true)
|
||||
->execute();
|
||||
|
||||
list($lint, $unit) = $this->renderLintAndUnit($builds);
|
||||
|
||||
$buildable->attachBuilds($builds);
|
||||
$object = $buildable->getBuildableObject();
|
||||
|
||||
@@ -55,6 +57,8 @@ final class HarbormasterBuildableViewController
|
||||
array(
|
||||
$crumbs,
|
||||
$box,
|
||||
$lint,
|
||||
$unit,
|
||||
$build_list,
|
||||
$timeline,
|
||||
),
|
||||
@@ -251,4 +255,57 @@ final class HarbormasterBuildableViewController
|
||||
return $box;
|
||||
}
|
||||
|
||||
private function renderLintAndUnit(array $builds) {
|
||||
$viewer = $this->getViewer();
|
||||
|
||||
$targets = array();
|
||||
foreach ($builds as $build) {
|
||||
foreach ($build->getBuildTargets() as $target) {
|
||||
$targets[] = $target;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$targets) {
|
||||
return;
|
||||
}
|
||||
|
||||
$target_phids = mpull($targets, 'getPHID');
|
||||
|
||||
$lint_data = id(new HarbormasterBuildLintMessage())->loadAllWhere(
|
||||
'buildTargetPHID IN (%Ls) LIMIT 25',
|
||||
$target_phids);
|
||||
|
||||
$unit_data = id(new HarbormasterBuildUnitMessage())->loadAllWhere(
|
||||
'buildTargetPHID IN (%Ls) LIMIT 25',
|
||||
$target_phids);
|
||||
|
||||
if ($lint_data) {
|
||||
$lint_table = id(new HarbormasterLintPropertyView())
|
||||
->setUser($viewer)
|
||||
->setLintMessages($lint_data);
|
||||
|
||||
$lint = id(new PHUIObjectBoxView())
|
||||
->setHeaderText(pht('Lint Messages'))
|
||||
->appendChild($lint_table);
|
||||
} else {
|
||||
$lint = null;
|
||||
}
|
||||
|
||||
if ($unit_data) {
|
||||
$unit_table = id(new HarbormasterUnitPropertyView())
|
||||
->setUser($viewer)
|
||||
->setUnitMessages($unit_data);
|
||||
|
||||
$unit = id(new PHUIObjectBoxView())
|
||||
->setHeaderText(pht('Unit Tests'))
|
||||
->appendChild($unit_table);
|
||||
} else {
|
||||
$unit = null;
|
||||
}
|
||||
|
||||
return array($lint, $unit);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
final class HarbormasterLintPropertyView extends AphrontView {
|
||||
|
||||
private $pathURIMap;
|
||||
private $pathURIMap = array();
|
||||
private $lintMessages = array();
|
||||
|
||||
public function setPathURIMap(array $map) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
final class HarbormasterUnitPropertyView extends AphrontView {
|
||||
|
||||
private $pathURIMap;
|
||||
private $pathURIMap = array();
|
||||
private $unitMessages = array();
|
||||
|
||||
public function setPathURIMap(array $map) {
|
||||
|
||||
Reference in New Issue
Block a user