CliArgs::REQUIRED|CliArgs::SINGLE|CliArgs::REQARG],
["g", "git", "Use `git ls-tree` to determine file list",
CliArgs::OPTIONAL|CliArgs::SINGLE|CliArgs::NOARG],
+ ["b", "branch", "Checkout this tag/branch",
+ CliArgs::OPTIONAL|CliArgs::SINGLE|CliArgs::REQARG],
["p", "pecl", "Use PECL package.xml to determine file list, name and release",
CliArgs::OPTIONAL|CliArgs::SINGLE|CliArgs::NOARG],
["d", "dest", "Destination directory",
*/
private function download($source) {
if ($this->args->git) {
- $task = new Task\GitClone($source);
+ $task = new Task\GitClone($source, $this->args->branch);
} else {
/* print newline only once */
$done = false;
);
if ($bytes_pct == 1) {
$done = true;
- printf("\n");
+ $this->info("\n");
}
}
});
* @return string local source directory
*/
private function localize($source) {
- if (!stream_is_local($source)) {
+ if (!stream_is_local($source) || ($this->args->git && isset($this->args->branch))) {
$source = $this->download($source);
$this->cleanup[] = new Task\Cleanup($source);
}
*/
private function createPackage() {
try {
- $meta = array_merge($this->metadata(), [
- "date" => date("Y-m-d"),
+ $meta = array_merge(Metadata::all(), [
"name" => $this->args->name,
"release" => $this->args->release,
- "license" => @file_get_contents(current(glob($this->source->getBaseDir()."/LICENSE*"))),
+ "license" => $this->source->getLicense(),
"stub" => "pharext_installer.php",
"type" => $this->args->zend ? "zend_extension" : "extension",
]);