private function loadSource()
{
if ($this->args["source"]) {
$source = $this->localize($this->args["source"]);
if ($this->args["pecl"]) {
$this->source = new SourceDir\Pecl($source);
} elseif ($this->args["git"]) {
$this->source = new SourceDir\Git($source);
} elseif (is_file("{$source}/pharext_package.php")) {
$this->source = (include "{$source}/pharext_package.php");
} else {
$this->source = new SourceDir\Basic($source);
}
if (!$this->source instanceof SourceDir) {
throw new Exception("Unknown source dir {$source}");
}
foreach ($this->source->getPackageInfo() as $key => $val) {
/* do not override command line arguments */
if (!isset($this->args->{$key})) {
$this->args->{$key} = $val;
}
}
}
}