コード例 #1
0
ファイル: Pirum.php プロジェクト: pago/pantr
 public function addLatestVersion($dir)
 {
     $files = pantr::fileset()->name('*.tgz')->relative()->in($dir);
     $highest = array_reduce($files, function ($pkg1, $pkg2) {
         if (is_null($pkg1)) {
             return $pkg2;
         }
         list($pkgname, $a) = explode('-', basename($pkg1, '.tgz'));
         list($pkgname, $b) = explode('-', basename($pkg2, '.tgz'));
         return version_compare($a, $b, '<') ? $pkg1 : $pkg2;
     }, null);
     $this->add($dir . DIRECTORY_SEPARATOR . $highest);
 }
コード例 #2
0
ファイル: PHPUnit.php プロジェクト: pago/pantr
 public static function task($name, $desc, $files = null, $addVerboseOption = true)
 {
     if (is_null($files)) {
         $files = pantr::fileset()->name('*Test.php')->in('test');
     }
     $task = pantr::task($name, $desc);
     if ($addVerboseOption) {
         $task = $task->option('verbose')->shorthand('v')->desc('Output detailed test information');
     }
     return $task->run(function ($req = array()) use($files) {
         return PHPUnit::forAllTests($files)->run(isset($req['verbose']));
     });
 }
コード例 #3
0
ファイル: pantr.php プロジェクト: pago/pantr
 public static function rm($arg, $target_dir = '', $recursive = null)
 {
     if (!is_string($target_dir) && is_null($recursive)) {
         $recursive = $target_dir;
         $target_dir = '';
     }
     $files = array_reverse(pantr::_getFinderFromArg($arg, $target_dir));
     foreach ($files as $target) {
         if (!file_exists($target)) {
             pantr::writeAction('rm', $target . ' does not exist', pantr::INFO);
             return;
         }
         if (is_dir($target) && !is_link($target)) {
             // remove all files
             pantr::rm(pantr::fileset()->in($target));
             // and now all empty directories
             pantr::rm(pantr::finder(self::TYPE_DIR)->in($target));
             pantr::writeAction('rm', $target);
             rmdir($target);
         } else {
             pantr::writeAction('rm', $target);
             unlink($target);
         }
     }
 }