com web/rmtools: basic integration in the closed circle: client/bin/pickle_build_next.bat client/include/PickleJ ob.php client/script/pickle.php
client/script/pickle_ ctl.php

From: Date: Tue, 12 May 2015 14:55:12 +0000
Subject: com web/rmtools: basic integration in the closed circle: client/bin/pickle_build_next.bat client/include/PickleJ ob.php client/script/pickle.php
client/script/pickle_ ctl.php
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-25978@lists.php.net to get a copy of this message
Commit: c86affbafd5fa7b55bba161f70a13b2c9abfcbbb Author: Anatol Belski <ab@php.net> Tue, 12 May 2015 16:55:12 +0200 Parents: 0d9375dff4ce3313c6e90a78ebfc5ad79b3c5f57 Branches: master pecl_legacy Link: http://git.php.net/?p=web/rmtools.git;a=commitdiff;h=c86affbafd5fa7b55bba161f70a13b2c9abfcbbb Log: basic integration in the closed circle - fetch json - create jobs - pick next job - build still a lot to fix yet, in rmtools, pickle and pickleweb Changed paths: M client/bin/pickle_build_next.bat M client/include/PickleJob.php M client/script/pickle.php M client/script/pickle_ctl.php Diff: diff --git a/client/bin/pickle_build_next.bat b/client/bin/pickle_build_next.bat index f496de4..98fdfad 100644 --- a/client/bin/pickle_build_next.bat +++ b/client/bin/pickle_build_next.bat @@ -10,40 +10,59 @@ rem peclweb job script SET BAT_DIR=%~dp0 -rem XXX besides the directories with tarballs, what comes is to implement the pickle..com communication +rem jobs first, sourceballs then (will be rare supposedly); +rem btw aggregate mail and co isn't implemented, just left as it'll maybe need to be -cd c:\pickle-in-pkg +cd c:\pickle-in-job for /r %%i in (*) do ( - call %BAT_DIR%pickle_build_all.bat --upload --aggregate-mail --package=%%i + call %BAT_DIR%pickle_build_all.bat --upload --aggregate-mail --job=%%i del %%i goto ONLY_ONE ) -cd c:\pickle-in-pkg-nomail + +cd c:\pickle-in-snap-job for /r %%i in (*) do ( - call %BAT_DIR%pickle_build_all.bat --upload --package=%%i + call %BAT_DIR%pickle_build_all.bat --upload --is-snap --aggregate-mail --job=%%i del %%i goto ONLY_ONE ) -cd c:\pickle-in-snap + +cd c:\pickle-in-pkg for /r %%i in (*) do ( - call %BAT_DIR%pickle_build_all.bat --upload --is-snap --aggregate-mail --package=%%i + call %BAT_DIR%pickle_build_all.bat --upload --aggregate-mail --package=%%i del %%i goto ONLY_ONE ) -cd c:\pickle-in-snap-nomail +rem cd c:\pickle-in-pkg-nomail + +rem for /r %%i in (*) do ( +rem call %BAT_DIR%pickle_build_all.bat --upload --package=%%i +rem del %%i +rem goto ONLY_ONE +rem ) + +cd c:\pickle-in-snap for /r %%i in (*) do ( - call %BAT_DIR%pickle_build_all.bat --upload --is-snap --package=%%i + call %BAT_DIR%pickle_build_all.bat --upload --is-snap --aggregate-mail --package=%%i del %%i goto ONLY_ONE ) +rem cd c:\pickle-in-snap-nomail + +rem for /r %%i in (*) do ( +rem call %BAT_DIR%pickle_build_all.bat --upload --is-snap --package=%%i +rem del %%i +rem goto ONLY_ONE +rem ) + :ONLY_ONE cd %BAT_DIR% echo . diff --git a/client/include/PickleJob.php b/client/include/PickleJob.php index 3b2b328..09f62b1 100644 --- a/client/include/PickleJob.php +++ b/client/include/PickleJob.php @@ -16,6 +16,20 @@ class PickleJob $this->job_dir = $job_dir; } + public static function loadData($path) + { + if (!file_exists($path)) { + throw new \Exception("Couldn't load job file '$path'"); + } + + $job_data = json_decode(file_get_contents($path), true); + if (!$job_data) { + throw new \Exception("Couldn't decode job data from '$path'"); + } + + return $job_data; + } + public function add(array $tag) { if (!isset($tag["support"]["source"])) { diff --git a/client/script/pickle.php b/client/script/pickle.php index 80a8b18..563c858 100644 --- a/client/script/pickle.php +++ b/client/script/pickle.php @@ -4,25 +4,28 @@ include __DIR__ . '/../data/config.php'; include __DIR__ . '/../include/PickleBranch.php'; include __DIR__ . '/../include/Tools.php'; include __DIR__ . '/../include/PickleExt.php'; +include __DIR__ . '/../include/PickleJob.php'; use rmtools as rm; -$longopts = array("config:", "package:", "upload", "is-snap", "first", "last"); +$longopts = array("config:", "package:", "job:", "upload", "is-snap", "first", "last"); $options = getopt(NULL, $longopts); $branch_name = isset($options['config']) ? $options['config'] : NULL; $pkg_path = isset($options['package']) ? $options['package'] : NULL; +$job_path = isset($options['job']) ? $options['job'] : NULL; $upload = isset($options['upload']); $is_snap = isset($options['is-snap']); $is_last_run = isset($options['last']); $is_first_run = isset($options['first']); -if (NULL == $branch_name || NULL == $pkg_path) { +if (NULL == $branch_name || (NULL == $pkg_path && NULL == $job_path)) { echo "Usage: pickle.php [OPTION] ..." . PHP_EOL; echo " --config Configuration file name without suffix, required." . PHP_EOL; - echo " --package Path to the PECL package, required." . PHP_EOL; + echo " --package Path to the package source, either this or --job required." . PHP_EOL; + echo " --job Path to the package source, either this or --package required." .. PHP_EOL; echo " --upload Upload the builds to the windows.php.net, optional." . PHP_EOL; echo " --is-snap We upload to releases by default, but this one goes to snaps, optional." . PHP_EOL; echo " --first This call is the first in the series for the same package file, optional." . PHP_EOL; @@ -37,6 +40,17 @@ if (NULL == $branch_name || NULL == $pkg_path) { echo "pecl --config=pickle70 --upload --package=some-1.0.0" . PHP_EOL; } +if (NULL == $pkg_path) { + /* TODO implement for PickleJob*/ + try { + $job_data = rm\PickleJob::loadData($job_path); + + $pkg_path = $job_data["src"]; + } catch (Exception $e) { + echo $e->getMessage(); + exit(3); + } +} $config_path = __DIR__ . '/../data/config/pickle/' . $branch_name . '.ini'; @@ -162,5 +176,15 @@ foreach ($builds as $build_name) { echo PHP_EOL; } +if ($is_last_run) { + if (file_exists($job_path)) { + unlink($job_path); + } + + if (file_exists($pkg_path)) { + unlink($pkg_path); + } +} + exit(0); diff --git a/client/script/pickle_ctl.php b/client/script/pickle_ctl.php index 7040eab..5ae8162 100644 --- a/client/script/pickle_ctl.php +++ b/client/script/pickle_ctl.php @@ -9,7 +9,7 @@ use rmtools as rm; $sync_host = "http://aa382bdf.ngrok.io"; $db_dir = __DIR__ . '/../data/pickle_db'; -$job_dir = 'c:\pickle-in-pkg'; +$job_dir = 'c:\pickle-in-job'; $longopts = array("help", "sync", "init-db");

« previous php.webmaster (#25978) next »