diff --git a/PHPCI/Model/Build.php b/PHPCI/Model/Build.php index a8bfd683..859c069b 100644 --- a/PHPCI/Model/Build.php +++ b/PHPCI/Model/Build.php @@ -168,7 +168,7 @@ class Build extends BuildBase } foreach (array('setup', 'test', 'complete', 'success', 'failure') as $stage) { - if ($className::canExecute($stage, $builder, $this)) { + if ($className::canRunZeroConfig($stage, $builder, $this)) { $config[$stage][$className] = array( 'zero_config' => true ); diff --git a/PHPCI/Plugin.php b/PHPCI/Plugin.php index 23a2bbda..40df598c 100644 --- a/PHPCI/Plugin.php +++ b/PHPCI/Plugin.php @@ -9,12 +9,16 @@ namespace PHPCI; +use PHPCI\Builder; +use PHPCI\Model\Build; + /** * PHPCI Plugin Interface - Used by all build plugins. * @author Dan Cryer */ interface Plugin { + public static function canRunZeroConfig($stage, Builder $builder, Build $build); public function isAllowedInStage($stage); public function execute(); } diff --git a/PHPCI/Plugin/AbstractPlugin.php b/PHPCI/Plugin/AbstractPlugin.php index fd78d00b..d9bc693e 100644 --- a/PHPCI/Plugin/AbstractPlugin.php +++ b/PHPCI/Plugin/AbstractPlugin.php @@ -2,6 +2,8 @@ namespace PHPCI\Plugin; +use PHPCI\Builder; +use PHPCI\Model\Build; use PHPCI\Plugin; /** @@ -12,7 +14,7 @@ abstract class AbstractPlugin implements Plugin { /** * Define the stages that this plugin is allowed to run in. - * @see AbstractPlugin::canExecute() + * @see AbstractPlugin::isAllowedInStage() * @var array */ protected $allowedStages = array('setup', 'test', 'complete', 'success', 'failure', 'fixed', 'broken'); @@ -27,6 +29,19 @@ abstract class AbstractPlugin implements Plugin return in_array($stage, $this->allowedStages); } + /** + * Check whether or not this plugin can execute in zero config mode. + * Many plugins will check if their required config files can be found here. + * @param string $stage + * @param Builder $builder + * @param Build $build + * @return bool + */ + public static function canRunZeroConfig($stage, Builder $builder, Build $build) + { + return false; + } + /** * Execute the plugin and return its success or failure. * @return bool diff --git a/PHPCI/Plugin/Codeception.php b/PHPCI/Plugin/Codeception.php index f3eca9e5..5d99a9d6 100644 --- a/PHPCI/Plugin/Codeception.php +++ b/PHPCI/Plugin/Codeception.php @@ -56,7 +56,7 @@ class Codeception extends AbstractPlugin implements ZeroConfigPlugin * @param Build $build * @return bool */ - public static function canExecute($stage, Builder $builder, Build $build) + public static function canRunZeroConfig($stage, Builder $builder, Build $build) { return $stage == 'test' && !is_null(self::findConfigFile($builder->buildPath)); } diff --git a/PHPCI/Plugin/Composer.php b/PHPCI/Plugin/Composer.php index 12938868..0d4b57de 100644 --- a/PHPCI/Plugin/Composer.php +++ b/PHPCI/Plugin/Composer.php @@ -37,7 +37,7 @@ class Composer extends AbstractPlugin implements ZeroConfigPlugin * @param Build $build * @return bool */ - public static function canExecute($stage, Builder $builder, Build $build) + public static function canRunZeroConfig($stage, Builder $builder, Build $build) { $path = $builder->buildPath . DIRECTORY_SEPARATOR . 'composer.json'; diff --git a/PHPCI/Plugin/PhpCodeSniffer.php b/PHPCI/Plugin/PhpCodeSniffer.php index 8d072060..14da4cee 100644 --- a/PHPCI/Plugin/PhpCodeSniffer.php +++ b/PHPCI/Plugin/PhpCodeSniffer.php @@ -86,7 +86,7 @@ class PhpCodeSniffer extends AbstractPlugin implements ZeroConfigPlugin * @param Build $build * @return bool */ - public static function canExecute($stage, Builder $builder, Build $build) + public static function canRunZeroConfig($stage, Builder $builder, Build $build) { if ($stage == 'test') { return true; diff --git a/PHPCI/Plugin/PhpDocblockChecker.php b/PHPCI/Plugin/PhpDocblockChecker.php index 7c20e013..5993bcae 100644 --- a/PHPCI/Plugin/PhpDocblockChecker.php +++ b/PHPCI/Plugin/PhpDocblockChecker.php @@ -58,7 +58,7 @@ class PhpDocblockChecker extends AbstractPlugin implements ZeroConfigPlugin * @param Build $build * @return bool */ - public static function canExecute($stage, Builder $builder, Build $build) + public static function canRunZeroConfig($stage, Builder $builder, Build $build) { if ($stage == 'test') { return true; diff --git a/PHPCI/Plugin/PhpLoc.php b/PHPCI/Plugin/PhpLoc.php index c67c88f9..6c3293ac 100644 --- a/PHPCI/Plugin/PhpLoc.php +++ b/PHPCI/Plugin/PhpLoc.php @@ -38,7 +38,7 @@ class PhpLoc extends AbstractPlugin implements ZeroConfigPlugin * @param Build $build * @return bool */ - public static function canExecute($stage, Builder $builder, Build $build) + public static function canRunZeroConfig($stage, Builder $builder, Build $build) { if ($stage == 'test') { return true; diff --git a/PHPCI/Plugin/PhpMessDetector.php b/PHPCI/Plugin/PhpMessDetector.php index 11895f55..cf22b664 100644 --- a/PHPCI/Plugin/PhpMessDetector.php +++ b/PHPCI/Plugin/PhpMessDetector.php @@ -68,7 +68,7 @@ class PhpMessDetector extends AbstractPlugin implements ZeroConfigPlugin * @param Build $build * @return bool */ - public static function canExecute($stage, Builder $builder, Build $build) + public static function canRunZeroConfig($stage, Builder $builder, Build $build) { if ($stage == 'test') { return true; diff --git a/PHPCI/Plugin/PhpUnit.php b/PHPCI/Plugin/PhpUnit.php index 6923915c..199dc4ec 100644 --- a/PHPCI/Plugin/PhpUnit.php +++ b/PHPCI/Plugin/PhpUnit.php @@ -62,7 +62,7 @@ class PhpUnit extends AbstractPlugin implements ZeroConfigPlugin * @param Build $build * @return bool */ - public static function canExecute($stage, Builder $builder, Build $build) + public static function canRunZeroConfig($stage, Builder $builder, Build $build) { if ($stage == 'test' && !is_null(self::findConfigFile($builder->buildPath))) { return true; diff --git a/PHPCI/Plugin/TechnicalDebt.php b/PHPCI/Plugin/TechnicalDebt.php index e22d213e..15a5dc91 100755 --- a/PHPCI/Plugin/TechnicalDebt.php +++ b/PHPCI/Plugin/TechnicalDebt.php @@ -73,7 +73,7 @@ class TechnicalDebt extends AbstractPlugin implements ZeroConfigPlugin * @param Build $build * @return bool */ - public static function canExecute($stage, Builder $builder, Build $build) + public static function canRunZeroConfig($stage, Builder $builder, Build $build) { if ($stage == 'test') { return true; diff --git a/PHPCI/ZeroConfigPlugin.php b/PHPCI/ZeroConfigPlugin.php index 73f7746c..e0b1c5a6 100644 --- a/PHPCI/ZeroConfigPlugin.php +++ b/PHPCI/ZeroConfigPlugin.php @@ -17,5 +17,5 @@ use PHPCI\Model\Build; */ interface ZeroConfigPlugin { - public static function canExecute($stage, Builder $builder, Build $build); + public static function canRunZeroConfig($stage, Builder $builder, Build $build); }