phpci/PHPCI/Model/Build.php

81 lines
1.6 KiB
PHP
Raw Normal View History

2013-05-03 17:02:53 +02:00
<?php
/**
2013-05-16 03:16:56 +02:00
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2013, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link http://www.phptesting.org/
*/
2013-05-03 17:02:53 +02:00
namespace PHPCI\Model;
2013-10-10 02:01:06 +02:00
use b8\Store\Factory;
use PHPCI\Model\Base\BuildBase;
2013-05-03 17:02:53 +02:00
/**
* Build Model
* @uses PHPCI\Model\Base\BuildBase
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Core
*/
2013-05-03 17:02:53 +02:00
class Build extends BuildBase
{
2013-10-10 02:01:06 +02:00
const STATUS_NEW = 0;
const STATUS_RUNNING = 1;
const STATUS_SUCCESS = 2;
const STATUS_FAILED = 3;
public $currentBuildPath = null;
/**
* Get link to commit from another source (i.e. Github)
*/
public function getCommitLink()
{
return '#';
}
2013-05-10 13:28:43 +02:00
/**
* @return string
*/
public function getProjectTitle()
{
$project = $this->getProject();
return $project ? $project->getTitle() : "";
}
/**
* Get link to branch from another source (i.e. Github)
*/
public function getBranchLink()
{
return '#';
}
2013-05-14 17:58:14 +02:00
/**
* Send status updates to any relevant third parties (i.e. Github)
*/
public function sendStatusPostback()
{
return;
}
2013-05-14 18:49:39 +02:00
/**
2013-10-10 02:01:06 +02:00
* Store build metadata
*/
public function storeMeta($key, $value)
{
$value = json_encode($value);
Factory::getStore('Build')->setMeta($this->getProjectId(), $this->getId(), $key, $value);
}
/**
* Is this build successful?
*/
public function isSuccessful()
{
2013-10-10 02:01:06 +02:00
return ($this->getStatus() === self::STATUS_SUCCESS);
}
2013-05-03 17:02:53 +02:00
}