Plugin cleanup

* Renamed plugins interface (granted backcompatibility for external plugins)
 * Updated copyright in plugin
 * Dockblock cleanup
This commit is contained in:
Marco Vito Moscaritolo 2015-04-28 08:50:09 +02:00
parent 590ab5fae5
commit b8443b8af7
43 changed files with 449 additions and 210 deletions

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -10,10 +10,13 @@
namespace PHPCI;
/**
* PHPCI Plugin Interface - Used by all build plugins.
* @author Dan Cryer <dan@block8.co.uk>
*/
interface Plugin
* PHPCI Plugin Interface - Used by all build plugins.
*
* @author Dan Cryer <dan@block8.co.uk>
* @deprecated 1.8 Only for backward compatibility
* @see PluginInterface
*/
interface Plugin extends PluginInterface
{
public function execute();
}

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,12 +12,20 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Atoum plugin, runs Atoum tests within a project.
* @package PHPCI\Plugin
* Atoum plugin
*
* Runs Atoum tests within a project.
*
* @author Sanpi <sanpi@homecomputing.fr>
* @author André Cianfarani <acianfa@gmail.com>
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Atoum implements \PHPCI\Plugin
class Atoum implements PluginInterface
{
private $args;
private $config;
@ -84,7 +92,7 @@ class Atoum implements \PHPCI\Plugin
$status = false;
$this->phpci->log(Lang::get('no_tests_performed'));
}
return $status;
}
}

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Behat BDD Plugin
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Behat implements \PHPCI\Plugin
class Behat implements PluginInterface
{
protected $phpci;
protected $build;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,15 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Campfire Plugin - Allows Campfire API actions.
* strongly based on icecube (http://labs.mimmin.com/icecube)
* Campfire Plugin
*
* Allows Campfire API actions, strongly based on icecube (http://labs.mimmin.com/icecube)
*
* @author André Cianfarani <acianfa@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Campfire implements \PHPCI\Plugin
class Campfire implements PluginInterface
{
private $url;
private $authToken;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -11,15 +11,19 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Clean build removes Composer related files and allows PHPCI users to clean up their build directory.
* Useful as a precursor to copy_build.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class CleanBuild implements \PHPCI\Plugin
* Clean build Plugin
*
* Removes Composer related files and allows PHPCI users to clean up their build
* directory. Useful as a precursor to copy_build.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class CleanBuild implements PluginInterface
{
protected $remove;
protected $phpci;
@ -57,7 +61,7 @@ class CleanBuild implements \PHPCI\Plugin
$this->phpci->executeCommand($cmd, $this->phpci->buildPath . 'composer.lock');
$success = true;
foreach ($this->remove as $file) {
$ok = $this->phpci->executeCommand($cmd, $this->phpci->buildPath . $file);

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -14,16 +14,21 @@ use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\Plugin\Util\TestResultParsers\Codeception as Parser;
use Psr\Log\LogLevel;
use PHPCI\PluginInterface;
use PHPCI\PluginZeroConfigInterface;
/**
* Codeception Plugin - Enables full acceptance, unit, and functional testing.
* Codeception Plugin
*
* Enables full acceptance, unit, and functional testing.
*
* @author Don Gilbert <don@dongilbert.net>
* @author Igor Timoshenko <contact@igortimoshenko.com>
* @author Adam Cooper <adam@networkpie.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Codeception implements \PHPCI\Plugin, \PHPCI\ZeroConfigPlugin
class Codeception implements PluginInterface, PluginZeroConfigInterface
{
/** @var string */
protected $args = '';

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -13,14 +13,19 @@ use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\Helper\Lang;
use PHPCI\PluginInterface;
use PHPCI\PluginZeroConfigInterface;
/**
* Composer Plugin - Provides access to Composer functionality.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Composer implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin
* Composer Plugin
*
* Provides access to Composer functionality.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Composer implements PluginInterface, PluginZeroConfigInterface
{
protected $directory;
protected $action;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\Helper\Lang;
use PHPCI\PluginInterface;
/**
* Copy Build Plugin - Copies the entire build to another directory.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class CopyBuild implements \PHPCI\Plugin
* Copy Build Plugin
*
* Copies the entire build to another directory.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class CopyBuild implements PluginInterface
{
protected $directory;
protected $ignore;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -14,14 +14,18 @@ use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\Helper\Email as EmailHelper;
use PHPCI\PluginInterface;
/**
* Email Plugin - Provides simple email capability to PHPCI.
* @author Steve Brazier <meadsteve@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Email implements \PHPCI\Plugin
* Email Plugin
*
* Provides simple email capability to PHPCI.
*
* @author Steve Brazier <meadsteve@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Email implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Environment variable plugin
* @author Steve Kamerman <stevekamerman@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Env implements \PHPCI\Plugin
* Environment variable plugin
*
* @author Steve Kamerman <stevekamerman@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Env implements PluginInterface
{
protected $phpci;
protected $build;
@ -52,7 +54,7 @@ class Env implements \PHPCI\Plugin
// This allows the standard syntax: "FOO: bar"
$env_var = "$key=$value";
}
if (!putenv($this->phpci->interpolate($env_var))) {
$success = false;
$this->phpci->logFailure(Lang::get('unable_to_set_env'));

View file

@ -0,0 +1,17 @@
<?php
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
namespace PHPCI\Plugin\Exception;
use PHPCI\Plugin\Exception\PluginException;
class PluginBinaryNotFoundException extends PluginException
{
}

View file

@ -0,0 +1,17 @@
<?php
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
namespace PHPCI\Plugin\Exception;
use Exception;
class PluginException extends Exception
{
}

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Git plugin.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Git implements \PHPCI\Plugin
class Git implements PluginInterface
{
protected $phpci;
protected $build;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -11,14 +11,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Grunt Plugin - Provides access to grunt functionality.
* @author Tobias Tom <t.tom@succont.de>
* @package PHPCI
* @subpackage Plugins
*/
class Grunt implements \PHPCI\Plugin
* Grunt Plugin
*
* Provides access to grunt functionality.
*
* @author Tobias Tom <t.tom@succont.de>
* @package PHPCI
* @subpackage Plugins
*/
class Grunt implements PluginInterface
{
protected $directory;
protected $task;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -11,14 +11,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Gulp Plugin - Provides access to gulp functionality.
* @author Dirk Heilig <dirk@heilig-online.com>
* @package PHPCI
* @subpackage Plugins
*/
class Gulp implements \PHPCI\Plugin
* Gulp Plugin
*
* Provides access to gulp functionality.
*
* @author Dirk Heilig <dirk@heilig-online.com>
* @package PHPCI
* @subpackage Plugins
*/
class Gulp implements PluginInterface
{
protected $directory;
protected $task;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Hipchat Plugin
* Hipchat Plugin.
*
* Send build notification in HipChat.
*
* @author James Inman <james@jamesinman.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class HipchatNotify implements \PHPCI\Plugin
class HipchatNotify implements PluginInterface
{
protected $authToken;
protected $color;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* IRC Plugin - Sends a notification to an IRC channel
* IRC Plugin
*
* Sends a notification to an IRC channel.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Irc implements \PHPCI\Plugin
class Irc implements PluginInterface
{
protected $phpci;
protected $build;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* PHP Lint Plugin - Provides access to PHP lint functionality.
* PHP Lint Plugin
*
* Provides access to PHP lint functionality.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Lint implements PHPCI\Plugin
class Lint implements PluginInterface
{
protected $directories;
protected $recursive = true;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -13,15 +13,19 @@ use PDO;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* MySQL Plugin - Provides access to a MySQL database.
* @author Dan Cryer <dan@block8.co.uk>
* @author Steve Kamerman <stevekamerman@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Mysql implements \PHPCI\Plugin
* MySQL Plugin
*
* Provides access to a MySQL database.
*
* @author Dan Cryer <dan@block8.co.uk>
* @author Steve Kamerman <stevekamerman@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Mysql implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -11,14 +11,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Create a ZIP or TAR.GZ archive of the entire build.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PackageBuild implements \PHPCI\Plugin
* Create a ZIP or TAR.GZ archive of the entire build.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PackageBuild implements PluginInterface
{
protected $directory;
protected $filename;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Pdepend Plugin - Allows Pdepend report
* Pdepend Plugin
*
* Allows Pdepend report
*
* @author Johan van der Heide <info@japaveh.nl>
* @package PHPCI
* @subpackage Plugins
*/
class Pdepend implements \PHPCI\Plugin
class Pdepend implements PluginInterface
{
protected $args;
/**

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,18 @@ namespace PHPCI\Plugin;
use PDO;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* PgSQL Plugin - Provides access to a PgSQL database.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Pgsql implements \PHPCI\Plugin
* PgSQL Plugin
*
* Provides access to a PgSQL database.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class Pgsql implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -1,16 +1,31 @@
<?php
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
namespace PHPCI\Plugin;
use Exception;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
use Phar as PHPPhar;
/**
* Phar Plugin
*
* Plugin to generate php package using phar format.
*
* @author Wanderson <wandersonwhcr@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Phar implements \PHPCI\Plugin
class Phar implements PluginInterface
{
/**
* PHPCI

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,15 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Phing Plugin - Provides access to Phing functionality.
* Phing Plugin
*
* Provides access to Phing functionality.
*
* @author Pavel Pavlov <ppavlov@alera.ru>
* @package PHPCI
* @subpackage Plugins
*/
class Phing implements \PHPCI\Plugin
class Phing implements PluginInterface
{
private $directory;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,19 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
use PHPCI\PluginZeroConfigInterface;
/**
* PHP Code Sniffer Plugin - Allows PHP Code Sniffer testing.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpCodeSniffer implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin
* PHP Code Sniffer Plugin
*
* Allows PHP Code Sniffer testing.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpCodeSniffer implements PluginInterface, PluginZeroConfigInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* PHP Copy / Paste Detector - Allows PHP Copy / Paste Detector testing.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpCpd implements \PHPCI\Plugin
* PHP Copy / Paste Detector.
*
* Allows PHP Copy / Paste Detector testing.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpCpd implements PluginInterface
{
protected $directory;
protected $args;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,18 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* PHP CS Fixer - Works with the PHP CS Fixer for testing coding standards.
* @author Gabriel Baker <gabriel@autonomicpilot.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpCsFixer implements \PHPCI\Plugin
* PHP CS Fixer
*
* Works with the PHP CS Fixer for testing coding standards.
*
* @author Gabriel Baker <gabriel@autonomicpilot.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpCsFixer implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,19 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
use PHPCI\PluginZeroConfigInterface;
/**
* PHP Docblock Checker Plugin - Checks your PHP files for appropriate uses of Docblocks
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpDocblockChecker implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin
* PHP Docblock Checker Plugin
*
* Checks your PHP files for appropriate uses of Docblocks.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpDocblockChecker implements PluginInterface, PluginZeroConfigInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,17 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
use PHPCI\PluginZeroConfigInterface;
/**
* PHP Loc - Allows PHP Copy / Lines of Code testing.
*
* @author Johan van der Heide <info@japaveh.nl>
* @package PHPCI
* @subpackage Plugins
*/
class PhpLoc implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin
class PhpLoc implements PluginInterface, PluginZeroConfigInterface
{
/**
* @var string

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,17 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
use PHPCI\PluginZeroConfigInterface;
/**
* PHP Mess Detector Plugin - Allows PHP Mess Detector testing.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpMessDetector implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin
* PHP Mess Detector Plugin - Allows PHP Mess Detector testing.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpMessDetector implements PluginInterface, PluginZeroConfigInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Php Parallel Lint Plugin - Provides access to PHP lint functionality.
* @author Vaclav Makes <vaclav@makes.cz>
* @package PHPCI
* @subpackage Plugins
*/
class PhpParallelLint implements \PHPCI\Plugin
* Php Parallel Lint Plugin - Provides access to PHP lint functionality.
*
* @author Vaclav Makes <vaclav@makes.cz>
* @package PHPCI
* @subpackage Plugins
*/
class PhpParallelLint implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,16 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* PHP Spec Plugin - Allows PHP Spec testing.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpSpec implements PHPCI\Plugin
* PHP Spec Plugin - Allows PHP Spec testing.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpSpec implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,16 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* PHPTAL Lint Plugin - Provides access to PHPTAL lint functionality.
*
* @author Stephen Ball <phpci@stephen.rebelinblue.com>
* @package PHPCI
* @subpackage Plugins
*/
class PhpTalLint implements PHPCI\Plugin
class PhpTalLint implements PluginInterface
{
protected $directories;
protected $recursive = true;
@ -222,7 +224,7 @@ class PhpTalLint implements PHPCI\Plugin
$row = str_replace('(use -i to include your custom modifier functions)', '', $row);
$message = str_replace($name . ': ', '', $row);
$parts = explode(' (line ', $message);
$message = trim($parts[0]);

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -13,14 +13,17 @@ use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\Plugin\Util\TapParser;
use PHPCI\PluginInterface;
use PHPCI\PluginZeroConfigInterface;
/**
* PHP Unit Plugin - Allows PHP Unit testing.
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpUnit implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin
* PHP Unit Plugin - Allows PHP Unit testing.
*
* @author Dan Cryer <dan@block8.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class PhpUnit implements PluginInterface, PluginZeroConfigInterface
{
protected $args;
protected $phpci;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Shell Plugin - Allows execute shell commands.
*
* @author Kinn Coelho Julião <kinncj@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Shell implements \PHPCI\Plugin
class Shell implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -1,7 +1,8 @@
<?php
/**
* PHPCI - Continuous Integration for PHP
* @copyright Copyright 2014, Block 8 Limited.
*
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -10,14 +11,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Slack Plugin
*
* @author Stephen Ball <phpci@stephen.rebelinblue.com>
* @package PHPCI
* @subpackage Plugins
*/
class SlackNotify implements \PHPCI\Plugin
class SlackNotify implements PluginInterface
{
private $webHook;
private $room;

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,14 +12,16 @@ namespace PHPCI\Plugin;
use PDO;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* SQLite Plugin Provides access to a SQLite database.
* @author Corpsee <poisoncorpsee@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Sqlite implements \PHPCI\Plugin
* SQLite Plugin Provides access to a SQLite database.
*
* @author Corpsee <poisoncorpsee@gmail.com>
* @package PHPCI
* @subpackage Plugins
*/
class Sqlite implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -12,15 +12,17 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
use PHPCI\PluginZeroConfigInterface;
/**
* Technical Debt Plugin - Checks for existence of "TODO", "FIXME", etc.
*
* @author James Inman <james@jamesinman.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class TechnicalDebt implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin
* Technical Debt Plugin - Checks for existence of "TODO", "FIXME", etc.
*
* @author James Inman <james@jamesinman.co.uk>
* @package PHPCI
* @subpackage Plugins
*/
class TechnicalDebt implements PluginInterface, PluginZeroConfigInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -11,14 +11,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* Wipe Plugin - Wipes a folder
* @author Claus Due <claus@namelesscoder.net>
* @package PHPCI
* @subpackage Plugins
*/
class Wipe implements \PHPCI\Plugin
* Wipe Plugin - Wipes a folder
*
* @author Claus Due <claus@namelesscoder.net>
* @package PHPCI
* @subpackage Plugins
*/
class Wipe implements PluginInterface
{
/**
* @var \PHPCI\Builder

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -11,14 +11,16 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
use PHPCI\PluginInterface;
/**
* XMPP Notification - Send notification for successful or failure build
* @author Alexandre Russo <dev.github@ange7.com>
* @package PHPCI
* @subpackage Plugins
*/
class XMPP implements \PHPCI\Plugin
* XMPP Notification - Send notification for successful or failure build
*
* @author Alexandre Russo <dev.github@ange7.com>
* @package PHPCI
* @subpackage Plugins
*/
class XMPP implements PluginInterface
{
protected $directory;
protected $phpci;

32
PHPCI/PluginInterface.php Normal file
View file

@ -0,0 +1,32 @@
<?php
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
namespace PHPCI;
use PHPCI\Plugin\Exception\PluginException;
use PHPCI\Plugin\Exception\PluginBinaryNotFoundException;
/**
* PHPCI Plugin Interface
*
* Interface used by all build plugins.
*
* @author Dan Cryer <dan@block8.co.uk>
*/
interface PluginInterface
{
/**
* Exeucte the plugin and return the execution success result.
*
* @return bool Plugin execution status result.
* @throws PluginException
* @throws PluginBinaryNotFoundException
*/
public function execute();
}

View file

@ -0,0 +1,30 @@
<?php
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
namespace PHPCI;
use PHPCI\Model\Build;
/**
* PHPCI Plugin Interface - Used by all build plugins.
*
* @author Dan Cryer <dan@block8.co.uk>
*/
interface PluginZeroConfigInterface
{
/**
* Execute the plugin withput requiring configuration.
*
* @param string $stage The current stage
* @param Builder $builder The plugin builder
* @param Build $build The current build
* @return bool Plugin execution result status.
*/
public static function canExecute($stage, Builder $builder, Build $build);
}

View file

@ -2,7 +2,7 @@
/**
* PHPCI - Continuous Integration for PHP
*
* @copyright Copyright 2014, Block 8 Limited.
* @copyright Copyright 2015, Block 8 Limited.
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link https://www.phptesting.org/
*/
@ -13,9 +13,12 @@ use PHPCI\Model\Build;
/**
* PHPCI Plugin Interface - Used by all build plugins.
* @author Dan Cryer <dan@block8.co.uk>
*
* @author Dan Cryer <dan@block8.co.uk>
* @deprecated 1.8 Only for backward compatibility
* @see PluginZeroConfigInterface
*/
interface ZeroConfigPlugin
interface ZeroConfigPlugin extends PluginZeroConfigInterface
{
public static function canExecute($stage, Builder $builder, Build $build);
}