diff --git a/composer.json b/composer.json index 3d2072b586..3b76fdef8a 100644 --- a/composer.json +++ b/composer.json @@ -43,7 +43,8 @@ "pocketmine/callback-validator": "^1.0.1", "adhocore/json-comment": "^0.1.0", "particle/validator": "^2.3", - "netresearch/jsonmapper": "^2.0" + "netresearch/jsonmapper": "^2.0", + "ocramius/package-versions": "^1.5" }, "require-dev": { "phpstan/phpstan": "^0.12.14", diff --git a/composer.lock b/composer.lock index 965fe8c564..6945d4f968 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c366a008cb4ae94f92bea5e819d2426f", + "content-hash": "e13d435f1db3b942c95629a81677de51", "packages": [ { "name": "adhocore/json-comment", @@ -193,16 +193,16 @@ }, { "name": "netresearch/jsonmapper", - "version": "v2.0.0", + "version": "v2.1.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "e245890383c3ed38b6d202ee373c23ccfebc0f54" + "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e245890383c3ed38b6d202ee373c23ccfebc0f54", - "reference": "e245890383c3ed38b6d202ee373c23ccfebc0f54", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e0f1e33a71587aca81be5cffbb9746510e1fe04e", + "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e", "shasum": "" }, "require": { @@ -235,7 +235,58 @@ } ], "description": "Map nested JSON structures onto PHP classes", - "time": "2020-03-04T17:23:33+00:00" + "time": "2020-04-16T18:48:43+00:00" + }, + { + "name": "ocramius/package-versions", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/Ocramius/PackageVersions.git", + "reference": "1d32342b8c1eb27353c8887c366147b4c2da673c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/1d32342b8c1eb27353c8887c366147b4c2da673c", + "reference": "1d32342b8c1eb27353c8887c366147b4c2da673c", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0.0", + "php": "^7.3.0" + }, + "require-dev": { + "composer/composer": "^1.8.6", + "doctrine/coding-standard": "^6.0.0", + "ext-zip": "*", + "infection/infection": "^0.13.4", + "phpunit/phpunit": "^8.2.5", + "vimeo/psalm": "^3.4.9" + }, + "type": "composer-plugin", + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "PackageVersions\\": "src/PackageVersions" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "time": "2019-07-17T15:49:50+00:00" }, { "name": "particle/validator", @@ -567,12 +618,12 @@ "source": { "type": "git", "url": "https://github.com/pmmp/RakLib.git", - "reference": "1911022465f2563668d79d8a7481856076ef046f" + "reference": "832ee61c53df9df90ec12b7d57dfd97c022f5382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pmmp/RakLib/zipball/1911022465f2563668d79d8a7481856076ef046f", - "reference": "1911022465f2563668d79d8a7481856076ef046f", + "url": "https://api.github.com/repos/pmmp/RakLib/zipball/832ee61c53df9df90ec12b7d57dfd97c022f5382", + "reference": "832ee61c53df9df90ec12b7d57dfd97c022f5382", "shasum": "" }, "require": { @@ -598,7 +649,7 @@ "GPL-3.0" ], "description": "A RakNet server implementation written in PHP", - "time": "2020-04-04T22:26:02+00:00" + "time": "2020-04-08T18:43:23+00:00" }, { "name": "pocketmine/snooze", @@ -778,21 +829,21 @@ }, { "name": "phpstan/phpstan-phpunit", - "version": "0.12.6", + "version": "0.12.8", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "26394996368b6d033d012547d3197f4e07e23021" + "reference": "7232c17e2493dc598173da784477ce0afb2c4e0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/26394996368b6d033d012547d3197f4e07e23021", - "reference": "26394996368b6d033d012547d3197f4e07e23021", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/7232c17e2493dc598173da784477ce0afb2c4e0e", + "reference": "7232c17e2493dc598173da784477ce0afb2c4e0e", "shasum": "" }, "require": { "php": "~7.1", - "phpstan/phpstan": "^0.12.4" + "phpstan/phpstan": "^0.12.6" }, "conflict": { "phpunit/phpunit": "<7.0" @@ -830,7 +881,7 @@ "MIT" ], "description": "PHPUnit extensions and rules for PHPStan", - "time": "2020-01-10T12:07:21+00:00" + "time": "2020-04-17T08:04:10+00:00" }, { "name": "phpstan/phpstan-strict-rules", diff --git a/src/CrashDump.php b/src/CrashDump.php index c7872be886..632cf59bc0 100644 --- a/src/CrashDump.php +++ b/src/CrashDump.php @@ -23,13 +23,13 @@ declare(strict_types=1); namespace pocketmine; +use PackageVersions\Versions; use pocketmine\network\mcpe\protocol\ProtocolInfo; use pocketmine\plugin\PluginBase; use pocketmine\plugin\PluginManager; use pocketmine\utils\Filesystem; use pocketmine\utils\Utils; use pocketmine\utils\VersionString; -use raklib\RakLib; use function base64_encode; use function date; use function error_get_last; @@ -74,7 +74,7 @@ class CrashDump{ * having their content changed, version format changing, etc. * It is not necessary to increase this when adding new fields. */ - private const FORMAT_VERSION = 2; + private const FORMAT_VERSION = 3; private const PLUGIN_INVOLVEMENT_NONE = "none"; private const PLUGIN_INVOLVEMENT_DIRECT = "direct"; @@ -315,18 +315,22 @@ class CrashDump{ $this->data["general"]["is_dev"] = \pocketmine\IS_DEVELOPMENT_BUILD; $this->data["general"]["protocol"] = ProtocolInfo::CURRENT_PROTOCOL; $this->data["general"]["git"] = \pocketmine\GIT_COMMIT; - $this->data["general"]["raklib"] = RakLib::VERSION; $this->data["general"]["uname"] = php_uname("a"); $this->data["general"]["php"] = phpversion(); $this->data["general"]["zend"] = zend_version(); $this->data["general"]["php_os"] = PHP_OS; $this->data["general"]["os"] = Utils::getOS(); + $this->data["general"]["composer_libraries"] = Versions::VERSIONS; $this->addLine($this->server->getName() . " version: " . $version->getFullVersion(true) . " [Protocol " . ProtocolInfo::CURRENT_PROTOCOL . "]"); $this->addLine("Git commit: " . \pocketmine\GIT_COMMIT); $this->addLine("uname -a: " . php_uname("a")); $this->addLine("PHP Version: " . phpversion()); $this->addLine("Zend version: " . zend_version()); $this->addLine("OS : " . PHP_OS . ", " . Utils::getOS()); + $this->addLine("Composer libraries: "); + foreach(Versions::VERSIONS as $library => $libraryVersion){ + $this->addLine("- $library $libraryVersion"); + } } /**