com web/rmtools: basic fixes for vendor/name handling: client/bin/pickle_build_next.bat client/include/PickleE xt.php client/script/pickle.php

From: Date: Fri, 08 May 2015 21:44:30 +0000
Subject: com web/rmtools: basic fixes for vendor/name handling: client/bin/pickle_build_next.bat client/include/PickleE xt.php client/script/pickle.php
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-25987@lists.php.net to get a copy of this message
Commit: 7846591b76a38f5e4f2c4768de5baaa69e205602 Author: Anatol Belski <ab@php.net> Fri, 8 May 2015 23:44:30 +0200 Parents: 9ca036c6a2d925b7c3e034acfb201c066927cf3b Branches: master pecl_legacy Link: http://git.php.net/?p=web/rmtools.git;a=commitdiff;h=7846591b76a38f5e4f2c4768de5baaa69e205602 Log: basic fixes for vendor/name handling Changed paths: M client/bin/pickle_build_next.bat M client/include/PickleExt.php M client/script/pickle.php Diff: diff --git a/client/bin/pickle_build_next.bat b/client/bin/pickle_build_next.bat index ec70c25..f496de4 100644 --- a/client/bin/pickle_build_next.bat +++ b/client/bin/pickle_build_next.bat @@ -3,6 +3,10 @@ rem pick the next pickle pkg and pass to pickle_build_all.bat rem first try releases, if there aren't any, look for snaps +rem in contrary to pecl, the pickle build bot doesn't download +rem the releases itself, but get the job files created by the +rem peclweb job script + SET BAT_DIR=%~dp0 diff --git a/client/include/PickleExt.php b/client/include/PickleExt.php index a63b61d..b17b15d 100644 --- a/client/include/PickleExt.php +++ b/client/include/PickleExt.php @@ -5,6 +5,7 @@ namespace rmtools; class PickleExt { protected $name; + protected $vendor; protected $version; protected $pkg_uri; protected $lic_fnames = array(); @@ -39,7 +40,7 @@ class PickleExt if (!preg_match(",Package name\s+\|\s+([^\s]+)\s+\|,", $ret["log"], $m)) { throw new \Exception("Couldn't parse extension name"); } - $this->name = $m[1]; + $this->setupNames($m[1]); if (!preg_match(",Package version.+\|\s+([a-z0-9\.\-]+)\s+\|,i", $ret["log"], $m)) { throw new \Exception("Couldn't parse extension version"); @@ -52,6 +53,11 @@ class PickleExt return $this->name; } + public function getVendor() + { + return $this->vendor; + } + public function getVersion() { return $this->version; @@ -299,6 +305,16 @@ if (!function_exists('rmtools\combinations')) { return $ret; } -} + protected function setupNames($full_name) + { + if (preg_match(",(.+)/(.+),", $full_name, $m)) { + $this->name = $m[2]; + $this->vendor = $m[1]; + } else { + $this->name = $full_name; + $this->vendor = "novendor"; + } + } +} diff --git a/client/script/pickle.php b/client/script/pickle.php index f9301a1..6548701 100644 --- a/client/script/pickle.php +++ b/client/script/pickle.php @@ -125,7 +125,8 @@ foreach ($builds as $build_name) { if ($upload) { try { $root = $is_snap ? 'snaps' : 'releases'; - $target = '/' . $root . '/' . $ext->getName() . '/' . $ext->getVersion(); + $frag = is_null($ext->getVendor()) ? $ext->getName() : $ext->getVendor() . "/" . $ext->getName(); + $target = '/' . $root . '/' . $frag . '/' . $ext->getVersion(); $pkgs_to_upload = $build_error ? array() : array($pkg_file);

« previous php.webmaster (#25987) next »