From 0003ada3ff4de9114b5a8b04f5362f549d45c8ed Mon Sep 17 00:00:00 2001 From: Daniil Gentili Date: Sat, 18 Jan 2020 19:05:43 +0100 Subject: [PATCH] Report only upgraded packages --- tools/phar.php | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/tools/phar.php b/tools/phar.php index 07106e93..9bbda48e 100644 --- a/tools/phar.php +++ b/tools/phar.php @@ -82,18 +82,35 @@ function ___install_madeline() $phar = \file_get_contents(\sprintf($phar_template, $release_branch)); if ($phar) { + $extractVersions = static function () { + if (!file_exists('phar://madeline.phar/vendor/composer/installed.json')) { + return array(); + } + $composer = \json_decode(\file_get_contents('phar://madeline.phar/vendor/composer/installed.json'), true); + $packages = array(); + foreach ($composer as $dep) { + $packages[$dep['name']] = $dep['version_normalized']; + } + return $packages; + }; + $previous = $extractVersions(); + $previous['danog/madelineproto'] = 'old'; + \file_put_contents('madeline.phar', $phar); \file_put_contents('madeline.phar.version', $release); - - $composer = \json_decode(\file_get_contents('phar://madeline.phar/vendor/composer/installed.json'), true); - $postData = ['downloads' => []]; - foreach ($composer as $dep) { + $current = $extractVersions(); + $postData = array('downloads' => array()); + foreach ($current as $name => $version) { + if (isset($previous[$name]) && $previous[$name] === $version) { + continue; + } $postData['downloads'][] = [ - 'name' => $dep['name'], - 'version' => $dep['version_normalized'] + 'name' => $name, + 'version' => $version ]; } + $opts = ['http' => [ 'method' => 'POST',