*/
private $source;
+ /**
+ * @var string
+ */
+ private $stub;
+
/**
* @var array
*/
/**
* @param SourceDir $source extension source directory
+ * @param string $stub path to phar stub
* @param array $meta phar meta data
* @param bool $readonly whether the stub has -dphar.readonly=1 set
*/
- public function __construct(SourceDir $source = null, array $meta = null, $readonly = true) {
+ public function __construct(SourceDir $source = null, $stub, array $meta = null, $readonly = true) {
$this->source = $source;
+ $this->stub = $stub;
$this->meta = $meta;
$this->readonly = $readonly;
}
if ($this->meta) {
$phar->setMetadata($this->meta);
- if (isset($this->meta["stub"])) {
- $phar->setDefaultStub($this->meta["stub"]);
- $phar->setStub("#!/usr/bin/php -dphar.readonly=" .
- intval($this->readonly) ."\n".
- $phar->getStub());
- }
+ }
+ if ($this->stub) {
+ (new PharStub($phar, $this->stub))->run($verbose);
}
$phar->buildFromIterator((new Task\BundleGenerator)->run());