* @package PHPCI * @subpackage Plugins */ class Wipe implements Plugin { /** * @var \PHPCensor\Builder */ protected $phpci; /** * @var \PHPCensor\Model\Build */ protected $build; protected $directory; /** * Set up the plugin, configure options, etc. * @param Builder $phpci * @param Build $build * @param array $options */ public function __construct(Builder $phpci, Build $build, array $options = []) { $path = $phpci->buildPath; $this->phpci = $phpci; $this->build = $build; $this->directory = isset($options['directory']) ? $this->phpci->interpolate($options['directory']) : $path; $this->phpci->logDebug('Plugin options: ' . json_encode($options)); } /** * Wipes a directory's contents */ public function execute() { $build = $this->phpci->buildPath; if ($this->directory == $build || empty($this->directory)) { return true; } if (is_dir($this->directory)) { $cmd = 'rm -Rf "%s"'; if (IS_WIN) { $cmd = 'rmdir /S /Q "%s"'; } return $this->phpci->executeCommand($cmd, $this->directory); } return true; } }