com web/rmtools: implemented named options: client/bin/pecl.bat client/script/pecl.php
| From: | Stephen A. Zarkos | Date: | Sun, 01 Sep 2013 14:20:57 +0000 |
| Subject: | com web/rmtools: implemented named options: client/bin/pecl.bat client/script/pecl.php | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-16718@lists.php.net to get a copy of this message | ||
Commit: bc8be5c7abe890872525ad71beba17df4b419a59
Author: Anatol Belski <ab@php.net> Sun, 1 Sep 2013 16:20:57 +0200
Parents: 4c20d33871ffe8fc16ea24124f69f077dc645a27
Branches: master
Link: http://git.php.net/?p=web/rmtools.git;a=commitdiff;h=bc8be5c7abe890872525ad71beba17df4b419a59
Log:
implemented named options
Changed paths:
M client/bin/pecl.bat
M client/script/pecl.php
Diff:
diff --git a/client/bin/pecl.bat b/client/bin/pecl.bat
index 0a26f0c..9049072 100644
--- a/client/bin/pecl.bat
+++ b/client/bin/pecl.bat
@@ -74,10 +74,10 @@ SET VC11_X64_SHELL=%comspec% /k ""C:\Program Files (x86)\Microsoft
Visual Studio
REM Run pecl.php
SET BISON_SIMPLE=c:\php-sdk\bin\bison.simple
rem XXX iterate the c:\pecl_in_pkg here and delete the packages after successful build
-c:\php-sdk\php\php.exe %BAT_DIR%\..\script\pecl.php pecl55_x64 C:\pecl_in_pkg\amqp-1.2.0.tgz
-rem c:\php-sdk\php\php.exe %BAT_DIR%\..\script\pecl.php pecl55_x86 C:\pecl_in_pkg\dio-0.0..7.tgz
-rem c:\php-sdk\php\php.exe %BAT_DIR%\..\script\pecl.php pecl54 C:\pecl_in_pkg\dio-0.0.7.tgz
-rem c:\php-sdk\php\php.exe %BAT_DIR%\..\script\pecl.php pecl53 C:\pecl_in_pkg\dio-0.0.7.tgz
+c:\php-sdk\php\php.exe %BAT_DIR%\..\script\pecl.php --config=pecl55_x64
--package=C:\pecl_in_pkg\amqp-1.2.0.tgz
+c:\php-sdk\php\php.exe %BAT_DIR%\..\script\pecl.php --config=pecl55_x86
--package=C:\pecl_in_pkg\amqp-1.2.0.tgz
+c:\php-sdk\php\php.exe %BAT_DIR%\..\script\pecl.php --config=pecl54
--package=C:\pecl_in_pkg\amqp-1.2.0.tgz
+c:\php-sdk\php\php.exe %BAT_DIR%\..\script\pecl.php --config=pecl53
--package=C:\pecl_in_pkg\amqp-1.2.0.tgz
SET PATH=%OLD_PATH%
echo Done.>> %LOG_FILE%
diff --git a/client/script/pecl.php b/client/script/pecl.php
index 27205f9..c9c5da4 100644
--- a/client/script/pecl.php
+++ b/client/script/pecl.php
@@ -6,16 +6,31 @@ include __DIR__ . '/../include/PeclExt.php';
use rmtools as rm;
-if ($argc < 3 || $argc > 4) {
- echo "Usage: snapshot <config name> </path/to/ext/tgz>\n";
- exit();
+
+$shortopts = NULL; //"c:p:mu";
+$longopts = array("config:", "package:", "mail", "upload");
+
+$options = getopt($shortopts, $longopts);
+
+$branch_name = isset($options['config']) ? $options['config'] : NULL;
+$ext_tgz = isset($options['package']) ? $options['package'] : NULL;
+$mail_maintainers = isset($options['mail']);
+$upload = isset($options['upload']);
+
+if (NULL == $branch_name || NULL == $ext_tgz) {
+ echo "Usage: pecl.php [OPTION] ...\n";
+ echo " --config Configuration file name without suffix, required.\n";
+ echo " --package Path to the PECL package, required.\n";
+ echo " --mail Send build logs to the extension maintainers, optional\n";
+ echo " --upload Upload the builds to the windows.hpp.net, optional\n";
+ echo "\n";
+ echo "Example: pecl --config=php55_x64 --package=c:\pecl_in_pkg\some-1.0.0.tgz\n";
+ echo "\n";
+ exit(0);
}
-$branch_name = $argv[1];
-$ext_tgz = $argv[2];
$config_path = __DIR__ . '/../data/config/pecl/' . $branch_name . '.ini';
-
$branch = new rm\PeclBranch($config_path);
$branch_name = $branch->config->getName();
@@ -39,6 +54,7 @@ foreach ($builds as $build_name) {
$log = rm\exec_single_log('mklink /J ' . $build_src_path . ' ' .
$build_src_path);
$build = $branch->createBuildInstance($build_name);
+ $build->setSourceDir($build_src_path);
try {
$ext = new rm\PeclExt($ext_tgz, $build);
@@ -63,10 +79,6 @@ foreach ($builds as $build_name) {
echo "Preparing to build '$ext_build_name'\n";
try {
- $build->setSourceDir($build_src_path);
-
- $ext->unpack();
- $ext->check();
$ext->putSourcesIntoBranch();
} catch (Exception $e) {