From 80c673af87b9995fa7f79774ce3b2106683a771f Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Tue, 5 Nov 2019 19:50:17 +0100 Subject: [PATCH 01/34] Discontinue support for PHP 5.x --- .travis.yml | 8 ++------ README.md | 6 +++--- travis.php.ini | 1 - 3 files changed, 5 insertions(+), 10 deletions(-) delete mode 100644 travis.php.ini diff --git a/.travis.yml b/.travis.yml index b3bb65b..a46991c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,23 +1,19 @@ language: php -dist: precise php: - - '5.3' - - '5.4' - - '5.5' - - '5.6' - '7.0' - '7.1' - '7.2' - '7.3' + - '7.4snapshot' - nightly matrix: allow_failures: - php: nightly + - php: '7.4snapshot' fast_finish: true before_script: - - phpenv config-add travis.php.ini - composer update --prefer-dist script: - vendor/bin/phpunit diff --git a/README.md b/README.md index 0cb635c..7c7e67b 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,9 @@ to add or override services. Nevertheless, implementations MUST NOT assume that the same container returned from `setup()`. ### Requirements -This package officially supports PHP 5.3 until PHP 7.3. Theoretically, it should work on higher versions of PHP just -the same, at the very least until PHP 8. However, it does not appear possible to build on PHP 5.3 and 7.4 at the same -time, because there seems to be no distro which has both of those in its toolchain. +- PHP: <= 7.0 | < 7.4 + + Officially supports at least up to php 7.3.x. Should be compatible with PHP 7.x. [Dhii]: https://github.com/Dhii/dhii diff --git a/travis.php.ini b/travis.php.ini deleted file mode 100644 index 90b6eff..0000000 --- a/travis.php.ini +++ /dev/null @@ -1 +0,0 @@ -memory_limit = 2048M \ No newline at end of file From 8963a33687b4284a547e2a581a38b60c44bc375c Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Tue, 5 Nov 2019 20:01:20 +0100 Subject: [PATCH 02/34] Added basic Docker setup for PHP 7.0 --- .env.example | 1 + docker-compose.yml | 8 ++++++++ docker/Dockerfile_php | 6 ++++++ 3 files changed, 15 insertions(+) create mode 100644 .env.example create mode 100644 docker-compose.yml create mode 100644 docker/Dockerfile_php diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..915a6af --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +BASE_PATH=./ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..175ffe7 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +version: '3.1' +services: + php: + build: + context: docker + dockerfile: Dockerfile_php + volumes: + - ${BASE_PATH}:/srv/ diff --git a/docker/Dockerfile_php b/docker/Dockerfile_php new file mode 100644 index 0000000..4f9ea27 --- /dev/null +++ b/docker/Dockerfile_php @@ -0,0 +1,6 @@ +FROM dockette/php:7.0 + +RUN apt-get update \ + && apt-get -y install software-properties-common dirmngr apt-transport-https lsb-release ca-certificates \ + && add-apt-repository -y ppa:ondrej/php \ + && apt-get install -y php7.0-xdebug From 852b45066395ce3c0ac161524e39e36073af7ab2 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Tue, 5 Nov 2019 20:28:16 +0100 Subject: [PATCH 03/34] Removed NetBeans configs --- nbproject/project.properties | 27 --------------------------- nbproject/project.xml | 9 --------- 2 files changed, 36 deletions(-) delete mode 100644 nbproject/project.properties delete mode 100644 nbproject/project.xml diff --git a/nbproject/project.properties b/nbproject/project.properties deleted file mode 100644 index f00d07b..0000000 --- a/nbproject/project.properties +++ /dev/null @@ -1,27 +0,0 @@ -auxiliary.org-netbeans-modules-php-phpunit.bootstrap_2e_create_2e_tests=false -auxiliary.org-netbeans-modules-php-phpunit.bootstrap_2e_enabled=true -auxiliary.org-netbeans-modules-php-phpunit.bootstrap_2e_path=test/bootstrap.php -auxiliary.org-netbeans-modules-php-phpunit.configuration_2e_enabled=true -auxiliary.org-netbeans-modules-php-phpunit.configuration_2e_path=build.xml -auxiliary.org-netbeans-modules-php-phpunit.customSuite_2e_enabled=false -auxiliary.org-netbeans-modules-php-phpunit.customSuite_2e_path= -auxiliary.org-netbeans-modules-php-phpunit.phpUnit_2e_enabled=false -auxiliary.org-netbeans-modules-php-phpunit.phpUnit_2e_path= -auxiliary.org-netbeans-modules-php-phpunit.test_2e_groups_2e_ask=false -auxiliary.org-netbeans-modules-php-phpunit.test_2e_run_2e_all=false -auxiliary.org-netbeans-modules-php-phpunit.test_2e_run_2e_phpunit_2e_only=true -file.reference.module-interface-vendor=vendor -file.reference.test-functional=test/functional -file.reference.test-unit=test/unit -include.path=\ - ${php.global.include.path}:\ - ${file.reference.module-interface-vendor} -php.version=PHP_53 -source.encoding=UTF-8 -src.dir=src -tags.asp=false -tags.short=false -test.src.dir=${file.reference.test-functional} -test.src.dir2=${file.reference.test-unit} -testing.providers=PhpUnit -web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml deleted file mode 100644 index d18ecdd..0000000 --- a/nbproject/project.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - org.netbeans.modules.php.project - - - dhii - module-interface - - - From 6fc1c2b8d66efbd0d16e1eab49327013b2a7d97f Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Tue, 5 Nov 2019 20:28:49 +0100 Subject: [PATCH 04/34] Added PHPStorm configs --- .idea/module-interface.iml | 1 - .idea/php.xml | 107 +++++++++++++++++++++++++++++++++++++ .idea/remote-mappings.xml | 16 ++++++ 3 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 .idea/remote-mappings.xml diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index e0223de..ce8442b 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -5,7 +5,6 @@ - diff --git a/.idea/php.xml b/.idea/php.xml index 6f9f274..415d99b 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -1,5 +1,10 @@ + + + + + @@ -44,6 +49,108 @@ + + + + + + + + + + + + + + + + + + /etc/php/7.0/cli/conf.d/10-mysqlnd.ini, /etc/php/7.0/cli/conf.d/10-opcache.ini, /etc/php/7.0/cli/conf.d/10-pdo.ini, /etc/php/7.0/cli/conf.d/15-xml.ini, /etc/php/7.0/cli/conf.d/20-apcu.ini, /etc/php/7.0/cli/conf.d/20-bcmath.ini, /etc/php/7.0/cli/conf.d/20-bz2.ini, /etc/php/7.0/cli/conf.d/20-calendar.ini, /etc/php/7.0/cli/conf.d/20-ctype.ini, /etc/php/7.0/cli/conf.d/20-curl.ini, /etc/php/7.0/cli/conf.d/20-dom.ini, /etc/php/7.0/cli/conf.d/20-exif.ini, /etc/php/7.0/cli/conf.d/20-fileinfo.ini, /etc/php/7.0/cli/conf.d/20-ftp.ini, /etc/php/7.0/cli/conf.d/20-gd.ini, /etc/php/7.0/cli/conf.d/20-geoip.ini, /etc/php/7.0/cli/conf.d/20-gettext.ini, /etc/php/7.0/cli/conf.d/20-iconv.ini, /etc/php/7.0/cli/conf.d/20-igbinary.ini, /etc/php/7.0/cli/conf.d/20-imagick.ini, /etc/php/7.0/cli/conf.d/20-imap.ini, /etc/php/7.0/cli/conf.d/20-intl.ini, /etc/php/7.0/cli/conf.d/20-json.ini, /etc/php/7.0/cli/conf.d/20-ldap.ini, /etc/php/7.0/cli/conf.d/20-mbstring.ini, /etc/php/7.0/cli/conf.d/20-mcrypt.ini, /etc/php/7.0/cli/conf.d/20-mongodb.ini, /etc/php/7.0/cli/conf.d/20-msgpack.ini, /etc/php/7.0/cli/conf.d/20-mysqli.ini, /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.0/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.0/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.0/cli/conf.d/20-pgsql.ini, /etc/php/7.0/cli/conf.d/20-phar.ini, /etc/php/7.0/cli/conf.d/20-posix.ini, /etc/php/7.0/cli/conf.d/20-readline.ini, /etc/php/7.0/cli/conf.d/20-redis.ini, /etc/php/7.0/cli/conf.d/20-shmop.ini, /etc/php/7.0/cli/conf.d/20-simplexml.ini, /etc/php/7.0/cli/conf.d/20-soap.ini, /etc/php/7.0/cli/conf.d/20-sockets.ini, /etc/php/7.0/cli/conf.d/20-sqlite3.ini, /etc/php/7.0/cli/conf.d/20-ssh2.ini, /etc/php/7.0/cli/conf.d/20-sysvmsg.ini, /etc/php/7.0/cli/conf.d/20-sysvsem.ini, /etc/php/7.0/cli/conf.d/20-sysvshm.ini, /etc/php/7.0/cli/conf.d/20-tokenizer.ini, /etc/php/7.0/cli/conf.d/20-wddx.ini, /etc/php/7.0/cli/conf.d/20-xdebug.ini, /etc/php/7.0/cli/conf.d/20-xmlreader.ini, /etc/php/7.0/cli/conf.d/20-xmlrpc.ini, /etc/php/7.0/cli/conf.d/20-xmlwriter.ini, /etc/php/7.0/cli/conf.d/20-xsl.ini, /etc/php/7.0/cli/conf.d/20-zip.ini, /etc/php/7.0/cli/conf.d/25-apcu_bc.ini, /etc/php/7.0/cli/conf.d/25-memcached.ini, /etc/php/7.0/cli/conf.d/999-custom.ini + /etc/php/7.0/cli/php.ini + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/remote-mappings.xml b/.idea/remote-mappings.xml new file mode 100644 index 0000000..d4adda7 --- /dev/null +++ b/.idea/remote-mappings.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file From 45334fcfb1a8e6975258cad61523392ac631a8bd Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Tue, 5 Nov 2019 20:30:22 +0100 Subject: [PATCH 05/34] Updated dependencies --- .idea/module-interface.iml | 44 +++ .idea/php.xml | 64 ++-- composer.lock | 579 ++++++++++++++++++++++++++----------- 3 files changed, 490 insertions(+), 197 deletions(-) diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index ce8442b..fba8280 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -5,6 +5,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/php.xml b/.idea/php.xml index 415d99b..4147ea2 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -7,46 +7,50 @@ - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + - - - + - - + - + - - + + + + + + + - - - - - + + + + diff --git a/composer.lock b/composer.lock index 9d192c2..a4eab8d 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4f41100b19f16fdce2a5697d205f73c0", + "content-hash": "e6507ab74fccd2969d186ec640d7fd38", "packages": [ { "name": "dhii/data-key-value-aware-interface", @@ -50,16 +50,16 @@ }, { "name": "dhii/exception-interface", - "version": "v0.1", + "version": "v0.2", "source": { "type": "git", "url": "https://github.com/Dhii/exception-interface.git", - "reference": "fe64b30f67830474683357f77dc4a097bf84767e" + "reference": "b69feebf7cb2879cd43977a03342e2393b73f7fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Dhii/exception-interface/zipball/fe64b30f67830474683357f77dc4a097bf84767e", - "reference": "fe64b30f67830474683357f77dc4a097bf84767e", + "url": "https://api.github.com/repos/Dhii/exception-interface/zipball/b69feebf7cb2879cd43977a03342e2393b73f7fb", + "reference": "b69feebf7cb2879cd43977a03342e2393b73f7fb", "shasum": "" }, "require": { @@ -73,6 +73,11 @@ "ptrofimov/xpmock": "^1.1" }, "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.2.x-dev" + } + }, "autoload": { "psr-4": { "Dhii\\Exception\\": "src" @@ -89,20 +94,20 @@ } ], "description": "Interfaces for most common exceptions", - "time": "2017-09-01T18:00:26+00:00" + "time": "2018-08-29T10:42:04+00:00" }, { "name": "dhii/factory-interface", - "version": "v0.1-alpha2", + "version": "v0.1", "source": { "type": "git", "url": "https://github.com/Dhii/factory-interface.git", - "reference": "f5180bde74ba778a8e7269bf92e8420f7527c512" + "reference": "b8d217aec8838e64ccaa770cb03dc164bf6f0515" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Dhii/factory-interface/zipball/f5180bde74ba778a8e7269bf92e8420f7527c512", - "reference": "f5180bde74ba778a8e7269bf92e8420f7527c512", + "url": "https://api.github.com/repos/Dhii/factory-interface/zipball/b8d217aec8838e64ccaa770cb03dc164bf6f0515", + "reference": "b8d217aec8838e64ccaa770cb03dc164bf6f0515", "shasum": "" }, "require": { @@ -139,7 +144,7 @@ } ], "description": "Interfaces for working with factories.", - "time": "2018-03-07T11:08:40+00:00" + "time": "2018-08-29T11:15:09+00:00" }, { "name": "dhii/stringable-interface", @@ -182,55 +187,6 @@ ], "description": "Interoperability interface for objects that can be cast to string", "time": "2017-01-23T15:08:20+00:00" - }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2017-02-14T16:28:37+00:00" } ], "packages-dev": [ @@ -540,39 +496,94 @@ "abandoned": "guzzlehttp/guzzle", "time": "2015-03-18T18:23:50+00:00" }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" + }, { "name": "phpdocumentor/reflection-docblock", - "version": "2.0.5", + "version": "4.3.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", + "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", + "webmozart/assert": "^1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "doctrine/instantiator": "^1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { - "psr-0": { - "phpDocumentor": [ + "psr-4": { + "phpDocumentor\\Reflection\\": [ "src/" ] } @@ -584,45 +595,91 @@ "authors": [ { "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2019-09-12T14:27:41+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.5.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "cf842904952e64e703800d094cdf34e715a8a3ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/cf842904952e64e703800d094cdf34e715a8a3ae", + "reference": "cf842904952e64e703800d094cdf34e715a8a3ae", + "shasum": "" + }, + "require": { + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" } ], - "time": "2016-01-25T08:17:30+00:00" + "time": "2017-12-30T13:23:38+00:00" }, { "name": "phpspec/prophecy", - "version": "1.7.6", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", "sebastian/comparator": "^1.1|^2.0|^3.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { - "psr-0": { - "Prophecy\\": "src/" + "psr-4": { + "Prophecy\\": "src/Prophecy" } }, "notification-url": "https://packagist.org/downloads/", @@ -650,7 +707,7 @@ "spy", "stub" ], - "time": "2018-04-18T13:57:24+00:00" + "time": "2019-10-03T11:07:50+00:00" }, { "name": "phpunit/php-code-coverage", @@ -1026,20 +1083,70 @@ "mock", "xunit" ], + "abandoned": true, "time": "2015-10-02T06:51:40+00:00" }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, { "name": "psr/log", - "version": "1.0.2", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", + "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", "shasum": "" }, "require": { @@ -1048,7 +1155,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -1073,7 +1180,7 @@ "psr", "psr-3" ], - "time": "2016-10-10T12:19:37+00:00" + "time": "2019-11-01T11:05:21+00:00" }, { "name": "ptrofimov/xpmock", @@ -1167,6 +1274,7 @@ "github", "test" ], + "abandoned": "php-coveralls/php-coveralls", "time": "2017-10-14T23:15:34+00:00" }, { @@ -1543,24 +1651,32 @@ }, { "name": "symfony/config", - "version": "v2.8.39", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "ecacddeaf76732231eea1657f6f5b062dade94c9" + "reference": "c111091db748ed394fd8c3e473a90ad3b80e08ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/ecacddeaf76732231eea1657f6f5b062dade94c9", - "reference": "ecacddeaf76732231eea1657f6f5b062dade94c9", + "url": "https://api.github.com/repos/symfony/config/zipball/c111091db748ed394fd8c3e473a90ad3b80e08ad", + "reference": "c111091db748ed394fd8c3e473a90ad3b80e08ad", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/filesystem": "~2.3|~3.0.0" + "php": "^5.5.9|>=7.0.8", + "symfony/filesystem": "~2.8|~3.0|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3", + "symfony/finder": "<3.3" }, "require-dev": { - "symfony/yaml": "~2.7|~3.0.0" + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/event-dispatcher": "~3.3|~4.0", + "symfony/finder": "~3.3|~4.0", + "symfony/yaml": "~3.0|~4.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -1568,7 +1684,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1595,41 +1711,52 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2018-03-19T21:11:56+00:00" + "time": "2019-10-30T12:46:47+00:00" }, { "name": "symfony/console", - "version": "v2.8.39", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "932d1e4f7f33ee37d3534f5f452474daa66283c2" + "reference": "c7edffb26b29cae972ca4afccb610a38ce8d0ccf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/932d1e4f7f33ee37d3534f5f452474daa66283c2", - "reference": "932d1e4f7f33ee37d3534f5f452474daa66283c2", + "url": "https://api.github.com/repos/symfony/console/zipball/c7edffb26b29cae972ca4afccb610a38ce8d0ccf", + "reference": "c7edffb26b29cae972ca4afccb610a38ce8d0ccf", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/debug": "^2.7.2|~3.0.0", + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", "symfony/polyfill-mbstring": "~1.0" }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, "require-dev": { "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" + "symfony/config": "~3.3|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.3|~4.0" }, "suggest": { - "psr/log-implementation": "For using the console logger", + "psr/log": "For using the console logger", "symfony/event-dispatcher": "", + "symfony/lock": "", "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1656,37 +1783,36 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-04-30T01:21:07+00:00" + "time": "2019-10-24T15:33:53+00:00" }, { "name": "symfony/debug", - "version": "v2.8.39", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "4486d2be5e068b51fece4c8551c14e709f573c8d" + "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/4486d2be5e068b51fece4c8551c14e709f573c8d", - "reference": "4486d2be5e068b51fece4c8551c14e709f573c8d", + "url": "https://api.github.com/repos/symfony/debug/zipball/f72e33fdb1170b326e72c3157f0cd456351dd086", + "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086", "shasum": "" }, "require": { - "php": ">=5.3.9", + "php": "^5.5.9|>=7.0.8", "psr/log": "~1.0" }, "conflict": { "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { - "symfony/class-loader": "~2.2|~3.0.0", - "symfony/http-kernel": "~2.3.24|~2.5.9|^2.6.2|~3.0.0" + "symfony/http-kernel": "~2.8|~3.0|~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1713,20 +1839,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-04-03T05:20:27+00:00" + "time": "2019-10-24T15:33:53+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v2.8.39", + "version": "v2.8.50", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9b69aad7d4c086dc94ebade2d5eb9145da5dac8c" + "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9b69aad7d4c086dc94ebade2d5eb9145da5dac8c", - "reference": "9b69aad7d4c086dc94ebade2d5eb9145da5dac8c", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0", + "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0", "shasum": "" }, "require": { @@ -1773,29 +1899,30 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2018-04-06T07:35:03+00:00" + "time": "2018-11-21T14:20:20+00:00" }, { "name": "symfony/filesystem", - "version": "v2.8.39", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "125403a59e4cb4e3ebf46d0162fabcde613d2b97" + "reference": "00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/125403a59e4cb4e3ebf46d0162fabcde613d2b97", - "reference": "125403a59e4cb4e3ebf46d0162fabcde613d2b97", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516", + "reference": "00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1822,29 +1949,29 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-02-19T16:23:47+00:00" + "time": "2019-08-20T13:31:17+00:00" }, { "name": "symfony/finder", - "version": "v2.8.39", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "423746fc18ccf31f9abec43e4f078bb6e024b2d5" + "reference": "3e915e5ce305f8bc8017597f71f1f4095092ddf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/423746fc18ccf31f9abec43e4f078bb6e024b2d5", - "reference": "423746fc18ccf31f9abec43e4f078bb6e024b2d5", + "url": "https://api.github.com/repos/symfony/finder/zipball/3e915e5ce305f8bc8017597f71f1f4095092ddf8", + "reference": "3e915e5ce305f8bc8017597f71f1f4095092ddf8", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.5.9|>=7.0.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1871,20 +1998,78 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-04-04T13:38:31+00:00" + "time": "2019-10-30T12:43:22+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "550ebaac289296ce228a706d0867afc34687e3f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", + "reference": "550ebaac289296ce228a706d0867afc34687e3f4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.8.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "3296adf6a6454a050679cde90f95350ad604b171" + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", - "reference": "3296adf6a6454a050679cde90f95350ad604b171", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", "shasum": "" }, "require": { @@ -1896,7 +2081,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -1930,29 +2115,29 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/process", - "version": "v2.8.39", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "ee2c91470ff262b1a00aec27875d38594aa87629" + "reference": "c19da50bc3e8fa7d60628fdb4ab5d67de534cf3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/ee2c91470ff262b1a00aec27875d38594aa87629", - "reference": "ee2c91470ff262b1a00aec27875d38594aa87629", + "url": "https://api.github.com/repos/symfony/process/zipball/c19da50bc3e8fa7d60628fdb4ab5d67de534cf3e", + "reference": "c19da50bc3e8fa7d60628fdb4ab5d67de534cf3e", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.5.9|>=7.0.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1979,29 +2164,29 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-04-03T05:20:27+00:00" + "time": "2019-10-24T15:33:53+00:00" }, { "name": "symfony/stopwatch", - "version": "v2.8.39", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "57021208ad9830f8f8390c1a9d7bb390f32be89e" + "reference": "c0c27e38f8accb452f830a4ec8e8ac94b6ec864a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/57021208ad9830f8f8390c1a9d7bb390f32be89e", - "reference": "57021208ad9830f8f8390c1a9d7bb390f32be89e", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c0c27e38f8accb452f830a4ec8e8ac94b6ec864a", + "reference": "c0c27e38f8accb452f830a4ec8e8ac94b6ec864a", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.5.9|>=7.0.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2028,29 +2213,39 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2018-01-03T07:36:31+00:00" + "time": "2019-08-06T13:24:37+00:00" }, { "name": "symfony/yaml", - "version": "v2.8.39", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "d20bd2bdee063863e426297af41eda45ccad6f7e" + "reference": "dab657db15207879217fc81df4f875947bf68804" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/d20bd2bdee063863e426297af41eda45ccad6f7e", - "reference": "d20bd2bdee063863e426297af41eda45ccad6f7e", + "url": "https://api.github.com/repos/symfony/yaml/zipball/dab657db15207879217fc81df4f875947bf68804", + "reference": "dab657db15207879217fc81df4f875947bf68804", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2077,7 +2272,57 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-04-08T07:53:13+00:00" + "time": "2019-10-24T15:33:53+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2019-08-24T08:43:50+00:00" } ], "aliases": [], From 28d42b493bec0125ac2629bece3582edf3010095 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Tue, 5 Nov 2019 20:30:57 +0100 Subject: [PATCH 06/34] Ignoring .env file This file is private to the local project instance --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 0da1451..afe0cde 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /.idea/vagrant.xml /.idea/misc.xml /.idea/inspectionProfiles/ +/.env From 131f0c27e57bd5dea2833c15ca459f754a7bcd9a Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Wed, 6 Nov 2019 09:38:14 +0100 Subject: [PATCH 07/34] Removed unused classes --- src/DependenciesAwareInterface.php | 24 -------- src/ModuleFactoryInterface.php | 22 -------- src/ModuleKeyAwareInterface.php | 22 -------- test/unit/DependenciesAwareInterfaceTest.php | 52 ------------------ test/unit/ModuleFactoryInterfaceTest.php | 58 -------------------- test/unit/ModuleKeyAwareInterfaceTest.php | 53 ------------------ 6 files changed, 231 deletions(-) delete mode 100644 src/DependenciesAwareInterface.php delete mode 100644 src/ModuleFactoryInterface.php delete mode 100644 src/ModuleKeyAwareInterface.php delete mode 100644 test/unit/DependenciesAwareInterfaceTest.php delete mode 100644 test/unit/ModuleFactoryInterfaceTest.php delete mode 100644 test/unit/ModuleKeyAwareInterfaceTest.php diff --git a/src/DependenciesAwareInterface.php b/src/DependenciesAwareInterface.php deleted file mode 100644 index 888c18b..0000000 --- a/src/DependenciesAwareInterface.php +++ /dev/null @@ -1,24 +0,0 @@ -mock(static::TEST_SUBJECT_CLASSNAME) - ->getDependencies(); - - return $mock->new(); - } - - /** - * Tests whether a valid instance of the test subject can be created. - * - * @since [*next-version*] - */ - public function testCanBeCreated() - { - $subject = $this->createInstance(); - - $this->assertInstanceOf( - static::TEST_SUBJECT_CLASSNAME, - $subject, - 'A valid instance of the test subject could not be created.' - ); - } -} diff --git a/test/unit/ModuleFactoryInterfaceTest.php b/test/unit/ModuleFactoryInterfaceTest.php deleted file mode 100644 index 73907fd..0000000 --- a/test/unit/ModuleFactoryInterfaceTest.php +++ /dev/null @@ -1,58 +0,0 @@ -mock(static::TEST_SUBJECT_CLASSNAME) - ->make(); - - return $mock->new(); - } - - /** - * Tests whether a valid instance of the test subject can be created. - * - * @since [*next-version*] - */ - public function testCanBeCreated() - { - $subject = $this->createInstance(); - - $this->assertInstanceOf( - static::TEST_SUBJECT_CLASSNAME, - $subject, - 'A valid instance of the test subject could not be created.' - ); - - $this->assertInstanceOf( - 'Dhii\Factory\FactoryInterface', - $subject, - 'Test subject does not implement expected interface.' - ); - } -} diff --git a/test/unit/ModuleKeyAwareInterfaceTest.php b/test/unit/ModuleKeyAwareInterfaceTest.php deleted file mode 100644 index 95e7f8c..0000000 --- a/test/unit/ModuleKeyAwareInterfaceTest.php +++ /dev/null @@ -1,53 +0,0 @@ -mock(static::TEST_SUBJECT_CLASSNAME) - ->getModuleKey() - ->new(); - - return $mock; - } - - /** - * Tests whether a valid instance of the test subject can be created. - * - * @since [*next-version*] - */ - public function testCanBeCreated() - { - $subject = $this->createInstance(); - - $this->assertInstanceOf( - static::TEST_SUBJECT_CLASSNAME, - $subject, - 'A valid instance of the test subject could not be created' - ); - } -} From 43b5d9955dd0825168b94a0d5946018f945464ce Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Wed, 6 Nov 2019 09:38:58 +0100 Subject: [PATCH 08/34] Updated dependencies --- composer.json | 7 +- composer.lock | 295 ++++++++++++++++++++------------------------------ 2 files changed, 121 insertions(+), 181 deletions(-) diff --git a/composer.json b/composer.json index ae33f63..94ecf42 100644 --- a/composer.json +++ b/composer.json @@ -13,9 +13,7 @@ "minimum-stability": "dev", "require": { "php": "^5.3 | ^7.0", - "dhii/exception-interface": "^0.1 | ^0.2", - "dhii/data-key-value-aware-interface": "^0.1", - "dhii/factory-interface": "^0.1-alpha1" + "dhii/exception-interface": "^0.1 | ^0.2" }, "require-dev": { "phpunit/phpunit": "^4.8", @@ -23,7 +21,8 @@ "dhii/php-cs-fixer-config": "dev-php-5.3", "codeclimate/php-test-reporter": "<=0.3.2", "dhii/stringable-interface": "^0.1", - "psr/container": "^1.0" + "psr/container": "^1.0", + "container-interop/service-provider": "^0.4" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index a4eab8d..62ab57d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,50 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e6507ab74fccd2969d186ec640d7fd38", + "content-hash": "97e83ba7369ff40566db1d3f61661d4d", "packages": [ - { - "name": "dhii/data-key-value-aware-interface", - "version": "v0.1", - "source": { - "type": "git", - "url": "https://github.com/Dhii/data-key-value-aware-interface.git", - "reference": "220232bc9040fab78a6c039f5a4a5f9542317bdc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Dhii/data-key-value-aware-interface/zipball/220232bc9040fab78a6c039f5a4a5f9542317bdc", - "reference": "220232bc9040fab78a6c039f5a4a5f9542317bdc", - "shasum": "" - }, - "require": { - "php": "^5.3 | ^7.0" - }, - "require-dev": { - "codeclimate/php-test-reporter": "<=0.3.2", - "dhii/php-cs-fixer-config": "dev-php-5.3", - "phpunit/phpunit": "4.*", - "ptrofimov/xpmock": "^1.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Dhii\\Data\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dhii Team", - "email": "development@dhii.co" - } - ], - "description": "Interfaces that aim to increase interoperability of value objects", - "time": "2017-01-21T17:35:30+00:00" - }, { "name": "dhii/exception-interface", "version": "v0.2", @@ -96,56 +54,6 @@ "description": "Interfaces for most common exceptions", "time": "2018-08-29T10:42:04+00:00" }, - { - "name": "dhii/factory-interface", - "version": "v0.1", - "source": { - "type": "git", - "url": "https://github.com/Dhii/factory-interface.git", - "reference": "b8d217aec8838e64ccaa770cb03dc164bf6f0515" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Dhii/factory-interface/zipball/b8d217aec8838e64ccaa770cb03dc164bf6f0515", - "reference": "b8d217aec8838e64ccaa770cb03dc164bf6f0515", - "shasum": "" - }, - "require": { - "dhii/exception-interface": "^0.1|^0.2", - "php": "^5.3 | ^7.0" - }, - "require-dev": { - "codeclimate/php-test-reporter": "<=0.3.2", - "dhii/php-cs-fixer-config": "dev-php-5.3", - "dhii/stringable-interface": "^0.1", - "phpunit/phpunit": "^4.8", - "psr/container": "^1.0", - "ptrofimov/xpmock": "^1.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Dhii\\Factory\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dhii Team", - "email": "development@dhii.co" - } - ], - "description": "Interfaces for working with factories.", - "time": "2018-08-29T11:15:09+00:00" - }, { "name": "dhii/stringable-interface", "version": "v0.1", @@ -248,6 +156,37 @@ ], "time": "2016-04-19T16:54:33+00:00" }, + { + "name": "container-interop/service-provider", + "version": "v0.4.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/service-provider.git", + "reference": "4969b9e49460690b7430b3f1a87cab07be61418a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/service-provider/zipball/4969b9e49460690b7430b3f1a87cab07be61418a", + "reference": "4969b9e49460690b7430b3f1a87cab07be61418a", + "shasum": "" + }, + "require": { + "psr/container": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting container interoperability through standard service providers", + "homepage": "https://github.com/container-interop/service-provider", + "time": "2017-09-20T14:13:36+00:00" + }, { "name": "dhii/php-cs-fixer-config", "version": "dev-php-5.3", @@ -290,32 +229,34 @@ }, { "name": "doctrine/instantiator", - "version": "1.0.5", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + "reference": "a2c590166b2133a4633738648b6b064edae0814a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", + "reference": "a2c590166b2133a4633738648b6b064edae0814a", "shasum": "" }, "require": { - "php": ">=5.3,<8.0-DEV" + "php": "^7.1" }, "require-dev": { - "athletic/athletic": "~0.1.8", + "doctrine/coding-standard": "^6.0", "ext-pdo": "*", "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -335,12 +276,12 @@ } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", "keywords": [ "constructor", "instantiate" ], - "time": "2015-06-14T21:17:01+00:00" + "time": "2019-03-17T17:37:11+00:00" }, { "name": "friendsofphp/php-cs-fixer", @@ -402,22 +343,22 @@ }, { "name": "guzzle/guzzle", - "version": "v3.9.3", + "version": "v3.8.1", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba", + "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba", "shasum": "" }, "require": { "ext-curl": "*", "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" + "symfony/event-dispatcher": ">=2.1" }, "replace": { "guzzle/batch": "self.version", @@ -444,21 +385,18 @@ "guzzle/stream": "self.version" }, "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", + "doctrine/cache": "*", + "monolog/monolog": "1.*", "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." + "psr/log": "1.0.*", + "symfony/class-loader": "*", + "zendframework/zend-cache": "<2.3", + "zendframework/zend-log": "<2.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.9-dev" + "dev-master": "3.8-dev" } }, "autoload": { @@ -482,7 +420,7 @@ "homepage": "https://github.com/guzzle/guzzle/contributors" } ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", + "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", "homepage": "http://guzzlephp.org/", "keywords": [ "client", @@ -494,39 +432,37 @@ "web service" ], "abandoned": "guzzlehttp/guzzle", - "time": "2015-03-18T18:23:50+00:00" + "time": "2014-01-28T22:29:15+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", "shasum": "" }, "require": { - "php": ">=5.5" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^4.6" + "phpunit/phpunit": "~6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -548,7 +484,7 @@ "reflection", "static analysis" ], - "time": "2017-09-11T18:02:19+00:00" + "time": "2018-08-07T13:53:10+00:00" }, { "name": "phpdocumentor/reflection-docblock", @@ -603,30 +539,31 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "0.5.1", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "cf842904952e64e703800d094cdf34e715a8a3ae" + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/cf842904952e64e703800d094cdf34e715a8a3ae", - "reference": "cf842904952e64e703800d094cdf34e715a8a3ae", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", "shasum": "" }, "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0" + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -644,7 +581,8 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-12-30T13:23:38+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" }, { "name": "phpspec/prophecy", @@ -1651,32 +1589,32 @@ }, { "name": "symfony/config", - "version": "v3.4.33", + "version": "v4.3.6", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "c111091db748ed394fd8c3e473a90ad3b80e08ad" + "reference": "f4ee0ebb91b16ca1ac105aa39f9284f3cac19a15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/c111091db748ed394fd8c3e473a90ad3b80e08ad", - "reference": "c111091db748ed394fd8c3e473a90ad3b80e08ad", + "url": "https://api.github.com/repos/symfony/config/zipball/f4ee0ebb91b16ca1ac105aa39f9284f3cac19a15", + "reference": "f4ee0ebb91b16ca1ac105aa39f9284f3cac19a15", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/filesystem": "~2.8|~3.0|~4.0", + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/dependency-injection": "<3.3", - "symfony/finder": "<3.3" + "symfony/finder": "<3.4" }, "require-dev": { - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/event-dispatcher": "~3.3|~4.0", - "symfony/finder": "~3.3|~4.0", - "symfony/yaml": "~3.0|~4.0" + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/messenger": "~4.1", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -1684,7 +1622,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1711,7 +1649,7 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-10-30T12:46:47+00:00" + "time": "2019-10-30T13:18:51+00:00" }, { "name": "symfony/console", @@ -1787,32 +1725,32 @@ }, { "name": "symfony/debug", - "version": "v3.4.33", + "version": "v4.3.6", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086" + "reference": "5ea9c3e01989a86ceaa0283f21234b12deadf5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/f72e33fdb1170b326e72c3157f0cd456351dd086", - "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086", + "url": "https://api.github.com/repos/symfony/debug/zipball/5ea9c3e01989a86ceaa0283f21234b12deadf5e2", + "reference": "5ea9c3e01989a86ceaa0283f21234b12deadf5e2", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": "^7.1.3", "psr/log": "~1.0" }, "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + "symfony/http-kernel": "<3.4" }, "require-dev": { - "symfony/http-kernel": "~2.8|~3.0|~4.0" + "symfony/http-kernel": "~3.4|~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1839,31 +1777,34 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-10-24T15:33:53+00:00" + "time": "2019-10-28T17:07:32+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v2.8.50", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0" + "reference": "f9031c22ec127d4a2450760f81a8677fe8a10177" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0", - "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f9031c22ec127d4a2450760f81a8677fe8a10177", + "reference": "f9031c22ec127d4a2450760f81a8677fe8a10177", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" }, "suggest": { "symfony/dependency-injection": "", @@ -1872,7 +1813,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1899,7 +1840,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2018-11-21T14:20:20+00:00" + "time": "2019-10-24T15:33:53+00:00" }, { "name": "symfony/filesystem", From b921f9f434357f0d642afd3bb322b5c9da71b96f Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Wed, 6 Nov 2019 09:39:13 +0100 Subject: [PATCH 09/34] Set branch alias to 0.2.x --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 94ecf42..1771d5c 100644 --- a/composer.json +++ b/composer.json @@ -41,7 +41,7 @@ }, "extra": { "branch-alias": { - "dev-develop": "0.1.x-dev" + "dev-develop": "0.2.x-dev" } } } From 506b7cab05ad17d7134c185d9de1ae1cbcb74802 Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Wed, 6 Nov 2019 09:40:48 +0100 Subject: [PATCH 10/34] Rewrote module interface using the 0.2 spec --- src/ModuleInterface.php | 41 +++++++++++++++++-------------- test/unit/ModuleInterfaceTest.php | 7 ------ 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/ModuleInterface.php b/src/ModuleInterface.php index 8b81a50..4f42a42 100644 --- a/src/ModuleInterface.php +++ b/src/ModuleInterface.php @@ -2,48 +2,51 @@ namespace Dhii\Modular\Module; -use Dhii\Data\KeyAwareInterface; use Dhii\Modular\Module\Exception\ModuleExceptionInterface; +use Interop\Container\ServiceProviderInterface; use Psr\Container\ContainerInterface; /** - * Anything that represents a system module. - * - * A module is represented by an key, which is not limited to any type or form. It can be numeric, a slug, a hash or - * even a user-friendly name. What matters is that it **uniquely** identifies the module. + * Something that represents an application module. * * @since [*next-version*] */ -interface ModuleInterface extends KeyAwareInterface +interface ModuleInterface { /** - * Performs module-specific setup and optionally provides a container. + * Performs module-specific setup and provides a service provider. + * + * This method SHOULD be called at least once before {@link ModuleInterface::run()} may be invoked for a particular + * module instance. The returned service provider instance SHOULD be incorporated by the application into the + * container instance that is then given to this module's {@link ModuleInterface::run()} method. * - * This method SHOULD be used to allow the module to set up and prepare itself for invocation. - * If required, the module MAY provide services in a container. However, the usage of this container is dependent on - * the consumer and as such there is no guarantee that the container will actually be utilized. + * The application MAY also incorporate the service provider into the container instance given to other modules, + * but this is not required. As such, services factories in the returned service provider should not assume the + * existence of other module's services. Use proxy services together with {@link ContainerInterface::has()} for + * optionally integrating with other modules. * * @since [*next-version*] * - * @return ContainerInterface|null A DI container instance, if any. + * @return ServiceProviderInterface A service provider instance for this module's services. * - * @throws ModuleExceptionInterface If could not setup. + * @throws ModuleExceptionInterface If module setup failed and/or a service provider instance could not be returned. */ public function setup(); /** * Runs the module. * - * This method MUST be called when the module has been set up and is ready for invocation. - * A service container MAY be given to this method, which MAY consume its services. This container is not - * necessarily the same container returned by the instance's `setup()` method. In fact, it is strongly advised to - * assume that this is not the case. + * This method MUST be called after the module has been set up using {@link ModuleInterface::setup()}. A services + * container MUST be given to this method, and MUST incorporate the services from the service provider returned + * by the same module's {@link ModuleInterface::setup()} method. This container instance is not guaranteed to be + * the same instance given to other modules. As such, it is strongly advised to assume it is not, and to avoid + * referencing services from other modules. * * @since [*next-version*] * - * @param ContainerInterface|null $c Optional DI container instance. + * @param ContainerInterface $c A services container instance. * - * @throws ModuleExceptionInterface If could not run. + * @throws ModuleExceptionInterface If the module failed to run. */ - public function run(ContainerInterface $c = null); + public function run(ContainerInterface $c); } diff --git a/test/unit/ModuleInterfaceTest.php b/test/unit/ModuleInterfaceTest.php index 64407b4..3479fa8 100644 --- a/test/unit/ModuleInterfaceTest.php +++ b/test/unit/ModuleInterfaceTest.php @@ -29,7 +29,6 @@ class ModuleInterfaceTest extends TestCase public function createInstance() { $mock = $this->mock(static::TEST_SUBJECT_CLASSNAME) - ->getKey() ->setup() ->run() ->new(); @@ -51,11 +50,5 @@ public function testCanBeCreated() $subject, 'A valid instance of the test subject could not be created' ); - - $this->assertInstanceOf( - 'Dhii\Data\KeyAwareInterface', - $subject, - 'Subject does not implement a required interface' - ); } } From b698c0b22c5bfa18473ca5f7a17329d8a8235510 Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Wed, 6 Nov 2019 09:41:36 +0100 Subject: [PATCH 11/34] Updated IDE project files --- .idea/module-interface.iml | 3 +-- .idea/php.xml | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index fba8280..2a49e6f 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -7,9 +7,8 @@ - + - diff --git a/.idea/php.xml b/.idea/php.xml index 4147ea2..f5d3838 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -8,8 +8,6 @@ - - @@ -51,6 +49,7 @@ + @@ -158,7 +157,7 @@ - + \ No newline at end of file From 725d71bfb9759c74d92a8a75e44677aa3b7055ba Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Wed, 6 Nov 2019 09:47:05 +0100 Subject: [PATCH 12/34] Updated the interface description in the readme --- README.md | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7c7e67b..4b99ec9 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,9 @@ This package contains interfaces that are useful in describing modules and their attributes and behaviour. ### Interfaces -- [`ModuleInterface`][ModuleInterface] - Represents a module. A module MUST have a key, and MUST be able to be set up -and run separately in order to have the chance to prepare itself and let other potential modules to do the same. The -`setup()` method MAY return a container with the services provided by that module. The `run()` method MAY accept an -optional container with the services provided by the application, but MUST handle the case where no container is provided. -The container provided to `run()` MAY be the same container returned from `setup()`. Implementations that consume -their own services SHOULD therefore rely only on what is provided to `run()`, which gives the application the means -to add or override services. Nevertheless, implementations MUST NOT assume that the container received by `run()` is -the same container returned from `setup()`. +- [`ModuleInterface`][ModuleInterface] - The interface for a module. A module is an object that represents an +application fragment. Modules are prepared using `setup()`, which returns a `ServiceProviderInterface` instance that +the application may consume, and invoked using `run()`. ### Requirements - PHP: <= 7.0 | < 7.4 @@ -27,4 +22,4 @@ the same container returned from `setup()`. [Dhii]: https://github.com/Dhii/dhii -[ModuleInterface]: src/ModuleInterface.php +[ModuleInterface]: src/ModuleInterface.php From a51ea7964d615dfad088f795f506f333dc30de68 Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Wed, 6 Nov 2019 09:50:30 +0100 Subject: [PATCH 13/34] Updated changelog for 0.2.x changes --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f59df5..ce33ec6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,15 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). ## [[*next-version*]] - YYYY-MM-DD +### Changed +- Module `setup()` now returns a `ServiceProviderInterface` instance. +- Module `run()` now requires the `ContainerInterface` argument. +- Modules are no longer key-aware. + +### Removed +- `DependenciesAwareInterface` has been removed. +- `ModuleFactoryInterface` has been removed. +- `ModuleKeyAwareInterface` has been removed. ## [0.1] - 2019-11-05 Stable release From 2dc8da50be31321f03f1f65e31148c6c53994860 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Wed, 6 Nov 2019 10:12:07 +0100 Subject: [PATCH 14/34] Simplified link in readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4b99ec9..a7b74c4 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ This package contains interfaces that are useful in describing modules and their attributes and behaviour. ### Interfaces -- [`ModuleInterface`][ModuleInterface] - The interface for a module. A module is an object that represents an +- [`ModuleInterface`][] - The interface for a module. A module is an object that represents an application fragment. Modules are prepared using `setup()`, which returns a `ServiceProviderInterface` instance that the application may consume, and invoked using `run()`. @@ -22,4 +22,4 @@ the application may consume, and invoked using `run()`. [Dhii]: https://github.com/Dhii/dhii -[ModuleInterface]: src/ModuleInterface.php +[`ModuleInterface`]: src/ModuleInterface.php From edd591ccc4f1c314a85f47345d36732a244b430d Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Wed, 6 Nov 2019 10:18:56 +0100 Subject: [PATCH 15/34] Changed official requirement to PHP 7.0 in Composer --- .idea/php.xml | 2 +- composer.json | 2 +- composer.lock | 174 +++++++++++++++++++++++++------------------------- 3 files changed, 88 insertions(+), 90 deletions(-) diff --git a/.idea/php.xml b/.idea/php.xml index f5d3838..f0a0f96 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -154,7 +154,7 @@ - + diff --git a/composer.json b/composer.json index 1771d5c..126dc2d 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "prefer-stable": true, "minimum-stability": "dev", "require": { - "php": "^5.3 | ^7.0", + "php": "^7.0", "dhii/exception-interface": "^0.1 | ^0.2" }, "require-dev": { diff --git a/composer.lock b/composer.lock index 62ab57d..98f103c 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": "97e83ba7369ff40566db1d3f61661d4d", + "content-hash": "e389b7a0004df8365ec8ea600601a062", "packages": [ { "name": "dhii/exception-interface", @@ -229,34 +229,32 @@ }, { "name": "doctrine/instantiator", - "version": "1.2.0", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "a2c590166b2133a4633738648b6b064edae0814a" + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", - "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=5.3,<8.0-DEV" }, "require-dev": { - "doctrine/coding-standard": "^6.0", + "athletic/athletic": "~0.1.8", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { @@ -276,12 +274,12 @@ } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "homepage": "https://github.com/doctrine/instantiator", "keywords": [ "constructor", "instantiate" ], - "time": "2019-03-17T17:37:11+00:00" + "time": "2015-06-14T21:17:01+00:00" }, { "name": "friendsofphp/php-cs-fixer", @@ -343,22 +341,22 @@ }, { "name": "guzzle/guzzle", - "version": "v3.8.1", + "version": "v3.9.3", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba" + "url": "https://github.com/guzzle/guzzle3.git", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba", - "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba", + "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", "shasum": "" }, "require": { "ext-curl": "*", "php": ">=5.3.3", - "symfony/event-dispatcher": ">=2.1" + "symfony/event-dispatcher": "~2.1" }, "replace": { "guzzle/batch": "self.version", @@ -385,18 +383,21 @@ "guzzle/stream": "self.version" }, "require-dev": { - "doctrine/cache": "*", - "monolog/monolog": "1.*", + "doctrine/cache": "~1.3", + "monolog/monolog": "~1.0", "phpunit/phpunit": "3.7.*", - "psr/log": "1.0.*", - "symfony/class-loader": "*", - "zendframework/zend-cache": "<2.3", - "zendframework/zend-log": "<2.3" + "psr/log": "~1.0", + "symfony/class-loader": "~2.1", + "zendframework/zend-cache": "2.*,<2.3", + "zendframework/zend-log": "2.*,<2.3" + }, + "suggest": { + "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.8-dev" + "dev-master": "3.9-dev" } }, "autoload": { @@ -420,7 +421,7 @@ "homepage": "https://github.com/guzzle/guzzle/contributors" } ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", + "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", "homepage": "http://guzzlephp.org/", "keywords": [ "client", @@ -432,37 +433,39 @@ "web service" ], "abandoned": "guzzlehttp/guzzle", - "time": "2014-01-28T22:29:15+00:00" + "time": "2015-03-18T18:23:50+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "2.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=5.5" }, "require-dev": { - "phpunit/phpunit": "~6" + "phpunit/phpunit": "^4.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": "src/" + "phpDocumentor\\Reflection\\": [ + "src" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -484,7 +487,7 @@ "reflection", "static analysis" ], - "time": "2018-08-07T13:53:10+00:00" + "time": "2017-09-11T18:02:19+00:00" }, { "name": "phpdocumentor/reflection-docblock", @@ -539,31 +542,30 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.0.1", + "version": "0.5.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" + "reference": "cf842904952e64e703800d094cdf34e715a8a3ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/cf842904952e64e703800d094cdf34e715a8a3ae", + "reference": "cf842904952e64e703800d094cdf34e715a8a3ae", "shasum": "" }, "require": { - "php": "^7.1", - "phpdocumentor/reflection-common": "^2.0" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0" }, "require-dev": { - "ext-tokenizer": "^7.1", - "mockery/mockery": "~1", - "phpunit/phpunit": "^7.0" + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { @@ -581,8 +583,7 @@ "email": "me@mikevanriel.com" } ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2019-08-22T18:11:29+00:00" + "time": "2017-12-30T13:23:38+00:00" }, { "name": "phpspec/prophecy", @@ -1589,32 +1590,32 @@ }, { "name": "symfony/config", - "version": "v4.3.6", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "f4ee0ebb91b16ca1ac105aa39f9284f3cac19a15" + "reference": "c111091db748ed394fd8c3e473a90ad3b80e08ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/f4ee0ebb91b16ca1ac105aa39f9284f3cac19a15", - "reference": "f4ee0ebb91b16ca1ac105aa39f9284f3cac19a15", + "url": "https://api.github.com/repos/symfony/config/zipball/c111091db748ed394fd8c3e473a90ad3b80e08ad", + "reference": "c111091db748ed394fd8c3e473a90ad3b80e08ad", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/filesystem": "~3.4|~4.0", + "php": "^5.5.9|>=7.0.8", + "symfony/filesystem": "~2.8|~3.0|~4.0", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/finder": "<3.4" + "symfony/dependency-injection": "<3.3", + "symfony/finder": "<3.3" }, "require-dev": { - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~3.4|~4.0", - "symfony/finder": "~3.4|~4.0", - "symfony/messenger": "~4.1", - "symfony/yaml": "~3.4|~4.0" + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/event-dispatcher": "~3.3|~4.0", + "symfony/finder": "~3.3|~4.0", + "symfony/yaml": "~3.0|~4.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -1622,7 +1623,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1649,7 +1650,7 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-10-30T13:18:51+00:00" + "time": "2019-10-30T12:46:47+00:00" }, { "name": "symfony/console", @@ -1725,32 +1726,32 @@ }, { "name": "symfony/debug", - "version": "v4.3.6", + "version": "v3.4.33", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "5ea9c3e01989a86ceaa0283f21234b12deadf5e2" + "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/5ea9c3e01989a86ceaa0283f21234b12deadf5e2", - "reference": "5ea9c3e01989a86ceaa0283f21234b12deadf5e2", + "url": "https://api.github.com/repos/symfony/debug/zipball/f72e33fdb1170b326e72c3157f0cd456351dd086", + "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": "^5.5.9|>=7.0.8", "psr/log": "~1.0" }, "conflict": { - "symfony/http-kernel": "<3.4" + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { - "symfony/http-kernel": "~3.4|~4.0" + "symfony/http-kernel": "~2.8|~3.0|~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1777,34 +1778,31 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-10-28T17:07:32+00:00" + "time": "2019-10-24T15:33:53+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.4.33", + "version": "v2.8.50", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "f9031c22ec127d4a2450760f81a8677fe8a10177" + "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f9031c22ec127d4a2450760f81a8677fe8a10177", - "reference": "f9031c22ec127d4a2450760f81a8677fe8a10177", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0", + "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" + "php": ">=5.3.9" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0" + "symfony/config": "^2.0.5|~3.0.0", + "symfony/dependency-injection": "~2.6|~3.0.0", + "symfony/expression-language": "~2.6|~3.0.0", + "symfony/stopwatch": "~2.3|~3.0.0" }, "suggest": { "symfony/dependency-injection": "", @@ -1813,7 +1811,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -1840,7 +1838,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-10-24T15:33:53+00:00" + "time": "2018-11-21T14:20:20+00:00" }, { "name": "symfony/filesystem", @@ -2274,7 +2272,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^5.3 | ^7.0" + "php": "^7.0" }, "platform-dev": [] } From 8d58f19876d91653ecdb4a23400d04155da52c8a Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Wed, 6 Nov 2019 11:32:54 +0100 Subject: [PATCH 16/34] Upgraded PHPUnit to version 6 This is the last version of PHPUnit to support PHP 7.0. --- .idea/module-interface.iml | 8 + .idea/php-test-framework.xml | 2 +- .idea/php.xml | 10 +- composer.json | 2 +- composer.lock | 624 ++++++++++++++---- .../ModuleExceptionInterfaceTest.php | 29 +- test/unit/ModuleAwareInterfaceTest.php | 20 +- test/unit/ModuleInterfaceTest.php | 21 +- 8 files changed, 550 insertions(+), 166 deletions(-) diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index 2a49e6f..e52d14b 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -14,6 +14,9 @@ + + + @@ -29,12 +32,16 @@ + + + + @@ -47,6 +54,7 @@ + diff --git a/.idea/php-test-framework.xml b/.idea/php-test-framework.xml index 4c73bb7..21a7d7a 100644 --- a/.idea/php-test-framework.xml +++ b/.idea/php-test-framework.xml @@ -5,7 +5,7 @@ - + diff --git a/.idea/php.xml b/.idea/php.xml index f0a0f96..fb47244 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -50,6 +50,14 @@ + + + + + + + + @@ -157,7 +165,7 @@ - + \ No newline at end of file diff --git a/composer.json b/composer.json index 126dc2d..c8f58e4 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ "dhii/exception-interface": "^0.1 | ^0.2" }, "require-dev": { - "phpunit/phpunit": "^4.8", + "phpunit/phpunit": "^6.0", "ptrofimov/xpmock": "^1.1", "dhii/php-cs-fixer-config": "dev-php-5.3", "codeclimate/php-test-reporter": "<=0.3.2", diff --git a/composer.lock b/composer.lock index 98f103c..6790c78 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": "e389b7a0004df8365ec8ea600601a062", + "content-hash": "ce85116dfea4b9c08aab16523192b546", "packages": [ { "name": "dhii/exception-interface", @@ -435,6 +435,153 @@ "abandoned": "guzzlehttp/guzzle", "time": "2015-03-18T18:23:50+00:00" }, + { + "name": "myclabs/deep-copy", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^4.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2017-10-19T19:58:43+00:00" + }, + { + "name": "phar-io/manifest", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" + }, + { + "name": "phar-io/version", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "1.0.1", @@ -650,39 +797,40 @@ }, { "name": "phpunit/php-code-coverage", - "version": "2.2.4", + "version": "5.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + "reference": "c89677919c5dd6d3b3852f230a663118762218ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", + "reference": "c89677919c5dd6d3b3852f230a663118762218ac", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.0", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^2.0.1", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" }, "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" + "phpunit/phpunit": "^6.0" }, "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" + "ext-xdebug": "^2.5.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "5.3.x-dev" } }, "autoload": { @@ -697,7 +845,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -708,7 +856,7 @@ "testing", "xunit" ], - "time": "2015-10-06T15:47:00+00:00" + "time": "2018-04-06T15:36:58+00:00" }, { "name": "phpunit/php-file-iterator", @@ -849,29 +997,29 @@ }, { "name": "phpunit/php-token-stream", - "version": "1.4.12", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16" + "reference": "791198a2c6254db10131eecfe8c06670700904db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16", - "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^6.2.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -894,45 +1042,57 @@ "keywords": [ "tokenizer" ], - "time": "2017-12-04T08:55:13+00:00" + "time": "2017-11-27T05:48:46+00:00" }, { "name": "phpunit/phpunit", - "version": "4.8.36", + "version": "6.2.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" + "reference": "ff3a76a58ac293657808aefd58c8aaf05945f4d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ff3a76a58ac293657808aefd58c8aaf05945f4d9", + "reference": "ff3a76a58ac293657808aefd58c8aaf05945f4d9", "shasum": "" }, "require": { "ext-dom": "*", "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "^1.3.1", - "phpunit/php-code-coverage": "~2.1", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.3", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.0", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^5.2", + "phpunit/php-file-iterator": "^1.4", + "phpunit/php-text-template": "^1.2", "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.2.2", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" + "phpunit/phpunit-mock-objects": "^4.0", + "sebastian/comparator": "^2.0", + "sebastian/diff": "^1.4.3", + "sebastian/environment": "^3.0.2", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^1.1 || ^2.0", + "sebastian/object-enumerator": "^3.0.2", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2", + "phpunit/dbunit": "<3.0" + }, + "require-dev": { + "ext-pdo": "*" }, "suggest": { - "phpunit/php-invoker": "~1.1" + "ext-xdebug": "*", + "phpunit/php-invoker": "^1.1" }, "bin": [ "phpunit" @@ -940,7 +1100,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.8.x-dev" + "dev-master": "6.2.x-dev" } }, "autoload": { @@ -966,30 +1126,33 @@ "testing", "xunit" ], - "time": "2017-06-21T08:07:12+00:00" + "time": "2017-08-03T13:59:28+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + "reference": "2f789b59ab89669015ad984afa350c4ec577ade0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/2f789b59ab89669015ad984afa350c4ec577ade0", + "reference": "2f789b59ab89669015ad984afa350c4ec577ade0", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" + "doctrine/instantiator": "^1.0.5", + "php": "^7.0", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.0" + }, + "conflict": { + "phpunit/phpunit": "<6.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "suggest": { "ext-soap": "*" @@ -997,7 +1160,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -1023,7 +1186,7 @@ "xunit" ], "abandoned": true, - "time": "2015-10-02T06:51:40+00:00" + "time": "2017-08-03T14:08:16+00:00" }, { "name": "psr/container", @@ -1216,32 +1379,77 @@ "abandoned": "php-coveralls/php-coveralls", "time": "2017-10-14T23:15:34+00:00" }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" + }, { "name": "sebastian/comparator", - "version": "1.2.4", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" + "reference": "20f84f468cb67efee293246e6a09619b891f55f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/20f84f468cb67efee293246e6a09619b891f55f0", + "reference": "20f84f468cb67efee293246e6a09619b891f55f0", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" + "php": "^7.0", + "sebastian/diff": "^1.2", + "sebastian/exporter": "^3.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1278,7 +1486,7 @@ "compare", "equality" ], - "time": "2017-01-29T09:50:25+00:00" + "time": "2017-03-03T06:26:08+00:00" }, { "name": "sebastian/diff", @@ -1334,28 +1542,28 @@ }, { "name": "sebastian/environment", - "version": "1.3.8", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" + "phpunit/phpunit": "^6.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { @@ -1380,34 +1588,34 @@ "environment", "hhvm" ], - "time": "2016-08-18T05:49:44+00:00" + "time": "2017-07-01T08:51:00+00:00" }, { "name": "sebastian/exporter", - "version": "1.2.2", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" + "php": "^7.0", + "sebastian/recursion-context": "^3.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { @@ -1420,6 +1628,10 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" @@ -1428,17 +1640,13 @@ "name": "Volker Dusch", "email": "github@wallbash.com" }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, { "name": "Adam Harvey", "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], "description": "Provides the functionality to export PHP variables for visualization", @@ -1447,27 +1655,27 @@ "export", "exporter" ], - "time": "2016-06-17T09:04:28+00:00" + "time": "2019-09-14T09:02:43+00:00" }, { "name": "sebastian/global-state", - "version": "1.1.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^6.0" }, "suggest": { "ext-uopz": "*" @@ -1475,7 +1683,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -1498,32 +1706,124 @@ "keywords": [ "global state" ], - "time": "2015-10-12T03:26:01+00:00" + "time": "2017-04-27T15:39:26+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" }, { "name": "sebastian/recursion-context", - "version": "1.0.5", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -1551,23 +1851,73 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" + "time": "2017-03-03T06:23:57+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" }, { "name": "sebastian/version", - "version": "1.0.6", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, + "require": { + "php": ">=5.6" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -1586,7 +1936,7 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21T13:59:46+00:00" + "time": "2016-10-03T07:35:21+00:00" }, { "name": "symfony/config", @@ -2213,6 +2563,46 @@ "homepage": "https://symfony.com", "time": "2019-10-24T15:33:53+00:00" }, + { + "name": "theseer/tokenizer", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2019-06-13T22:48:21+00:00" + }, { "name": "webmozart/assert", "version": "1.5.0", diff --git a/test/unit/Exception/ModuleExceptionInterfaceTest.php b/test/unit/Exception/ModuleExceptionInterfaceTest.php index d8dd142..fa69ba1 100644 --- a/test/unit/Exception/ModuleExceptionInterfaceTest.php +++ b/test/unit/Exception/ModuleExceptionInterfaceTest.php @@ -3,7 +3,9 @@ namespace Dhii\Modular\UnitTest\Exception; use Dhii\Modular\Module\Exception\ModuleExceptionInterface as TestSubject; -use Xpmock\TestCase; +use PHPUnit_Framework_MockObject_MockObject as MockObject; +use PHPUnit\Framework\TestCase; +use Xpmock\TestCaseTrait; /** * Tests {@see TestSubject}. @@ -12,34 +14,19 @@ */ class ModuleExceptionInterfaceTest extends TestCase { - /** - * The name of the test subject. - * - * @since [*next-version*] - */ - const TEST_SUBJECT_CLASSNAME = 'Dhii\Modular\Module\Exception\ModuleExceptionInterface'; + use TestCaseTrait; /** * Creates a new instance of the test subject. * * @since [*next-version*] * - * @return TestSubject + * @return TestSubject|MockObject */ public function createInstance() { - $mock = $this->mock(static::TEST_SUBJECT_CLASSNAME) - ->getMessage() - ->getCode() - ->getPrevious() - ->getFile() - ->getLine() - ->getTrace() - ->getTraceAsString() - ->__toString() - - ->getModule() - ->new(); + $mock = $this->getMockBuilder(TestSubject::class) + ->getMock(); return $mock; } @@ -54,7 +41,7 @@ public function testCanBeCreated() $subject = $this->createInstance(); $this->assertInstanceOf( - static::TEST_SUBJECT_CLASSNAME, + TestSubject::class, $subject, 'A valid instance of the test subject could not be created' ); diff --git a/test/unit/ModuleAwareInterfaceTest.php b/test/unit/ModuleAwareInterfaceTest.php index 55fc52b..5f0e54c 100644 --- a/test/unit/ModuleAwareInterfaceTest.php +++ b/test/unit/ModuleAwareInterfaceTest.php @@ -3,7 +3,9 @@ namespace Dhii\Modular\UnitTest\Module; use Dhii\Modular\Module\ModuleAwareInterface as TestSubject; -use Xpmock\TestCase; +use PHPUnit_Framework_MockObject_MockObject as MockObject; +use PHPUnit\Framework\TestCase; +use Xpmock\TestCaseTrait; /** * Tests {@see TestSubject}. @@ -12,25 +14,19 @@ */ class ModuleAwareInterfaceTest extends TestCase { - /** - * The name of the test subject. - * - * @since [*next-version*] - */ - const TEST_SUBJECT_CLASSNAME = 'Dhii\Modular\Module\ModuleAwareInterface'; + use TestCaseTrait; /** * Creates a new instance of the test subject. * * @since [*next-version*] * - * @return TestSubject + * @return TestSubject|MockObject */ public function createInstance() { - $mock = $this->mock(static::TEST_SUBJECT_CLASSNAME) - ->getModule() - ->new(); + $mock = $this->getMockBuilder(TestSubject::class) + ->getMock(); return $mock; } @@ -45,7 +41,7 @@ public function testCanBeCreated() $subject = $this->createInstance(); $this->assertInstanceOf( - static::TEST_SUBJECT_CLASSNAME, + TestSubject::class, $subject, 'A valid instance of the test subject could not be created' ); diff --git a/test/unit/ModuleInterfaceTest.php b/test/unit/ModuleInterfaceTest.php index 3479fa8..49f48c5 100644 --- a/test/unit/ModuleInterfaceTest.php +++ b/test/unit/ModuleInterfaceTest.php @@ -3,7 +3,9 @@ namespace Dhii\Modular\UnitTest\Module; use Dhii\Modular\Module\ModuleInterface as TestSubject; -use Xpmock\TestCase; +use PHPUnit_Framework_MockObject_MockObject as MockObject; +use PHPUnit\Framework\TestCase; +use Xpmock\TestCaseTrait; /** * Tests {@see TestSubject}. @@ -12,26 +14,19 @@ */ class ModuleInterfaceTest extends TestCase { - /** - * The name of the test subject. - * - * @since [*next-version*] - */ - const TEST_SUBJECT_CLASSNAME = 'Dhii\Modular\Module\ModuleInterface'; + use TestCaseTrait; /** * Creates a new instance of the test subject. * * @since [*next-version*] * - * @return TestSubject + * @return TestSubject|MockObject */ public function createInstance() { - $mock = $this->mock(static::TEST_SUBJECT_CLASSNAME) - ->setup() - ->run() - ->new(); + $mock = $this->getMockBuilder(TestSubject::class) + ->getMock(); return $mock; } @@ -46,7 +41,7 @@ public function testCanBeCreated() $subject = $this->createInstance(); $this->assertInstanceOf( - static::TEST_SUBJECT_CLASSNAME, + TestSubject::class, $subject, 'A valid instance of the test subject could not be created' ); From b0610e107cc574afcdef11ba6441fb8d73fe3e01 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Wed, 6 Nov 2019 11:38:23 +0100 Subject: [PATCH 17/34] No longer depending on XPMock Phew. --- .idea/module-interface.iml | 1 - .idea/php.xml | 2 +- composer.json | 1 - composer.lock | 35 +------------------ .../ModuleExceptionInterfaceTest.php | 3 -- test/unit/ModuleAwareInterfaceTest.php | 3 -- test/unit/ModuleInterfaceTest.php | 3 -- 7 files changed, 2 insertions(+), 46 deletions(-) diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index e52d14b..1a7bc18 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -30,7 +30,6 @@ - diff --git a/.idea/php.xml b/.idea/php.xml index fb47244..3f4996b 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -25,7 +25,6 @@ - @@ -166,6 +165,7 @@ + \ No newline at end of file diff --git a/composer.json b/composer.json index c8f58e4..8741d67 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,6 @@ }, "require-dev": { "phpunit/phpunit": "^6.0", - "ptrofimov/xpmock": "^1.1", "dhii/php-cs-fixer-config": "dev-php-5.3", "codeclimate/php-test-reporter": "<=0.3.2", "dhii/stringable-interface": "^0.1", diff --git a/composer.lock b/composer.lock index 6790c78..ce5a56e 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": "ce85116dfea4b9c08aab16523192b546", + "content-hash": "339aa72d67a872938aad21551a905035", "packages": [ { "name": "dhii/exception-interface", @@ -1284,39 +1284,6 @@ ], "time": "2019-11-01T11:05:21+00:00" }, - { - "name": "ptrofimov/xpmock", - "version": "1.1.5", - "source": { - "type": "git", - "url": "https://github.com/ptrofimov/xpmock.git", - "reference": "5b95ace33624b66bf4e854071b8856722fde515e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ptrofimov/xpmock/zipball/5b95ace33624b66bf4e854071b8856722fde515e", - "reference": "5b95ace33624b66bf4e854071b8856722fde515e", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "psr-0": { - "Xpmock": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPUnit: simple syntax to create mock-objects", - "time": "2014-01-02T16:42:27+00:00" - }, { "name": "satooshi/php-coveralls", "version": "v1.0.2", diff --git a/test/unit/Exception/ModuleExceptionInterfaceTest.php b/test/unit/Exception/ModuleExceptionInterfaceTest.php index fa69ba1..4146152 100644 --- a/test/unit/Exception/ModuleExceptionInterfaceTest.php +++ b/test/unit/Exception/ModuleExceptionInterfaceTest.php @@ -5,7 +5,6 @@ use Dhii\Modular\Module\Exception\ModuleExceptionInterface as TestSubject; use PHPUnit_Framework_MockObject_MockObject as MockObject; use PHPUnit\Framework\TestCase; -use Xpmock\TestCaseTrait; /** * Tests {@see TestSubject}. @@ -14,8 +13,6 @@ */ class ModuleExceptionInterfaceTest extends TestCase { - use TestCaseTrait; - /** * Creates a new instance of the test subject. * diff --git a/test/unit/ModuleAwareInterfaceTest.php b/test/unit/ModuleAwareInterfaceTest.php index 5f0e54c..f3f9b3d 100644 --- a/test/unit/ModuleAwareInterfaceTest.php +++ b/test/unit/ModuleAwareInterfaceTest.php @@ -5,7 +5,6 @@ use Dhii\Modular\Module\ModuleAwareInterface as TestSubject; use PHPUnit_Framework_MockObject_MockObject as MockObject; use PHPUnit\Framework\TestCase; -use Xpmock\TestCaseTrait; /** * Tests {@see TestSubject}. @@ -14,8 +13,6 @@ */ class ModuleAwareInterfaceTest extends TestCase { - use TestCaseTrait; - /** * Creates a new instance of the test subject. * diff --git a/test/unit/ModuleInterfaceTest.php b/test/unit/ModuleInterfaceTest.php index 49f48c5..d2360f6 100644 --- a/test/unit/ModuleInterfaceTest.php +++ b/test/unit/ModuleInterfaceTest.php @@ -5,7 +5,6 @@ use Dhii\Modular\Module\ModuleInterface as TestSubject; use PHPUnit_Framework_MockObject_MockObject as MockObject; use PHPUnit\Framework\TestCase; -use Xpmock\TestCaseTrait; /** * Tests {@see TestSubject}. @@ -14,8 +13,6 @@ */ class ModuleInterfaceTest extends TestCase { - use TestCaseTrait; - /** * Creates a new instance of the test subject. * From 9e74c77bb3eb43ff5ef1d4fb5779a495eb1862aa Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Wed, 6 Nov 2019 11:45:23 +0100 Subject: [PATCH 18/34] No longer depending on Dhii exceptions or stringable --- .idea/module-interface.iml | 2 - .idea/php.xml | 2 - composer.json | 4 +- composer.lock | 95 +--------------------- src/Exception/ModuleExceptionInterface.php | 4 +- 5 files changed, 5 insertions(+), 102 deletions(-) diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index 1a7bc18..e9d9273 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -8,9 +8,7 @@ - - diff --git a/.idea/php.xml b/.idea/php.xml index 3f4996b..f902035 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -7,8 +7,6 @@ - - diff --git a/composer.json b/composer.json index 8741d67..64cc8b8 100644 --- a/composer.json +++ b/composer.json @@ -12,14 +12,12 @@ "prefer-stable": true, "minimum-stability": "dev", "require": { - "php": "^7.0", - "dhii/exception-interface": "^0.1 | ^0.2" + "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.0", "dhii/php-cs-fixer-config": "dev-php-5.3", "codeclimate/php-test-reporter": "<=0.3.2", - "dhii/stringable-interface": "^0.1", "psr/container": "^1.0", "container-interop/service-provider": "^0.4" }, diff --git a/composer.lock b/composer.lock index ce5a56e..e00beb3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,99 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "339aa72d67a872938aad21551a905035", - "packages": [ - { - "name": "dhii/exception-interface", - "version": "v0.2", - "source": { - "type": "git", - "url": "https://github.com/Dhii/exception-interface.git", - "reference": "b69feebf7cb2879cd43977a03342e2393b73f7fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Dhii/exception-interface/zipball/b69feebf7cb2879cd43977a03342e2393b73f7fb", - "reference": "b69feebf7cb2879cd43977a03342e2393b73f7fb", - "shasum": "" - }, - "require": { - "dhii/stringable-interface": "^0.1", - "php": "^5.3 | ^7.0" - }, - "require-dev": { - "codeclimate/php-test-reporter": "<=0.3.2", - "dhii/php-cs-fixer-config": "dev-php-5.3", - "phpunit/phpunit": "^4.8", - "ptrofimov/xpmock": "^1.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Dhii\\Exception\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dhii Team", - "email": "development@dhii.co" - } - ], - "description": "Interfaces for most common exceptions", - "time": "2018-08-29T10:42:04+00:00" - }, - { - "name": "dhii/stringable-interface", - "version": "v0.1", - "source": { - "type": "git", - "url": "https://github.com/Dhii/stringable-interface.git", - "reference": "b6653905eef2ebf377749feb80a6d18abbe913ef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Dhii/stringable-interface/zipball/b6653905eef2ebf377749feb80a6d18abbe913ef", - "reference": "b6653905eef2ebf377749feb80a6d18abbe913ef", - "shasum": "" - }, - "require": { - "php": "^5.3 | ^7.0" - }, - "require-dev": { - "codeclimate/php-test-reporter": "<=0.3.2", - "dhii/php-cs-fixer-config": "dev-php-5.3", - "phpunit/phpunit": "^4.8", - "ptrofimov/xpmock": "^1.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Dhii\\Util\\String\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dhii Team", - "email": "development@dhii.co" - } - ], - "description": "Interoperability interface for objects that can be cast to string", - "time": "2017-01-23T15:08:20+00:00" - } - ], + "content-hash": "ce5f599d3666c3c9db9b787ebed18cb6", + "packages": [], "packages-dev": [ { "name": "codeclimate/php-test-reporter", diff --git a/src/Exception/ModuleExceptionInterface.php b/src/Exception/ModuleExceptionInterface.php index af284f7..632dfe1 100644 --- a/src/Exception/ModuleExceptionInterface.php +++ b/src/Exception/ModuleExceptionInterface.php @@ -3,7 +3,7 @@ namespace Dhii\Modular\Module\Exception; use Dhii\Modular\Module\ModuleAwareInterface; -use Dhii\Exception\ThrowableInterface; +use Throwable; /** * Represents an exception that is thrown in relation to a module. @@ -11,7 +11,7 @@ * @since [*next-version*] */ interface ModuleExceptionInterface extends - ThrowableInterface, + Throwable, ModuleAwareInterface { } From bcb6285b8d0653c53e7685fba1e270ed77f8baf2 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Wed, 6 Nov 2019 12:16:28 +0100 Subject: [PATCH 19/34] Fixed tests Used to fail now that exceptions extend `Throwable` --- .idea/module-interface.iml | 3 +- composer.json | 3 +- ...GetImplementingMockBuilderCapableTrait.php | 46 +++++++++++++++++++ .../ModuleExceptionInterfaceTest.php | 6 ++- 4 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 test/stubs/GetImplementingMockBuilderCapableTrait.php diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index e9d9273..0b1b5fe 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -3,8 +3,9 @@ - + + diff --git a/composer.json b/composer.json index 64cc8b8..710c0a8 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,8 @@ "autoload-dev": { "psr-4": { "Dhii\\Modular\\Module\\UnitTest\\": "test/unit", - "Dhii\\Modular\\Module\\FuncTest\\": "test/functional" + "Dhii\\Modular\\Module\\FuncTest\\": "test/functional", + "Dhii\\Modular\\Module\\Test\\": "test/stubs" } }, "scripts": { diff --git a/test/stubs/GetImplementingMockBuilderCapableTrait.php b/test/stubs/GetImplementingMockBuilderCapableTrait.php new file mode 100644 index 0000000..28c534c --- /dev/null +++ b/test/stubs/GetImplementingMockBuilderCapableTrait.php @@ -0,0 +1,46 @@ +getMockBuilder($className); + } + + /** + * Retrieves a mock builder for the specified classname. + * + * @param string $className + * @return MockBuilder The builder. + */ + abstract public function getMockBuilder($className); +} \ No newline at end of file diff --git a/test/unit/Exception/ModuleExceptionInterfaceTest.php b/test/unit/Exception/ModuleExceptionInterfaceTest.php index 4146152..bde7fbb 100644 --- a/test/unit/Exception/ModuleExceptionInterfaceTest.php +++ b/test/unit/Exception/ModuleExceptionInterfaceTest.php @@ -3,6 +3,7 @@ namespace Dhii\Modular\UnitTest\Exception; use Dhii\Modular\Module\Exception\ModuleExceptionInterface as TestSubject; +use Dhii\Modular\Module\Test\GetImplementingMockBuilderCapableTrait; use PHPUnit_Framework_MockObject_MockObject as MockObject; use PHPUnit\Framework\TestCase; @@ -13,6 +14,8 @@ */ class ModuleExceptionInterfaceTest extends TestCase { + use GetImplementingMockBuilderCapableTrait; + /** * Creates a new instance of the test subject. * @@ -22,7 +25,8 @@ class ModuleExceptionInterfaceTest extends TestCase */ public function createInstance() { - $mock = $this->getMockBuilder(TestSubject::class) + $mock = $this->getImplementingMockBuilder('Exception', [TestSubject::class]) + ->setMethods([]) ->getMock(); return $mock; From 2b47fb3c5156b27b4af67792d6a91468140f5361 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Wed, 6 Nov 2019 12:52:30 +0100 Subject: [PATCH 20/34] Switched to PHP 7.0 compatible coding standard --- composer.json | 2 +- composer.lock | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/composer.json b/composer.json index 53042d2..c06557b 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ }, "require-dev": { "phpunit/phpunit": "^6.0", - "dhii/php-cs-fixer-config": "dev-php-5.3", + "dhii/php-cs-fixer-config": "master", "codeclimate/php-test-reporter": "<=0.3.2", "psr/container": "^1.0", "container-interop/service-provider": "^0.4" diff --git a/composer.lock b/composer.lock index e00beb3..bedb838 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": "ce5f599d3666c3c9db9b787ebed18cb6", + "content-hash": "3a0567368119dab304ce19a8ea44d3ac", "packages": [], "packages-dev": [ { @@ -98,23 +98,24 @@ }, { "name": "dhii/php-cs-fixer-config", - "version": "dev-php-5.3", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/Dhii/php-cs-fixer-config.git", - "reference": "ee3cc6c906a1aa4dca2bcbfcfef684dbd1ebb8ca" + "reference": "fc2f45d1f822bff7d871ba3c4c9750ad66f5ab0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Dhii/php-cs-fixer-config/zipball/ee3cc6c906a1aa4dca2bcbfcfef684dbd1ebb8ca", - "reference": "ee3cc6c906a1aa4dca2bcbfcfef684dbd1ebb8ca", + "url": "https://api.github.com/repos/Dhii/php-cs-fixer-config/zipball/fc2f45d1f822bff7d871ba3c4c9750ad66f5ab0c", + "reference": "fc2f45d1f822bff7d871ba3c4c9750ad66f5ab0c", "shasum": "" }, "require": { "friendsofphp/php-cs-fixer": ">=1.11 <1.12", - "php": "^5.3 | ^7.0" + "php": "^5.4 | ^7.0" }, "require-dev": { + "codeclimate/php-test-reporter": "dev-master", "phpunit/phpunit": "^4.8" }, "type": "library", @@ -134,7 +135,7 @@ } ], "description": "A default PHP CS Fixer config implementation", - "time": "2016-09-03T14:45:03+00:00" + "time": "2017-07-23T12:53:27+00:00" }, { "name": "doctrine/instantiator", @@ -2532,9 +2533,7 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": { - "dhii/php-cs-fixer-config": 20 - }, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { From 8a733346637f915113d5068d57cda0dffb9e8ac0 Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Wed, 6 Nov 2019 14:25:25 +0100 Subject: [PATCH 21/34] Added return type hint to `setup()` method --- src/ModuleInterface.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ModuleInterface.php b/src/ModuleInterface.php index 4f42a42..43a3f1f 100644 --- a/src/ModuleInterface.php +++ b/src/ModuleInterface.php @@ -31,7 +31,7 @@ interface ModuleInterface * * @throws ModuleExceptionInterface If module setup failed and/or a service provider instance could not be returned. */ - public function setup(); + public function setup() : ServiceProviderInterface; /** * Runs the module. From 47d6543a48202a1848d5bbb24f7096ae5f7df844 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Fri, 13 Mar 2020 18:48:45 +0100 Subject: [PATCH 22/34] Build on PHP 7.4 and disallow failure on it --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index a46991c..484844c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,13 +4,12 @@ php: - '7.1' - '7.2' - '7.3' - - '7.4snapshot' + - '7.4' - nightly matrix: allow_failures: - php: nightly - - php: '7.4snapshot' fast_finish: true before_script: From 69989168ac875adf693aaf29b700b851c4c4313c Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Fri, 13 Mar 2020 18:52:51 +0100 Subject: [PATCH 23/34] Update deps --- .idea/module-interface.iml | 2 + .idea/php.xml | 9 ++- composer.lock | 153 ++++++++++++++++++------------------- 3 files changed, 85 insertions(+), 79 deletions(-) diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index 0b1b5fe..7874f6b 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -2,7 +2,9 @@ + + diff --git a/.idea/php.xml b/.idea/php.xml index f902035..2b26539 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -55,6 +55,11 @@ + + + + + @@ -162,8 +167,8 @@ - - + + \ No newline at end of file diff --git a/composer.lock b/composer.lock index bedb838..bf718d5 100644 --- a/composer.lock +++ b/composer.lock @@ -548,16 +548,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.2", + "version": "4.3.4", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", "shasum": "" }, "require": { @@ -569,6 +569,7 @@ "require-dev": { "doctrine/instantiator": "^1.0.5", "mockery/mockery": "^1.0", + "phpdocumentor/type-resolver": "0.4.*", "phpunit/phpunit": "^6.4" }, "type": "library", @@ -595,7 +596,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-09-12T14:27:41+00:00" + "time": "2019-12-28T18:55:12+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -644,33 +645,33 @@ }, { "name": "phpspec/prophecy", - "version": "1.9.0", + "version": "v1.10.3", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" + "reference": "451c3cd1418cf640de218914901e51b064abb093" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", + "reference": "451c3cd1418cf640de218914901e51b064abb093", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" + "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", + "phpspec/phpspec": "^2.5 || ^3.2", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.10.x-dev" } }, "autoload": { @@ -703,7 +704,7 @@ "spy", "stub" ], - "time": "2019-10-03T11:07:50+00:00" + "time": "2020-03-05T15:02:03+00:00" }, { "name": "phpunit/php-code-coverage", @@ -1817,16 +1818,16 @@ }, { "name": "symfony/config", - "version": "v3.4.33", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "c111091db748ed394fd8c3e473a90ad3b80e08ad" + "reference": "03328d6e172ec7384341c622d4c28d350040d021" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/c111091db748ed394fd8c3e473a90ad3b80e08ad", - "reference": "c111091db748ed394fd8c3e473a90ad3b80e08ad", + "url": "https://api.github.com/repos/symfony/config/zipball/03328d6e172ec7384341c622d4c28d350040d021", + "reference": "03328d6e172ec7384341c622d4c28d350040d021", "shasum": "" }, "require": { @@ -1877,20 +1878,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-10-30T12:46:47+00:00" + "time": "2020-02-03T08:11:57+00:00" }, { "name": "symfony/console", - "version": "v3.4.33", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c7edffb26b29cae972ca4afccb610a38ce8d0ccf" + "reference": "6827023c5872bea44b29d145de693b21981cf4cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c7edffb26b29cae972ca4afccb610a38ce8d0ccf", - "reference": "c7edffb26b29cae972ca4afccb610a38ce8d0ccf", + "url": "https://api.github.com/repos/symfony/console/zipball/6827023c5872bea44b29d145de693b21981cf4cd", + "reference": "6827023c5872bea44b29d145de693b21981cf4cd", "shasum": "" }, "require": { @@ -1949,20 +1950,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-10-24T15:33:53+00:00" + "time": "2020-02-15T13:27:16+00:00" }, { "name": "symfony/debug", - "version": "v3.4.33", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086" + "reference": "a99278d50af8a9164219da38d61fb161a7f6e0a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/f72e33fdb1170b326e72c3157f0cd456351dd086", - "reference": "f72e33fdb1170b326e72c3157f0cd456351dd086", + "url": "https://api.github.com/repos/symfony/debug/zipball/a99278d50af8a9164219da38d61fb161a7f6e0a6", + "reference": "a99278d50af8a9164219da38d61fb161a7f6e0a6", "shasum": "" }, "require": { @@ -2005,11 +2006,11 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-10-24T15:33:53+00:00" + "time": "2020-02-03T15:10:40+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v2.8.50", + "version": "v2.8.52", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", @@ -2069,16 +2070,16 @@ }, { "name": "symfony/filesystem", - "version": "v3.4.33", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516" + "reference": "0a0d3b4bda11aa3a0464531c40e681e184e75628" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516", - "reference": "00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/0a0d3b4bda11aa3a0464531c40e681e184e75628", + "reference": "0a0d3b4bda11aa3a0464531c40e681e184e75628", "shasum": "" }, "require": { @@ -2115,20 +2116,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2020-01-17T08:50:08+00:00" }, { "name": "symfony/finder", - "version": "v3.4.33", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "3e915e5ce305f8bc8017597f71f1f4095092ddf8" + "reference": "5ec813ccafa8164ef21757e8c725d3a57da59200" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/3e915e5ce305f8bc8017597f71f1f4095092ddf8", - "reference": "3e915e5ce305f8bc8017597f71f1f4095092ddf8", + "url": "https://api.github.com/repos/symfony/finder/zipball/5ec813ccafa8164ef21757e8c725d3a57da59200", + "reference": "5ec813ccafa8164ef21757e8c725d3a57da59200", "shasum": "" }, "require": { @@ -2164,20 +2165,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-10-30T12:43:22+00:00" + "time": "2020-02-14T07:34:21+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.12.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4" + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", "shasum": "" }, "require": { @@ -2189,7 +2190,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -2222,20 +2223,20 @@ "polyfill", "portable" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.12.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2", + "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2", "shasum": "" }, "require": { @@ -2247,7 +2248,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -2281,20 +2282,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/process", - "version": "v3.4.33", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "c19da50bc3e8fa7d60628fdb4ab5d67de534cf3e" + "reference": "b03b02dcea26ba4c65c16a73bab4f00c186b13da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c19da50bc3e8fa7d60628fdb4ab5d67de534cf3e", - "reference": "c19da50bc3e8fa7d60628fdb4ab5d67de534cf3e", + "url": "https://api.github.com/repos/symfony/process/zipball/b03b02dcea26ba4c65c16a73bab4f00c186b13da", + "reference": "b03b02dcea26ba4c65c16a73bab4f00c186b13da", "shasum": "" }, "require": { @@ -2330,20 +2331,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-10-24T15:33:53+00:00" + "time": "2020-02-04T08:04:52+00:00" }, { "name": "symfony/stopwatch", - "version": "v3.4.33", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "c0c27e38f8accb452f830a4ec8e8ac94b6ec864a" + "reference": "e2d954156d4817c9a5c79f519a71516693a4a9c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c0c27e38f8accb452f830a4ec8e8ac94b6ec864a", - "reference": "c0c27e38f8accb452f830a4ec8e8ac94b6ec864a", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/e2d954156d4817c9a5c79f519a71516693a4a9c8", + "reference": "e2d954156d4817c9a5c79f519a71516693a4a9c8", "shasum": "" }, "require": { @@ -2379,20 +2380,20 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2019-08-06T13:24:37+00:00" + "time": "2020-01-01T11:03:25+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.33", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "dab657db15207879217fc81df4f875947bf68804" + "reference": "bc63e15160866e8730a1f738541b194c401f72bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/dab657db15207879217fc81df4f875947bf68804", - "reference": "dab657db15207879217fc81df4f875947bf68804", + "url": "https://api.github.com/repos/symfony/yaml/zipball/bc63e15160866e8730a1f738541b194c401f72bf", + "reference": "bc63e15160866e8730a1f738541b194c401f72bf", "shasum": "" }, "require": { @@ -2438,7 +2439,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-10-24T15:33:53+00:00" + "time": "2020-01-16T19:04:26+00:00" }, { "name": "theseer/tokenizer", @@ -2482,31 +2483,29 @@ }, { "name": "webmozart/assert", - "version": "1.5.0", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" + "reference": "aed98a490f9a8f78468232db345ab9cf606cf598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", - "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", + "url": "https://api.github.com/repos/webmozart/assert/zipball/aed98a490f9a8f78468232db345ab9cf606cf598", + "reference": "aed98a490f9a8f78468232db345ab9cf606cf598", "shasum": "" }, "require": { "php": "^5.3.3 || ^7.0", "symfony/polyfill-ctype": "^1.8" }, + "conflict": { + "vimeo/psalm": "<3.6.0" + }, "require-dev": { "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -2528,7 +2527,7 @@ "check", "validate" ], - "time": "2019-08-24T08:43:50+00:00" + "time": "2020-02-14T12:15:55+00:00" } ], "aliases": [], From fcd611387181da8dda03066df2809d5fb4514bcc Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Fri, 13 Mar 2020 19:08:56 +0100 Subject: [PATCH 24/34] Remove unused deps and scripts --- .idea/module-interface.iml | 16 - .idea/php.xml | 16 - composer.json | 5 +- composer.lock | 1051 +++--------------------------------- 4 files changed, 62 insertions(+), 1026 deletions(-) diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index 7874f6b..10da6f3 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -8,13 +8,9 @@ - - - - @@ -30,8 +26,6 @@ - - @@ -43,17 +37,7 @@ - - - - - - - - - - diff --git a/.idea/php.xml b/.idea/php.xml index 2b26539..19d091c 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -7,16 +7,12 @@ - - - - @@ -25,26 +21,14 @@ - - - - - - - - - - - - diff --git a/composer.json b/composer.json index c06557b..42d0c14 100644 --- a/composer.json +++ b/composer.json @@ -16,8 +16,6 @@ }, "require-dev": { "phpunit/phpunit": "^6.0", - "dhii/php-cs-fixer-config": "master", - "codeclimate/php-test-reporter": "<=0.3.2", "psr/container": "^1.0", "container-interop/service-provider": "^0.4" }, @@ -34,8 +32,7 @@ } }, "scripts": { - "test": "phpunit", - "csfix": "php-cs-fixer fix -vvv" + "test": "phpunit" }, "extra": { "branch-alias": { diff --git a/composer.lock b/composer.lock index bf718d5..65cd9ce 100644 --- a/composer.lock +++ b/composer.lock @@ -4,67 +4,9 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3a0567368119dab304ce19a8ea44d3ac", + "content-hash": "787216ffc23756eae426d41974f73edb", "packages": [], "packages-dev": [ - { - "name": "codeclimate/php-test-reporter", - "version": "v0.3.2", - "source": { - "type": "git", - "url": "https://github.com/codeclimate/php-test-reporter.git", - "reference": "3a2d3ebdc1df5acf372458c15041af240a6fc016" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/codeclimate/php-test-reporter/zipball/3a2d3ebdc1df5acf372458c15041af240a6fc016", - "reference": "3a2d3ebdc1df5acf372458c15041af240a6fc016", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3", - "satooshi/php-coveralls": "1.0.*", - "symfony/console": ">=2.0" - }, - "require-dev": { - "ext-xdebug": "*", - "phpunit/phpunit": "3.7.*@stable" - }, - "bin": [ - "composer/bin/test-reporter" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3.x-dev" - } - }, - "autoload": { - "psr-0": { - "CodeClimate\\Component": "src/", - "CodeClimate\\Bundle": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Code Climate", - "email": "hello@codeclimate.com", - "homepage": "https://codeclimate.com" - } - ], - "description": "PHP client for reporting test coverage to Code Climate", - "homepage": "https://github.com/codeclimate/php-test-reporter", - "keywords": [ - "codeclimate", - "coverage" - ], - "time": "2016-04-19T16:54:33+00:00" - }, { "name": "container-interop/service-provider", "version": "v0.4.0", @@ -96,47 +38,6 @@ "homepage": "https://github.com/container-interop/service-provider", "time": "2017-09-20T14:13:36+00:00" }, - { - "name": "dhii/php-cs-fixer-config", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/Dhii/php-cs-fixer-config.git", - "reference": "fc2f45d1f822bff7d871ba3c4c9750ad66f5ab0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Dhii/php-cs-fixer-config/zipball/fc2f45d1f822bff7d871ba3c4c9750ad66f5ab0c", - "reference": "fc2f45d1f822bff7d871ba3c4c9750ad66f5ab0c", - "shasum": "" - }, - "require": { - "friendsofphp/php-cs-fixer": ">=1.11 <1.12", - "php": "^5.4 | ^7.0" - }, - "require-dev": { - "codeclimate/php-test-reporter": "dev-master", - "phpunit/phpunit": "^4.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Dhii\\Configuration\\PHPCSFixer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dhii Team", - "email": "development@dhii.co" - } - ], - "description": "A default PHP CS Fixer config implementation", - "time": "2017-07-23T12:53:27+00:00" - }, { "name": "doctrine/instantiator", "version": "1.0.5", @@ -191,160 +92,6 @@ ], "time": "2015-06-14T21:17:01+00:00" }, - { - "name": "friendsofphp/php-cs-fixer", - "version": "v1.11.8", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "117137e9970054d022b7656209f094dab852b90c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/117137e9970054d022b7656209f094dab852b90c", - "reference": "117137e9970054d022b7656209f094dab852b90c", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.6", - "sebastian/diff": "~1.1", - "symfony/console": "~2.3|~3.0", - "symfony/event-dispatcher": "~2.1|~3.0", - "symfony/filesystem": "~2.1|~3.0", - "symfony/finder": "~2.1|~3.0", - "symfony/process": "~2.3|~3.0", - "symfony/stopwatch": "~2.5|~3.0" - }, - "conflict": { - "hhvm": "<3.9" - }, - "require-dev": { - "phpunit/phpunit": "^4.5|^5", - "satooshi/php-coveralls": "^0.7.1" - }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "autoload": { - "psr-4": { - "Symfony\\CS\\": "Symfony/CS/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "A tool to automatically fix PHP code style", - "time": "2016-08-16T23:31:05+00:00" - }, - { - "name": "guzzle/guzzle", - "version": "v3.9.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", - "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.9-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "abandoned": "guzzlehttp/guzzle", - "time": "2015-03-18T18:23:50+00:00" - }, { "name": "myclabs/deep-copy", "version": "1.7.0", @@ -957,16 +704,16 @@ }, { "name": "phpunit/phpunit", - "version": "6.2.4", + "version": "6.5.14", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "ff3a76a58ac293657808aefd58c8aaf05945f4d9" + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ff3a76a58ac293657808aefd58c8aaf05945f4d9", - "reference": "ff3a76a58ac293657808aefd58c8aaf05945f4d9", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7", + "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7", "shasum": "" }, "require": { @@ -975,24 +722,24 @@ "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "^1.3", + "myclabs/deep-copy": "^1.6.1", "phar-io/manifest": "^1.0.1", "phar-io/version": "^1.0", "php": "^7.0", "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^5.2", - "phpunit/php-file-iterator": "^1.4", - "phpunit/php-text-template": "^1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^4.0", - "sebastian/comparator": "^2.0", - "sebastian/diff": "^1.4.3", - "sebastian/environment": "^3.0.2", + "phpunit/php-code-coverage": "^5.3", + "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^1.0.9", + "phpunit/phpunit-mock-objects": "^5.0.9", + "sebastian/comparator": "^2.1", + "sebastian/diff": "^2.0", + "sebastian/environment": "^3.1", "sebastian/exporter": "^3.1", - "sebastian/global-state": "^1.1 || ^2.0", - "sebastian/object-enumerator": "^3.0.2", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", "sebastian/resource-operations": "^1.0", - "sebastian/version": "^2.0" + "sebastian/version": "^2.0.1" }, "conflict": { "phpdocumentor/reflection-docblock": "3.0.2", @@ -1011,7 +758,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.2.x-dev" + "dev-master": "6.5.x-dev" } }, "autoload": { @@ -1037,33 +784,33 @@ "testing", "xunit" ], - "time": "2017-08-03T13:59:28+00:00" + "time": "2019-02-01T05:22:47+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "4.0.4", + "version": "5.0.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "2f789b59ab89669015ad984afa350c4ec577ade0" + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/2f789b59ab89669015ad984afa350c4ec577ade0", - "reference": "2f789b59ab89669015ad984afa350c4ec577ade0", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", + "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.5", "php": "^7.0", "phpunit/php-text-template": "^1.2.1", - "sebastian/exporter": "^3.0" + "sebastian/exporter": "^3.1" }, "conflict": { "phpunit/phpunit": "<6.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^6.5.11" }, "suggest": { "ext-soap": "*" @@ -1071,7 +818,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0.x-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { @@ -1086,7 +833,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -1097,7 +844,7 @@ "xunit" ], "abandoned": true, - "time": "2017-08-03T14:08:16+00:00" + "time": "2018-08-09T05:50:03+00:00" }, { "name": "psr/container", @@ -1148,115 +895,6 @@ ], "time": "2017-02-14T16:28:37+00:00" }, - { - "name": "psr/log", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2019-11-01T11:05:21+00:00" - }, - { - "name": "satooshi/php-coveralls", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-coveralls/php-coveralls.git", - "reference": "9c07b63acbc9709344948b6fd4f63a32b2ef4127" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/9c07b63acbc9709344948b6fd4f63a32b2ef4127", - "reference": "9c07b63acbc9709344948b6fd4f63a32b2ef4127", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-simplexml": "*", - "guzzle/guzzle": "^2.8 || ^3.0", - "php": "^5.3.3 || ^7.0", - "psr/log": "^1.0", - "symfony/config": "^2.1 || ^3.0 || ^4.0", - "symfony/console": "^2.1 || ^3.0 || ^4.0", - "symfony/stopwatch": "^2.0 || ^3.0 || ^4.0", - "symfony/yaml": "^2.0 || ^3.0 || ^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0" - }, - "suggest": { - "symfony/http-kernel": "Allows Symfony integration" - }, - "bin": [ - "bin/coveralls" - ], - "type": "library", - "autoload": { - "psr-4": { - "Satooshi\\": "src/Satooshi/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kitamura Satoshi", - "email": "with.no.parachute@gmail.com", - "homepage": "https://www.facebook.com/satooshi.jp" - } - ], - "description": "PHP client library for Coveralls API", - "homepage": "https://github.com/php-coveralls/php-coveralls", - "keywords": [ - "ci", - "coverage", - "github", - "test" - ], - "abandoned": "php-coveralls/php-coveralls", - "time": "2017-10-14T23:15:34+00:00" - }, { "name": "sebastian/code-unit-reverse-lookup", "version": "1.0.1", @@ -1304,30 +942,30 @@ }, { "name": "sebastian/comparator", - "version": "2.0.0", + "version": "2.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "20f84f468cb67efee293246e6a09619b891f55f0" + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/20f84f468cb67efee293246e6a09619b891f55f0", - "reference": "20f84f468cb67efee293246e6a09619b891f55f0", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", + "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", "shasum": "" }, "require": { "php": "^7.0", - "sebastian/diff": "^1.2", - "sebastian/exporter": "^3.0" + "sebastian/diff": "^2.0 || ^3.0", + "sebastian/exporter": "^3.1" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.1.x-dev" } }, "autoload": { @@ -1358,38 +996,38 @@ } ], "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", + "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ "comparator", "compare", "equality" ], - "time": "2017-03-03T06:26:08+00:00" + "time": "2018-02-01T13:46:46+00:00" }, { "name": "sebastian/diff", - "version": "1.4.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpunit/phpunit": "^6.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -1416,7 +1054,7 @@ "keywords": [ "diff" ], - "time": "2017-05-22T07:24:03+00:00" + "time": "2017-08-03T08:09:46+00:00" }, { "name": "sebastian/environment", @@ -1817,49 +1455,37 @@ "time": "2016-10-03T07:35:21+00:00" }, { - "name": "symfony/config", - "version": "v3.4.38", + "name": "symfony/polyfill-ctype", + "version": "v1.14.0", "source": { "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "03328d6e172ec7384341c622d4c28d350040d021" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/03328d6e172ec7384341c622d4c28d350040d021", - "reference": "03328d6e172ec7384341c622d4c28d350040d021", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/filesystem": "~2.8|~3.0|~4.0", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/dependency-injection": "<3.3", - "symfony/finder": "<3.3" - }, - "require-dev": { - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/event-dispatcher": "~3.3|~4.0", - "symfony/finder": "~3.3|~4.0", - "symfony/yaml": "~3.0|~4.0" + "php": ">=5.3.3" }, "suggest": { - "symfony/yaml": "To use the yaml reference dumper" + "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.14-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Config\\": "" + "Symfony\\Polyfill\\Ctype\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1868,354 +1494,15 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "time": "2020-02-03T08:11:57+00:00" - }, - { - "name": "symfony/console", - "version": "v3.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "6827023c5872bea44b29d145de693b21981cf4cd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6827023c5872bea44b29d145de693b21981cf4cd", - "reference": "6827023c5872bea44b29d145de693b21981cf4cd", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/debug": "~2.8|~3.0|~4.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.3|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.3|~4.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2020-02-15T13:27:16+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "a99278d50af8a9164219da38d61fb161a7f6e0a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/a99278d50af8a9164219da38d61fb161a7f6e0a6", - "reference": "a99278d50af8a9164219da38d61fb161a7f6e0a6", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/http-kernel": "~2.8|~3.0|~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "time": "2020-02-03T15:10:40+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0", - "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2018-11-21T14:20:20+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v3.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "0a0d3b4bda11aa3a0464531c40e681e184e75628" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/0a0d3b4bda11aa3a0464531c40e681e184e75628", - "reference": "0a0d3b4bda11aa3a0464531c40e681e184e75628", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2020-01-17T08:50:08+00:00" - }, - { - "name": "symfony/finder", - "version": "v3.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "5ec813ccafa8164ef21757e8c725d3a57da59200" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/5ec813ccafa8164ef21757e8c725d3a57da59200", - "reference": "5ec813ccafa8164ef21757e8c725d3a57da59200", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2020-02-14T07:34:21+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.14.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", - "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.14-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", @@ -2225,222 +1512,6 @@ ], "time": "2020-01-13T11:15:53+00:00" }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.14.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2", - "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.14-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2020-01-13T11:15:53+00:00" - }, - { - "name": "symfony/process", - "version": "v3.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "b03b02dcea26ba4c65c16a73bab4f00c186b13da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/b03b02dcea26ba4c65c16a73bab4f00c186b13da", - "reference": "b03b02dcea26ba4c65c16a73bab4f00c186b13da", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2020-02-04T08:04:52+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v3.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "e2d954156d4817c9a5c79f519a71516693a4a9c8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/e2d954156d4817c9a5c79f519a71516693a4a9c8", - "reference": "e2d954156d4817c9a5c79f519a71516693a4a9c8", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2020-01-01T11:03:25+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "bc63e15160866e8730a1f738541b194c401f72bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/bc63e15160866e8730a1f738541b194c401f72bf", - "reference": "bc63e15160866e8730a1f738541b194c401f72bf", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/console": "<3.4" - }, - "require-dev": { - "symfony/console": "~3.4|~4.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2020-01-16T19:04:26+00:00" - }, { "name": "theseer/tokenizer", "version": "1.1.3", From 5d7be6685a34656c03f157fd499a70e9ef98a3b0 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Sun, 15 Mar 2020 10:28:29 +0100 Subject: [PATCH 25/34] Correct typo in version constraint --- composer.json | 2 +- composer.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 42d0c14..a46085a 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,7 @@ "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^6.0", + "phpunit/phpunit": "^6.0 | ^7.0", "psr/container": "^1.0", "container-interop/service-provider": "^0.4" }, diff --git a/composer.lock b/composer.lock index 65cd9ce..bb68fb7 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": "787216ffc23756eae426d41974f73edb", + "content-hash": "e835d1bb8cd9527653dcb10b17440826", "packages": [], "packages-dev": [ { From d12074f2c15b3a83ac4e8c1e9ce8c2f7cf80d2cc Mon Sep 17 00:00:00 2001 From: Miguel Muscat Date: Sun, 15 Mar 2020 11:15:35 +0100 Subject: [PATCH 26/34] Requiring PSR container and SP packages --- composer.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index a46085a..3391c3e 100644 --- a/composer.json +++ b/composer.json @@ -12,13 +12,13 @@ "prefer-stable": true, "minimum-stability": "dev", "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0 | ^7.0", + "php": "^7.0", "psr/container": "^1.0", "container-interop/service-provider": "^0.4" }, + "require-dev": { + "phpunit/phpunit": "^6.0 | ^7.0" + }, "autoload": { "psr-4": { "Dhii\\Modular\\Module\\": "src" From e7fe9b580a7811349dbdf2cea6ac218e6e67cd33 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Sun, 15 Mar 2020 19:00:39 +0100 Subject: [PATCH 27/34] Fix obsolete PHPUnit type --- test/stubs/GetImplementingMockBuilderCapableTrait.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/stubs/GetImplementingMockBuilderCapableTrait.php b/test/stubs/GetImplementingMockBuilderCapableTrait.php index 28c534c..128b222 100644 --- a/test/stubs/GetImplementingMockBuilderCapableTrait.php +++ b/test/stubs/GetImplementingMockBuilderCapableTrait.php @@ -2,11 +2,11 @@ namespace Dhii\Modular\Module\Test; +use PHPUnit\Framework\MockObject\MockBuilder; use Throwable; use Exception; use Error; use PHPUnit\Framework\TestCase; -use PHPUnit_Framework_MockObject_MockBuilder as MockBuilder; /** * Eases development of tests by allowing creation of more complex mocks. @@ -42,5 +42,5 @@ public function getImplementingMockBuilder(string $baseClassName, array $interfa * @param string $className * @return MockBuilder The builder. */ - abstract public function getMockBuilder($className); -} \ No newline at end of file + abstract public function getMockBuilder($className): MockBuilder; +} From 8124a32566812e88114b34387946dfcfdf2236c2 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Sun, 15 Mar 2020 19:52:59 +0100 Subject: [PATCH 28/34] Switch to PHP 7.1 --- .idea/module-interface.iml | 1 - .idea/php-test-framework.xml | 2 +- .idea/php.xml | 16 +- .travis.yml | 1 - composer.json | 2 +- composer.lock | 464 ++++++++++++++++------------------- docker/Dockerfile_php | 4 +- 7 files changed, 221 insertions(+), 269 deletions(-) diff --git a/.idea/module-interface.iml b/.idea/module-interface.iml index 10da6f3..f1cc48a 100644 --- a/.idea/module-interface.iml +++ b/.idea/module-interface.iml @@ -24,7 +24,6 @@ - diff --git a/.idea/php-test-framework.xml b/.idea/php-test-framework.xml index 21a7d7a..0852cf9 100644 --- a/.idea/php-test-framework.xml +++ b/.idea/php-test-framework.xml @@ -5,7 +5,7 @@ - + diff --git a/.idea/php.xml b/.idea/php.xml index 19d091c..381f1ed 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -23,7 +23,6 @@ - @@ -48,7 +47,7 @@ - + @@ -61,15 +60,15 @@ - - - /etc/php/7.0/cli/conf.d/10-mysqlnd.ini, /etc/php/7.0/cli/conf.d/10-opcache.ini, /etc/php/7.0/cli/conf.d/10-pdo.ini, /etc/php/7.0/cli/conf.d/15-xml.ini, /etc/php/7.0/cli/conf.d/20-apcu.ini, /etc/php/7.0/cli/conf.d/20-bcmath.ini, /etc/php/7.0/cli/conf.d/20-bz2.ini, /etc/php/7.0/cli/conf.d/20-calendar.ini, /etc/php/7.0/cli/conf.d/20-ctype.ini, /etc/php/7.0/cli/conf.d/20-curl.ini, /etc/php/7.0/cli/conf.d/20-dom.ini, /etc/php/7.0/cli/conf.d/20-exif.ini, /etc/php/7.0/cli/conf.d/20-fileinfo.ini, /etc/php/7.0/cli/conf.d/20-ftp.ini, /etc/php/7.0/cli/conf.d/20-gd.ini, /etc/php/7.0/cli/conf.d/20-geoip.ini, /etc/php/7.0/cli/conf.d/20-gettext.ini, /etc/php/7.0/cli/conf.d/20-iconv.ini, /etc/php/7.0/cli/conf.d/20-igbinary.ini, /etc/php/7.0/cli/conf.d/20-imagick.ini, /etc/php/7.0/cli/conf.d/20-imap.ini, /etc/php/7.0/cli/conf.d/20-intl.ini, /etc/php/7.0/cli/conf.d/20-json.ini, /etc/php/7.0/cli/conf.d/20-ldap.ini, /etc/php/7.0/cli/conf.d/20-mbstring.ini, /etc/php/7.0/cli/conf.d/20-mcrypt.ini, /etc/php/7.0/cli/conf.d/20-mongodb.ini, /etc/php/7.0/cli/conf.d/20-msgpack.ini, /etc/php/7.0/cli/conf.d/20-mysqli.ini, /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.0/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.0/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.0/cli/conf.d/20-pgsql.ini, /etc/php/7.0/cli/conf.d/20-phar.ini, /etc/php/7.0/cli/conf.d/20-posix.ini, /etc/php/7.0/cli/conf.d/20-readline.ini, /etc/php/7.0/cli/conf.d/20-redis.ini, /etc/php/7.0/cli/conf.d/20-shmop.ini, /etc/php/7.0/cli/conf.d/20-simplexml.ini, /etc/php/7.0/cli/conf.d/20-soap.ini, /etc/php/7.0/cli/conf.d/20-sockets.ini, /etc/php/7.0/cli/conf.d/20-sqlite3.ini, /etc/php/7.0/cli/conf.d/20-ssh2.ini, /etc/php/7.0/cli/conf.d/20-sysvmsg.ini, /etc/php/7.0/cli/conf.d/20-sysvsem.ini, /etc/php/7.0/cli/conf.d/20-sysvshm.ini, /etc/php/7.0/cli/conf.d/20-tokenizer.ini, /etc/php/7.0/cli/conf.d/20-wddx.ini, /etc/php/7.0/cli/conf.d/20-xdebug.ini, /etc/php/7.0/cli/conf.d/20-xmlreader.ini, /etc/php/7.0/cli/conf.d/20-xmlrpc.ini, /etc/php/7.0/cli/conf.d/20-xmlwriter.ini, /etc/php/7.0/cli/conf.d/20-xsl.ini, /etc/php/7.0/cli/conf.d/20-zip.ini, /etc/php/7.0/cli/conf.d/25-apcu_bc.ini, /etc/php/7.0/cli/conf.d/25-memcached.ini, /etc/php/7.0/cli/conf.d/999-custom.ini - /etc/php/7.0/cli/php.ini + + + /etc/php/7.1/cli/conf.d/10-mysqlnd.ini, /etc/php/7.1/cli/conf.d/10-opcache.ini, /etc/php/7.1/cli/conf.d/10-pdo.ini, /etc/php/7.1/cli/conf.d/15-xml.ini, /etc/php/7.1/cli/conf.d/20-apcu.ini, /etc/php/7.1/cli/conf.d/20-bcmath.ini, /etc/php/7.1/cli/conf.d/20-bz2.ini, /etc/php/7.1/cli/conf.d/20-calendar.ini, /etc/php/7.1/cli/conf.d/20-ctype.ini, /etc/php/7.1/cli/conf.d/20-curl.ini, /etc/php/7.1/cli/conf.d/20-dom.ini, /etc/php/7.1/cli/conf.d/20-exif.ini, /etc/php/7.1/cli/conf.d/20-fileinfo.ini, /etc/php/7.1/cli/conf.d/20-ftp.ini, /etc/php/7.1/cli/conf.d/20-gd.ini, /etc/php/7.1/cli/conf.d/20-geoip.ini, /etc/php/7.1/cli/conf.d/20-gettext.ini, /etc/php/7.1/cli/conf.d/20-iconv.ini, /etc/php/7.1/cli/conf.d/20-igbinary.ini, /etc/php/7.1/cli/conf.d/20-imagick.ini, /etc/php/7.1/cli/conf.d/20-imap.ini, /etc/php/7.1/cli/conf.d/20-intl.ini, /etc/php/7.1/cli/conf.d/20-json.ini, /etc/php/7.1/cli/conf.d/20-ldap.ini, /etc/php/7.1/cli/conf.d/20-mbstring.ini, /etc/php/7.1/cli/conf.d/20-mcrypt.ini, /etc/php/7.1/cli/conf.d/20-mongodb.ini, /etc/php/7.1/cli/conf.d/20-msgpack.ini, /etc/php/7.1/cli/conf.d/20-mysqli.ini, /etc/php/7.1/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.1/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.1/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.1/cli/conf.d/20-pgsql.ini, /etc/php/7.1/cli/conf.d/20-phar.ini, /etc/php/7.1/cli/conf.d/20-posix.ini, /etc/php/7.1/cli/conf.d/20-readline.ini, /etc/php/7.1/cli/conf.d/20-redis.ini, /etc/php/7.1/cli/conf.d/20-shmop.ini, /etc/php/7.1/cli/conf.d/20-simplexml.ini, /etc/php/7.1/cli/conf.d/20-soap.ini, /etc/php/7.1/cli/conf.d/20-sockets.ini, /etc/php/7.1/cli/conf.d/20-sqlite3.ini, /etc/php/7.1/cli/conf.d/20-ssh2.ini, /etc/php/7.1/cli/conf.d/20-sysvmsg.ini, /etc/php/7.1/cli/conf.d/20-sysvsem.ini, /etc/php/7.1/cli/conf.d/20-sysvshm.ini, /etc/php/7.1/cli/conf.d/20-tokenizer.ini, /etc/php/7.1/cli/conf.d/20-wddx.ini, /etc/php/7.1/cli/conf.d/20-xdebug.ini, /etc/php/7.1/cli/conf.d/20-xmlreader.ini, /etc/php/7.1/cli/conf.d/20-xmlrpc.ini, /etc/php/7.1/cli/conf.d/20-xmlwriter.ini, /etc/php/7.1/cli/conf.d/20-xsl.ini, /etc/php/7.1/cli/conf.d/20-zip.ini, /etc/php/7.1/cli/conf.d/25-apcu_bc.ini, /etc/php/7.1/cli/conf.d/25-memcached.ini, /etc/php/7.1/cli/conf.d/999-custom.ini + /etc/php/7.1/cli/php.ini - + @@ -148,11 +147,10 @@ - + - \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 484844c..ec3545e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: php php: - - '7.0' - '7.1' - '7.2' - '7.3' diff --git a/composer.json b/composer.json index 3391c3e..eac7567 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "prefer-stable": true, "minimum-stability": "dev", "require": { - "php": "^7.0", + "php": "^7.1", "psr/container": "^1.0", "container-interop/service-provider": "^0.4" }, diff --git a/composer.lock b/composer.lock index bb68fb7..5a5626a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,9 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e835d1bb8cd9527653dcb10b17440826", - "packages": [], - "packages-dev": [ + "content-hash": "f870e9a04e6a5595167e21a6ec1938cf", + "packages": [ { "name": "container-interop/service-provider", "version": "v0.4.0", @@ -38,34 +37,87 @@ "homepage": "https://github.com/container-interop/service-provider", "time": "2017-09-20T14:13:36+00:00" }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + } + ], + "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.0.5", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", "shasum": "" }, "require": { - "php": ">=5.3,<8.0-DEV" + "php": "^7.1" }, "require-dev": { - "athletic/athletic": "~0.1.8", + "doctrine/coding-standard": "^6.0", "ext-pdo": "*", "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -85,34 +137,37 @@ } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", "keywords": [ "constructor", "instantiate" ], - "time": "2015-06-14T21:17:01+00:00" + "time": "2019-10-21T16:45:58+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.7.0", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" }, "require-dev": { "doctrine/collections": "^1.0", "doctrine/common": "^2.6", - "phpunit/phpunit": "^4.1" + "phpunit/phpunit": "^7.1" }, "type": "library", "autoload": { @@ -135,26 +190,26 @@ "object", "object graph" ], - "time": "2017-10-19T19:58:43+00:00" + "time": "2020-01-17T21:11:47+00:00" }, { "name": "phar-io/manifest", - "version": "1.0.1", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", - "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^1.0.1", + "phar-io/version": "^2.0", "php": "^5.6 || ^7.0" }, "type": "library", @@ -190,20 +245,20 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2017-03-05T18:14:27+00:00" + "time": "2018-07-08T19:23:20+00:00" }, { "name": "phar-io/version", - "version": "1.0.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", - "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", "shasum": "" }, "require": { @@ -237,39 +292,37 @@ } ], "description": "Library for handling version information and constraints", - "time": "2017-03-05T17:38:23+00:00" + "time": "2018-07-08T19:19:57+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", "shasum": "" }, "require": { - "php": ">=5.5" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^4.6" + "phpunit/phpunit": "~6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -291,7 +344,7 @@ "reflection", "static analysis" ], - "time": "2017-09-11T18:02:19+00:00" + "time": "2018-08-07T13:53:10+00:00" }, { "name": "phpdocumentor/reflection-docblock", @@ -347,30 +400,31 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "0.5.1", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "cf842904952e64e703800d094cdf34e715a8a3ae" + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/cf842904952e64e703800d094cdf34e715a8a3ae", - "reference": "cf842904952e64e703800d094cdf34e715a8a3ae", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", "shasum": "" }, "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0" + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -388,7 +442,8 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-12-30T13:23:38+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" }, { "name": "phpspec/prophecy", @@ -455,40 +510,40 @@ }, { "name": "phpunit/php-code-coverage", - "version": "5.3.2", + "version": "6.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "c89677919c5dd6d3b3852f230a663118762218ac" + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", - "reference": "c89677919c5dd6d3b3852f230a663118762218ac", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", "shasum": "" }, "require": { "ext-dom": "*", "ext-xmlwriter": "*", - "php": "^7.0", - "phpunit/php-file-iterator": "^1.4.2", + "php": "^7.1", + "phpunit/php-file-iterator": "^2.0", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^2.0.1", + "phpunit/php-token-stream": "^3.0", "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.0", + "sebastian/environment": "^3.1 || ^4.0", "sebastian/version": "^2.0.1", "theseer/tokenizer": "^1.1" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^7.0" }, "suggest": { - "ext-xdebug": "^2.5.5" + "ext-xdebug": "^2.6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3.x-dev" + "dev-master": "6.1-dev" } }, "autoload": { @@ -514,29 +569,32 @@ "testing", "xunit" ], - "time": "2018-04-06T15:36:58+00:00" + "time": "2018-10-31T16:06:48+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "1.4.5", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" + "reference": "050bedf145a257b1ff02746c31894800e5122946" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", - "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", + "reference": "050bedf145a257b1ff02746c31894800e5122946", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -551,7 +609,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -561,7 +619,7 @@ "filesystem", "iterator" ], - "time": "2017-11-27T13:52:08+00:00" + "time": "2018-09-13T20:33:42+00:00" }, { "name": "phpunit/php-text-template", @@ -606,28 +664,28 @@ }, { "name": "phpunit/php-timer", - "version": "1.0.9", + "version": "2.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", + "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -642,7 +700,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -651,33 +709,33 @@ "keywords": [ "timer" ], - "time": "2017-02-26T11:10:40+00:00" + "time": "2019-06-07T04:22:29+00:00" }, { "name": "phpunit/php-token-stream", - "version": "2.0.2", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "791198a2c6254db10131eecfe8c06670700904db" + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", - "reference": "791198a2c6254db10131eecfe8c06670700904db", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.2.4" + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -700,57 +758,57 @@ "keywords": [ "tokenizer" ], - "time": "2017-11-27T05:48:46+00:00" + "time": "2019-09-17T06:23:10+00:00" }, { "name": "phpunit/phpunit", - "version": "6.5.14", + "version": "7.5.20", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7" + "reference": "9467db479d1b0487c99733bb1e7944d32deded2c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7", - "reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9467db479d1b0487c99733bb1e7944d32deded2c", + "reference": "9467db479d1b0487c99733bb1e7944d32deded2c", "shasum": "" }, "require": { + "doctrine/instantiator": "^1.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "^1.6.1", - "phar-io/manifest": "^1.0.1", - "phar-io/version": "^1.0", - "php": "^7.0", + "myclabs/deep-copy": "^1.7", + "phar-io/manifest": "^1.0.2", + "phar-io/version": "^2.0", + "php": "^7.1", "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^5.3", - "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-code-coverage": "^6.0.7", + "phpunit/php-file-iterator": "^2.0.1", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^1.0.9", - "phpunit/phpunit-mock-objects": "^5.0.9", - "sebastian/comparator": "^2.1", - "sebastian/diff": "^2.0", - "sebastian/environment": "^3.1", + "phpunit/php-timer": "^2.1", + "sebastian/comparator": "^3.0", + "sebastian/diff": "^3.0", + "sebastian/environment": "^4.0", "sebastian/exporter": "^3.1", "sebastian/global-state": "^2.0", "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^1.0", + "sebastian/resource-operations": "^2.0", "sebastian/version": "^2.0.1" }, "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2", - "phpunit/dbunit": "<3.0" + "phpunit/phpunit-mock-objects": "*" }, "require-dev": { "ext-pdo": "*" }, "suggest": { + "ext-soap": "*", "ext-xdebug": "*", - "phpunit/php-invoker": "^1.1" + "phpunit/php-invoker": "^2.0" }, "bin": [ "phpunit" @@ -758,7 +816,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.5.x-dev" + "dev-master": "7.5-dev" } }, "autoload": { @@ -784,116 +842,7 @@ "testing", "xunit" ], - "time": "2019-02-01T05:22:47+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "5.0.10", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", - "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.5", - "php": "^7.0", - "phpunit/php-text-template": "^1.2.1", - "sebastian/exporter": "^3.1" - }, - "conflict": { - "phpunit/phpunit": "<6.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.5.11" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "abandoned": true, - "time": "2018-08-09T05:50:03+00:00" - }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2017-02-14T16:28:37+00:00" + "time": "2020-01-08T08:45:45+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -942,30 +891,30 @@ }, { "name": "sebastian/comparator", - "version": "2.1.3", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", - "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/diff": "^2.0 || ^3.0", + "php": "^7.1", + "sebastian/diff": "^3.0", "sebastian/exporter": "^3.1" }, "require-dev": { - "phpunit/phpunit": "^6.4" + "phpunit/phpunit": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1002,32 +951,33 @@ "compare", "equality" ], - "time": "2018-02-01T13:46:46+00:00" + "time": "2018-07-12T15:12:46+00:00" }, { "name": "sebastian/diff", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", - "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.2" + "phpunit/phpunit": "^7.5 || ^8.0", + "symfony/process": "^2 || ^3.3 || ^4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1052,34 +1002,40 @@ "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "diff" + "diff", + "udiff", + "unidiff", + "unified diff" ], - "time": "2017-08-03T08:09:46+00:00" + "time": "2019-02-04T06:01:07+00:00" }, { "name": "sebastian/environment", - "version": "3.1.0", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.1" + "phpunit/phpunit": "^7.5" + }, + "suggest": { + "ext-posix": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -1104,7 +1060,7 @@ "environment", "hhvm" ], - "time": "2017-07-01T08:51:00+00:00" + "time": "2019-11-20T08:46:58+00:00" }, { "name": "sebastian/exporter", @@ -1371,25 +1327,25 @@ }, { "name": "sebastian/resource-operations", - "version": "1.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", "shasum": "" }, "require": { - "php": ">=5.6.0" + "php": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -1409,7 +1365,7 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2015-07-28T20:34:47+00:00" + "time": "2018-10-04T04:07:39+00:00" }, { "name": "sebastian/version", @@ -1607,7 +1563,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^7.0" + "php": "^7.1" }, "platform-dev": [] } diff --git a/docker/Dockerfile_php b/docker/Dockerfile_php index 4f9ea27..6602fcf 100644 --- a/docker/Dockerfile_php +++ b/docker/Dockerfile_php @@ -1,6 +1,6 @@ -FROM dockette/php:7.0 +FROM dockette/php:7.1 RUN apt-get update \ && apt-get -y install software-properties-common dirmngr apt-transport-https lsb-release ca-certificates \ && add-apt-repository -y ppa:ondrej/php \ - && apt-get install -y php7.0-xdebug + && apt-get install -y php7.1-xdebug From 02d0b92c144ad7274159c4453903ce1cc97c23ba Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Sun, 15 Mar 2020 19:55:20 +0100 Subject: [PATCH 29/34] Add Composer PHPStorm config --- .idea/workspace.xml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .idea/workspace.xml diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..17c559b --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,9 @@ + + + + $PROJECT_DIR$/composer.json + + + + + \ No newline at end of file From 77e22876022dbbb2975533286d640a6671af9015 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Mon, 16 Mar 2020 10:57:42 +0100 Subject: [PATCH 30/34] Add workspace config to separate changelist This allows it to be tracked separately, making it easier to avoid making changes. --- .idea/workspace.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 17c559b..d9bd5da 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,9 +1,14 @@ + + + + + $PROJECT_DIR$/composer.json - \ No newline at end of file + From 7ddcec2b8daca53fd4086a006ea7c867f5d197dd Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Mon, 16 Mar 2020 11:02:26 +0100 Subject: [PATCH 31/34] Update Readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a7b74c4..f993e7f 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,11 @@ This package contains interfaces that are useful in describing modules and their - [`ModuleInterface`][] - The interface for a module. A module is an object that represents an application fragment. Modules are prepared using `setup()`, which returns a `ServiceProviderInterface` instance that the application may consume, and invoked using `run()`. - + ### Requirements -- PHP: <= 7.0 | < 7.4 +- PHP: 7.1 and up, until 8. - Officially supports at least up to php 7.3.x. Should be compatible with PHP 7.x. + Officially supports at least up to php 7.4.x. [Dhii]: https://github.com/Dhii/dhii From 7ac40f6d7da4d42378b4a9da323e8fc46ce1a0a7 Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Mon, 16 Mar 2020 13:10:53 +0100 Subject: [PATCH 32/34] Further improve readme --- README.md | 279 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 272 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f993e7f..e4f17ff 100644 --- a/README.md +++ b/README.md @@ -4,22 +4,287 @@ [![Code Climate](https://codeclimate.com/github/Dhii/module-interface/badges/gpa.svg)](https://codeclimate.com/github/Dhii/module-interface) [![Test Coverage](https://codeclimate.com/github/Dhii/module-interface/badges/coverage.svg)](https://codeclimate.com/github/Dhii/module-interface/coverage) [![Latest Stable Version](https://poser.pugx.org/dhii/module-interface/version)](https://packagist.org/packages/dhii/module-interface) -[![This package complies with Dhii standards](https://img.shields.io/badge/Dhii-Compliant-green.svg?style=flat-square)][Dhii] ## Details This package contains interfaces that are useful in describing modules and their attributes and behaviour. - -### Interfaces -- [`ModuleInterface`][] - The interface for a module. A module is an object that represents an -application fragment. Modules are prepared using `setup()`, which returns a `ServiceProviderInterface` instance that -the application may consume, and invoked using `run()`. ### Requirements - PHP: 7.1 and up, until 8. Officially supports at least up to php 7.4.x. +### Interfaces +- [`ModuleInterface`][] - The interface for a module. A module is an object that represents an +application fragment. Modules are prepared using `setup()`, which returns a `ServiceProviderInterface` instance that +the application may consume, and invoked using `run()`, consuming the application's DI container. +- [`ModuleAwareInterface`][] - Something that can have a module retrieved. +- [`ModuleExceptionInterface`][] - An exception thrown by a module. + +### Usage +#### Module Package +In your module's pacakge, create a file that returns a module factory. This factory MUST return an instance +of `ModuleInterface` from this pacakge. By convention, this file has +the name `module.php`, and is located in the root directory. Below is a very basic example. In real life, +the service provider and the module will often have named classes of their own, and factories and extensions +will be located in `services.php` and `extensions.php` respectively, by convention. + +```php +// module.php +use Dhii\Modular\Module\ModuleInterface; +use Interop\Container\ServiceProviderInterface; +use Psr\Container\ContainerInterface; + +return function () { + return new class () implements ModuleInterface { + + /** + * Declares services of this module. + * + * @return ServiceProviderInterface The service provider with the factories and extensions of this module. + */ + public function setup() : ServiceProviderInterface + { + return new class () implements ServiceProviderInterface + { + /** + * Only the factory of the last module in load order is applied. + * + * @return array|callable[] A map of service names to service definitions. + */ + public function getFactories() + { + return [ + // A factory always gets one parameter: the container. + 'my_module/my_service' => function (ContainerInterface $c) { + // Create and return your service instance + return new MyService(); + }, + ]; + } + + /** + * All extensions are always applied, in load order. + * + * @return array|callable[] A map of service names to extensions. + */ + public function getExtensions() + { + return [ + // An extension gets an additional parameter: + // the value returned by the factory or the previously applied extensions. + 'other_module/other_service' => function ( + ContainerInterface $c, + OtherServiceInterface $previous + ): OtherServiceInterface { + // Perhaps decorate $previous and return the decorator + return new MyDecorator($previous); + }, + ]; + } + }; + } + + /** + * Consumes services of this and other modules. + * + * @param ContainerInterface $c A container with the services of all modules. + */ + public function run(ContainerInterface $c) + { + $myService = $c->get('my_module/my_service'); + $myService->doSomething(); + } + }; +}; +``` + +In the above example, the module declares a service `my_module/my_service`, and an extension +for the `other_module/other_service`, which may be found in another module. Note that by convention, +the service name contains the module name prefix, separated by forward slash `/`. It's possible +to further "nest" services by adding slash-separated "levels". In the future, some container +implementations will add benefits for modules that use this convention. + +Applications would often need the ability to do something with the arbitrary set of +modules they require. In order for an application to be able to group all modules +together, declare the package type in your `composer.json` to be `dhii-mod` by convention. +Following this convention would allow all modules written by all authors to be treated +uniformly. + +```json +{ + "name": "me/my_module", + "type": "dhii-mod" +} +``` + +What's important here: + +1. A module's `setup()` method should not cause side effects. + + The setup method is intended for the modules to prepare for action. Modules should not actually + peform the actions during this method. The container is not available in this method, and therefore + the module cannot use any services, whether of itself or of other modules, in this method. Do not + try to make the module use its own services here. + +2. Implement the correct interfaces. + + A module MUST implement `ModuleInterface`. The module's `setup()` method MUST return `ServiceProviderInterface`. + Even though the [Service Provider][`container-interop/service-provider`] standard is experimental, and has been experimental for a long time, the + module standard relies heavily on it. If the module standard becomes ubiquitous, this could push + FIG to go forward with the Service Provider standard, hopefully making it into a PSR. + +3. Observe conventions. + + It is important that conventions outlined here are observed. Some are necessary for smooth operation of + modules and/or consuming applications. Some others may not make a difference right now, but could + add benefits in the future. Please observe these conventions to ensure an optimal experience + for yourself and for other users of the standard. + +#### Consumer Package +##### Module Installation +The package that consumes modules, which is usually the application, would need to require the modules. +The below example uses the [`oomphinc/composer-installers-extender`][] lib to configure Composer +so that it installs all `dhii-mod` packages into the `modules` directory in the application root. +Packages `me/my_module` and `me/my_other_module` would therefore go into `modules/me/my_module` and +`modules/me/my_other_module` respectively. + +```json +{ + "name": "me/my_app", + "require": { + "me/my_module": "^0.1", + "me/my_other_module": "^0.1", + "oomphinc/composer-installers-extender": "^1.1" + }, + + "extra": { + "installer-types": ["dhii-mod"], + "installer-paths": { + "modules/{$vendor}/{$name}": ["type:dhii-mod"] + } + } +} +``` + +##### Module Loading +Once a module has been required, it must be loaded. Module files must be explicitly loaded by the +application, because the application is what determines module load order. The load order is +the fundamental principle that allows modules to extend and override each other's services +in a simple and intuitive way: + +1. Factories in modules that are loaded later will completely override factories of modules loaded earlier. + + Ultimately, for each service, only one factory will be used: the one declared last. So if `my_other_module` + is loaded after `my_module`, and it declares a service `my_module/my_service`, + then it will override the `my_module/my_service` service declared by `my_module`. + In short: **last factory wins**. + +2. Extensions in modules that are loaded later will be applied after extensions of modules loaded earlier. + + Ultimately, extensions from _all_ modules will be applied on top of what is returned by the factory. + So if `my_other_module` declares an extension `other_module/other_service`, it will be applied after + the extension `other_module/other_service` declared by `my_module`. + In short: **later extensions extend previous extensions**. + +Continuing from the examples above, if something in the application requests the service `other_module/other_service` +declared by `my_other_module`, this is what is going to happen: + +1. The factory in `my_other_module` is invoked. +2. The extension in `my_module` is invoked, and receives the result of the above factory as `$previous`. +3. The extension in `my_other_module` is invoked, and receives the result of the above extension as `$previous` +4. The caller of `get('other_module/other_service')` receives the result of the above extension. + +Thus, any module can override and/or extend services from any other module. Below is an example of what +an application's bootstrap code could look like. This example uses classes from [`dhii/containers`][]. + +```php +// bootstrap.php + +use Dhii\Modular\Module\ModuleInterface; +use Interop\Container\ServiceProviderInterface; +use Dhii\Container\CompositeCachingServiceProvider; +use Dhii\Container\DelegatingContainer; +use Dhii\Container\CachingContainer; + +(function ($file) { + $baseDir = dirname($file); + $modulesDir = "$baseDir/modules"; + + // Order is important! + $moduleNames = [ + 'me/my_module', + 'me/my_other_module', + ]; + + // Create and load all modules + /* @var $modules ModuleInterface[] */ + $modules = []; + foreach ($moduleNames as $moduleName) { + $moduleFactory = require_once("$modulesDir/$moduleName/module.php"); + $module = $moduleFactory(); + $modules[$moduleName] = $module; + } + + // Retrieve all modules' service providers + /* @var $providers ServiceProviderInterface[] */ + $providers = []; + foreach ($modules as $module) { + $providers[] = $module->setup(); + } + + // Group all service providers into one + $provider = new CompositeCachingServiceProvider(); + $container = new CachingContainer(new DelegatingContainer($provider, $parentContainer = null)); + + // Run all modules + foreach ($modules as $module) { + $module->run($container); + } +})(__FILE__); +``` + +The above will load, setup, and run modules `me/my_module` and `me/my_other_module`, in that order, +from the `modules` directory, provided that conventions have been followed by those modules. +What's important to note here: + +1. First _all_ modules are set up, and then _all_ modules are run. + + If you set up and run modules in the same step, it will not work, because the bootstrap + will not have the opportunity to configure the application's DI container with services + from all modules. + +2. The `CompositeCachingServiceProvider` is what is responsible for resolving services correctly. + + This relieves the application, as the process can seem complicated, and is quite re-usable. + The usage of this class is recommended. + +3. The `DelegatingContainer` optionally accepts a parent container. + + If your application is a module itself, and needs to be part of a larger application with its + own DI container, supply it as the 2nd parameter. This will ensure that services will always + be retrieved from the top-most container, regardless of where the definition is declared. + +4. The `CachingContainer` ensures services are cached. + + Effectively, this means that all services are singletons, i.e. there will only be one instance + of each service in the application. This is most commonly the desired behaviour. Without the + `CachingContainer`, i.e. with just the `DelegatingContainer`, service definitions will get + invoked every time `get()` is called, which is usually undesirable. + +5. Conventions are important. + + If modules did not place the `module.php` file into their root directories, the bootstrap + would not be able to load each module by just its package name. Modules which do not + follow that convention must have their `module.php` file loaded separately, which would + make the bootstrap code more complicated. + [Dhii]: https://github.com/Dhii/dhii -[`ModuleInterface`]: src/ModuleInterface.php +[`dhii/containers`]: https://packagist.org/packages/dhii/containers +[`oomphinc/composer-installers-extender`]: https://packagist.org/packages/oomphinc/composer-installers-extender +[`container-interop/service-provider`]: https://packagist.org/packages/container-interop/service-provider + +[`ModuleInterface`]: src/ModuleInterface.php +[`ModuleAwareInterface`]: src/ModuleAwareInterface.php +[`ModuleExceptionInterface`]: src/Exception/ModuleExceptionInterface.php From 9b6571ce619d093cf95d427183c0c36cc3783ccf Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Tue, 17 Mar 2020 14:04:30 +0100 Subject: [PATCH 33/34] Type improvements --- test/unit/Exception/ModuleExceptionInterfaceTest.php | 10 ++++++---- test/unit/ModuleAwareInterfaceTest.php | 2 +- test/unit/ModuleInterfaceTest.php | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/test/unit/Exception/ModuleExceptionInterfaceTest.php b/test/unit/Exception/ModuleExceptionInterfaceTest.php index bde7fbb..3af475e 100644 --- a/test/unit/Exception/ModuleExceptionInterfaceTest.php +++ b/test/unit/Exception/ModuleExceptionInterfaceTest.php @@ -3,8 +3,10 @@ namespace Dhii\Modular\UnitTest\Exception; use Dhii\Modular\Module\Exception\ModuleExceptionInterface as TestSubject; +use Dhii\Modular\Module\ModuleAwareInterface; use Dhii\Modular\Module\Test\GetImplementingMockBuilderCapableTrait; -use PHPUnit_Framework_MockObject_MockObject as MockObject; +use Exception; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** @@ -21,11 +23,11 @@ class ModuleExceptionInterfaceTest extends TestCase * * @since [*next-version*] * - * @return TestSubject|MockObject + * @return TestSubject&MockObject */ public function createInstance() { - $mock = $this->getImplementingMockBuilder('Exception', [TestSubject::class]) + $mock = $this->getImplementingMockBuilder(Exception::class, [TestSubject::class]) ->setMethods([]) ->getMock(); @@ -48,7 +50,7 @@ public function testCanBeCreated() ); $this->assertInstanceOf( - 'Dhii\Modular\Module\ModuleAwareInterface', + ModuleAwareInterface::class, $subject, 'Subject does not implement required interface' ); diff --git a/test/unit/ModuleAwareInterfaceTest.php b/test/unit/ModuleAwareInterfaceTest.php index f3f9b3d..d8aae4a 100644 --- a/test/unit/ModuleAwareInterfaceTest.php +++ b/test/unit/ModuleAwareInterfaceTest.php @@ -18,7 +18,7 @@ class ModuleAwareInterfaceTest extends TestCase * * @since [*next-version*] * - * @return TestSubject|MockObject + * @return TestSubject&MockObject */ public function createInstance() { diff --git a/test/unit/ModuleInterfaceTest.php b/test/unit/ModuleInterfaceTest.php index d2360f6..9f312a8 100644 --- a/test/unit/ModuleInterfaceTest.php +++ b/test/unit/ModuleInterfaceTest.php @@ -3,7 +3,7 @@ namespace Dhii\Modular\UnitTest\Module; use Dhii\Modular\Module\ModuleInterface as TestSubject; -use PHPUnit_Framework_MockObject_MockObject as MockObject; +use PHPUnit\Framework\MockObject\MockObject as MockObject; use PHPUnit\Framework\TestCase; /** @@ -18,7 +18,7 @@ class ModuleInterfaceTest extends TestCase * * @since [*next-version*] * - * @return TestSubject|MockObject + * @return TestSubject&MockObject */ public function createInstance() { From 2236f9508e2df8471eb9642acdb4ed21262cc2af Mon Sep 17 00:00:00 2001 From: Anton Ukhanev Date: Tue, 17 Mar 2020 14:26:38 +0100 Subject: [PATCH 34/34] Now testing if exception is throwable --- test/unit/Exception/ModuleExceptionInterfaceTest.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/unit/Exception/ModuleExceptionInterfaceTest.php b/test/unit/Exception/ModuleExceptionInterfaceTest.php index 3af475e..b72b8d7 100644 --- a/test/unit/Exception/ModuleExceptionInterfaceTest.php +++ b/test/unit/Exception/ModuleExceptionInterfaceTest.php @@ -49,6 +49,12 @@ public function testCanBeCreated() 'A valid instance of the test subject could not be created' ); + $this->assertInstanceOf( + 'Throwable', + $subject, + 'Exception must be throwable' + ); + $this->assertInstanceOf( ModuleAwareInterface::class, $subject,