3 namespace pharext\Task
;
12 * Extract a package archive
14 class Extract
implements Task
22 * @param mixed $source archive location
24 public function __construct($source) {
25 if ($source instanceof Phar ||
$source instanceof PharData
) {
26 $this->source
= $source;
28 $this->source
= new PharData($source);
33 * @param bool $verbose
34 * @return \pharext\Tempdir
36 public function run($verbose = false) {
38 printf("Extracting %s ...\n", basename($this->source
->getPath()));
40 $dest = new Tempdir("extract");
41 $this->source
->extractTo($dest);